diff --git a/CMakeLists.txt b/CMakeLists.txt index f3ac5a3b..994504f4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -9,8 +9,6 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin) if(MSVC) add_definitions(-D_CRT_SECURE_NO_WARNINGS -W4) -else() - add_definitions(-Wall) endif() add_subdirectory(src) diff --git a/include/ArduinoJson/Internals/JsonNode.hpp b/include/ArduinoJson/Internals/JsonNode.hpp index dae15db4..dd81bfff 100644 --- a/include/ArduinoJson/Internals/JsonNode.hpp +++ b/include/ArduinoJson/Internals/JsonNode.hpp @@ -23,7 +23,7 @@ namespace ArduinoJson JSON_PROXY, JSON_DOUBLE_0_DECIMALS, JSON_DOUBLE_1_DECIMAL, - JSON_DOUBLE_2_DECIMALS, + JSON_DOUBLE_2_DECIMALS // etc. }; diff --git a/include/ArduinoJson/Internals/JsonNodeIterator.hpp b/include/ArduinoJson/Internals/JsonNodeIterator.hpp index 7ca540d4..c0ff4b44 100644 --- a/include/ArduinoJson/Internals/JsonNodeIterator.hpp +++ b/include/ArduinoJson/Internals/JsonNodeIterator.hpp @@ -12,32 +12,32 @@ namespace ArduinoJson public: explicit JsonNodeIterator(JsonNode* node) - : node(node) + : _node(node) { } bool operator!= (const JsonNodeIterator& other) const { - return node != other.node; + return _node != other._node; } void operator++() { - node = node->next; + _node = _node->next; } JsonNode* operator*() const { - return node; + return _node; } JsonNode* operator->() const { - return node; + return _node; } private: - JsonNode* node; + JsonNode* _node; }; } } diff --git a/include/ArduinoJson/JsonArray.hpp b/include/ArduinoJson/JsonArray.hpp index a092ae47..65f00fb9 100644 --- a/include/ArduinoJson/JsonArray.hpp +++ b/include/ArduinoJson/JsonArray.hpp @@ -22,7 +22,7 @@ namespace ArduinoJson void add(bool value); void add(const char* value); void add(double value, int decimals=2); - void add(int value) { add((long) value); } + void add(int value) { add(static_cast(value)); } void add(long value); void add(JsonContainer nestedArray); // TODO: should allow JsonValue too diff --git a/src/Arduino/Print.cpp b/src/Arduino/Print.cpp index 03b5429c..2ca75e6b 100644 --- a/src/Arduino/Print.cpp +++ b/src/Arduino/Print.cpp @@ -21,7 +21,7 @@ size_t Print::print(const char s[]) size_t Print::print(double value, int digits) { char tmp[32]; - sprintf(tmp, "%.*lg", digits+1, value); + sprintf(tmp, "%.*g", digits+1, value); return print(tmp); } diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 3a140591..c8f42666 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -3,4 +3,32 @@ file(GLOB_RECURSE SRC_FILES *.cpp) include_directories(../include) +if(CMAKE_COMPILER_IS_GNUCXX) + add_definitions( + -Wall + -Wcast-align + -Wcast-qual + -Wctor-dtor-privacy + -Wdisabled-optimization + -Wextra + -Wformat=2 + -Winit-self + -Wlogical-op + -Wmissing-include-dirs + -Wno-parentheses + -Wno-unused + -Wno-variadic-macros + -Wnoexcept + -Wold-style-cast + -Woverloaded-virtual + -Wpedantic + -Wredundant-decls + -Wshadow + -Wsign-promo + -Wstrict-null-sentinel + -Wstrict-overflow=5 + -Wundef + ) +endif() + add_library(ArduinoJson ${SRC_FILES} ${INC_FILES}) \ No newline at end of file diff --git a/src/JsonContainer.cpp b/src/JsonContainer.cpp index 587c7dbe..a76118c0 100644 --- a/src/JsonContainer.cpp +++ b/src/JsonContainer.cpp @@ -71,13 +71,13 @@ void JsonContainer::removeChild(JsonNode* childToRemove) size_t JsonContainer::size() const { - int size = 0; + int n = 0; for (JsonNodeIterator it = beginChildren(); it != endChildren(); ++it) { - size++; + n++; } - return size; + return n; }