diff options
author | Gil <mcg@google.com> | 2018-01-16 10:17:27 -0800 |
---|---|---|
committer | zxu <zxu@google.com> | 2018-01-16 13:17:27 -0500 |
commit | df71c9ad8c2751672b8ae85915cc7f74f3db08c8 (patch) | |
tree | a9ff559e2f3190279d1442a6e3217a77c2e916d8 /Firestore | |
parent | 2700198d93647da858714d3d80fe2b66fe4aac54 (diff) |
Enable warnings in the CMake build (#669)
* Enable warnings when building with GCC or clang
* Fix warnings
Diffstat (limited to 'Firestore')
4 files changed, 16 insertions, 30 deletions
diff --git a/Firestore/CMakeLists.txt b/Firestore/CMakeLists.txt index 4e009e0..553f59c 100644 --- a/Firestore/CMakeLists.txt +++ b/Firestore/CMakeLists.txt @@ -36,27 +36,12 @@ if(APPLE) find_package(FirebaseCore REQUIRED) endif() -# We use C++11 -set(CMAKE_CXX_STANDARD 11) -set(CMAKE_CXX_STANDARD_REQUIRED ON) -set(CMAKE_CXX_EXTENSIONS OFF) +enable_testing() +add_subdirectory(third_party/abseil-cpp) + +include(CompilerSetup) # Fully qualified imports, project wide include_directories(${FIREBASE_SOURCE_DIR}) -if(APPLE) - # CMake has no special support for Objective-C as a distinct language but enabling modules and - # other clang extensions would apply even to regular C++ sources which is nonportable. Keep these - # flags separate to avoid misuse. - set( - OBJC_FLAGS - -fobjc-arc - -fmodules - -fno-autolink - -F${FIREBASE_INSTALL_DIR}/Frameworks - ) -endif(APPLE) - -enable_testing() -add_subdirectory(third_party/abseil-cpp) add_subdirectory(core) diff --git a/Firestore/core/src/firebase/firestore/util/string_printf.cc b/Firestore/core/src/firebase/firestore/util/string_printf.cc index 60cc564..9c4e31c 100644 --- a/Firestore/core/src/firebase/firestore/util/string_printf.cc +++ b/Firestore/core/src/firebase/firestore/util/string_printf.cc @@ -38,7 +38,7 @@ void StringAppendV(std::string* dst, const char* format, va_list ap) { if (result < kSpaceLength) { if (result >= 0) { // Normal case -- everything fit. - dst->append(space, result); + dst->append(space, static_cast<size_t>(result)); return; } @@ -49,28 +49,29 @@ void StringAppendV(std::string* dst, const char* format, va_list ap) { result = vsnprintf(nullptr, 0, format, backup_ap); va_end(backup_ap); #endif + } - if (result < 0) { - // Just an error. - return; - } + if (result < 0) { + // Just an error. + return; } + size_t result_size = static_cast<size_t>(result); // Increase the buffer size to the size requested by vsnprintf, // plus one for the closing \0. size_t initial_size = dst->size(); - size_t target_size = initial_size + result; + size_t target_size = initial_size + result_size; dst->resize(target_size + 1); char* buf = &(*dst)[initial_size]; - int buf_remain = result + 1; + size_t buf_remain = result_size + 1; // Restore the va_list before we use it again va_copy(backup_ap, ap); result = vsnprintf(buf, buf_remain, format, backup_ap); va_end(backup_ap); - if (result >= 0 && result < buf_remain) { + if (result >= 0 && static_cast<size_t>(result) < buf_remain) { // It fit and vsnprintf copied in directly. Resize down one to // remove the trailing \0. dst->resize(target_size); diff --git a/Firestore/core/test/firebase/firestore/util/autoid_test.cc b/Firestore/core/test/firebase/firestore/util/autoid_test.cc index e55a8e9..079b990 100644 --- a/Firestore/core/test/firebase/firestore/util/autoid_test.cc +++ b/Firestore/core/test/firebase/firestore/util/autoid_test.cc @@ -25,8 +25,8 @@ using firebase::firestore::util::CreateAutoId; TEST(AutoId, IsSane) { for (int i = 0; i < 50; i++) { std::string auto_id = CreateAutoId(); - EXPECT_EQ(20, auto_id.length()); - for (int pos = 0; pos < 20; pos++) { + EXPECT_EQ(20u, auto_id.length()); + for (size_t pos = 0; pos < 20; pos++) { char c = auto_id[pos]; EXPECT_TRUE(isalpha(c) || isdigit(c)) << "Should be printable ascii character: '" << c << "' in \"" diff --git a/Firestore/core/test/firebase/firestore/util/string_printf_test.cc b/Firestore/core/test/firebase/firestore/util/string_printf_test.cc index 76f7cde..085be84 100644 --- a/Firestore/core/test/firebase/firestore/util/string_printf_test.cc +++ b/Firestore/core/test/firebase/firestore/util/string_printf_test.cc @@ -64,7 +64,7 @@ TEST(StringPrintf, DontOverwriteErrno) { TEST(StringPrintf, LargeBuf) { // Check that the large buffer is handled correctly. - int n = 2048; + size_t n = 2048; char* buf = new char[n + 1]; memset(buf, ' ', n); buf[n] = 0; |