fix gcc warnings
authorChristopher Dunn <cdunn2001@gmail.com>
Sat, 24 Jan 2015 19:42:37 +0000 (13:42 -0600)
committerChristopher Dunn <cdunn2001@gmail.com>
Sat, 24 Jan 2015 19:42:37 +0000 (13:42 -0600)
CMakeLists.txt
include/json/value.h
src/lib_json/json_value.cpp
src/test_lib_json/jsontest.cpp
src/test_lib_json/jsontest.h

index a8558a3..96219e2 100644 (file)
@@ -85,10 +85,10 @@ endif( MSVC )
 
 if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
   # using regular Clang or AppleClang
-  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -std=c++11")
+  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall")
 elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
   # using GCC
-  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -std=c++0x")
+  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x -Wall -Wextra -Wpedantic")
 endif()
 
 IF(JSONCPP_WITH_WARNING_AS_ERROR)
index b7ac2ad..b274688 100644 (file)
@@ -505,10 +505,10 @@ private:
 #endif
   } value_;
   ValueType type_ : 8;
-  int allocated_ : 1; // Notes: if declared as bool, bitfield is useless.
+  unsigned int allocated_ : 1; // Notes: if declared as bool, bitfield is useless.
 #ifdef JSON_VALUE_USE_INTERNAL_MAP
   unsigned int itemIsUsed_ : 1; // used by the ValueInternalMap container.
-  int memberNameIsStatic_ : 1;  // used by the ValueInternalMap container.
+  unsigned int memberNameIsStatic_ : 1;  // used by the ValueInternalMap container.
 #endif
   CommentInfo* comments_;
 
index d646055..1a1c763 100644 (file)
@@ -340,7 +340,7 @@ Value::Value(const Value& other)
   case stringValue:
     if (other.value_.string_) {
       value_.string_ = duplicateStringValue(other.value_.string_);
-      allocated_ |= true;
+      allocated_ = true;
     } else {
       value_.string_ = 0;
       allocated_ = false;
index ef9c543..bd9463f 100644 (file)
@@ -323,7 +323,7 @@ void Runner::listTests() const {
 }
 
 int Runner::runCommandLine(int argc, const char* argv[]) const {
-  typedef std::deque<std::string> TestNames;
+  // typedef std::deque<std::string> TestNames;
   Runner subrunner;
   for (int index = 1; index < argc; ++index) {
     std::string opt = argv[index];
index 5c56a40..cf1ef6b 100644 (file)
@@ -214,7 +214,7 @@ TestResult& checkStringEqual(TestResult& result,
 #define JSONTEST_ASSERT_PRED(expr)                                             \
   {                                                                            \
     JsonTest::PredicateContext _minitest_Context = {                           \
-      result_->predicateId_, __FILE__, __LINE__, #expr                         \
+      result_->predicateId_, __FILE__, __LINE__, #expr, nullptr, nullptr       \
     };                                                                         \
     result_->predicateStackTail_->next_ = &_minitest_Context;                  \
     result_->predicateId_ += 1;                                                \