Compare commits

..

6 Commits

9 changed files with 90 additions and 42 deletions

View File

@ -46,30 +46,30 @@ matrix:
env: SCRIPT=cmake CMAKE_CXX_COMPILER=g++-5
- compiler: clang
env: SCRIPT=cmake CMAKE_CXX_COMPILER=clang++
- compiler: clang
addons:
apt:
sources: ['ubuntu-toolchain-r-test','llvm-toolchain-precise-3.5']
packages: ['clang-3.5']
env: SCRIPT=cmake CMAKE_CXX_COMPILER=clang++-3.5
- compiler: clang
addons:
apt:
sources: ['ubuntu-toolchain-r-test','llvm-toolchain-precise-3.6']
packages: ['clang-3.6']
env: SCRIPT=cmake CMAKE_CXX_COMPILER=clang++-3.6
- compiler: clang
addons:
apt:
sources: ['ubuntu-toolchain-r-test','llvm-toolchain-precise-3.7']
packages: ['clang-3.7']
env: SCRIPT=cmake CMAKE_CXX_COMPILER=clang++-3.7
- compiler: clang
addons:
apt:
sources: ['ubuntu-toolchain-r-test','llvm-toolchain-precise-3.8']
packages: ['clang-3.8']
env: SCRIPT=cmake CMAKE_CXX_COMPILER=clang++-3.8
# - compiler: clang
# addons:
# apt:
# sources: ['ubuntu-toolchain-r-test','llvm-toolchain-precise-3.5']
# packages: ['clang-3.5']
# env: SCRIPT=cmake CMAKE_CXX_COMPILER=clang++-3.5
# - compiler: clang
# addons:
# apt:
# sources: ['ubuntu-toolchain-r-test','llvm-toolchain-precise-3.6']
# packages: ['clang-3.6']
# env: SCRIPT=cmake CMAKE_CXX_COMPILER=clang++-3.6
# - compiler: clang
# addons:
# apt:
# sources: ['ubuntu-toolchain-r-test','llvm-toolchain-precise-3.7']
# packages: ['clang-3.7']
# env: SCRIPT=cmake CMAKE_CXX_COMPILER=clang++-3.7
# - compiler: clang
# addons:
# apt:
# sources: ['ubuntu-toolchain-r-test','llvm-toolchain-precise-3.8']
# packages: ['clang-3.8']
# env: SCRIPT=cmake CMAKE_CXX_COMPILER=clang++-3.8
- compiler: gcc
env: SCRIPT=coverage
- os: osx
@ -107,6 +107,7 @@ matrix:
- env: SCRIPT=arduino VERSION=1.5.8 BOARD=arduino:avr:uno
- env: SCRIPT=arduino VERSION=1.6.7 BOARD=arduino:avr:uno
- env: SCRIPT=arduino VERSION=1.6.8 BOARD=arduino:avr:uno
- env: SCRIPT=arduino VERSION=1.6.9 BOARD=arduino:avr:uno
- env: SCRIPT=platformio BOARD=uno
- env: SCRIPT=platformio BOARD=due
- env: SCRIPT=platformio BOARD=esp01

View File

@ -1,6 +1,11 @@
ArduinoJson: change log
=======================
v5.5.1
------
* Fixed compilation error with Intel Galileo (issue #299)
v5.5.0
------

View File

@ -28,7 +28,7 @@ Works on
* All Arduino boards (Uno, Due, Mini, Micro, Yun...)
* ESP8266
* Teensy
* Intel Edison
* Intel Edison and Galileo
* PlatformIO
* Energia
* RedBearLab boards (BLE Nano...)
@ -121,6 +121,8 @@ Special thanks to the following persons and companies who made generous donation
* Charles-Henri Hallard <img alt='France' src='https://cdnjs.cloudflare.com/ajax/libs/emojione/2.1.4/assets/svg/1f1eb-1f1f7.svg' width='18' height='18'>
* Martijn van den Burg <img alt='Netherlands' src='https://cdnjs.cloudflare.com/ajax/libs/emojione/2.1.4/assets/svg/1f1f3-1f1f1.svg' width='18' height='18'>
* Nick Koumaris <img alt='Greece' src='https://cdnjs.cloudflare.com/ajax/libs/emojione/2.1.4/assets/svg/1f1ec-1f1f7.svg' width='18' height='18'>
* Jon Williams <img alt='USA' src='https://cdnjs.cloudflare.com/ajax/libs/emojione/2.1.4/assets/svg/1f1fa-1f1f8.svg' width='18' height='18'>
* Kestutis Liaugminas <img alt='Lithuania' src='https://cdnjs.cloudflare.com/ajax/libs/emojione/2.1.4/assets/svg/1f1f1-1f1f9.svg' width='18' height='18'>
---

View File

@ -1,4 +1,4 @@
version: 5.5.0.{build}
version: 5.5.1.{build}
environment:
matrix:
- CMAKE_GENERATOR: Visual Studio 14 2015

View File

@ -11,12 +11,16 @@
#include <stdint.h> // for uint8_t
#include <string.h>
#include "String.hpp"
#include "JsonVariant.hpp"
#include "String.hpp"
#if defined(__clang__)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wnon-virtual-dtor"
#elif defined(__GNUC__)
#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)
#pragma GCC diagnostic push
#endif
#pragma GCC diagnostic ignored "-Wnon-virtual-dtor"
#endif
@ -149,3 +153,11 @@ class JsonBuffer {
static const uint8_t DEFAULT_LIMIT = 10;
};
}
#if defined(__clang__)
#pragma clang diagnostic pop
#elif defined(__GNUC__)
#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)
#pragma GCC diagnostic pop
#endif
#endif

View File

@ -14,6 +14,18 @@
#include <math.h>
#endif
// GCC warning: "conversion to 'float' from 'double' may alter its value"
#ifdef __GNUC__
#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)
#pragma GCC diagnostic push
#endif
#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 9)
#pragma GCC diagnostic ignored "-Wfloat-conversion"
#else
#pragma GCC diagnostic ignored "-Wconversion"
#endif
#endif
namespace ArduinoJson {
namespace Polyfills {
@ -29,12 +41,14 @@ bool isInfinity(T x) {
return isinf(x);
}
#ifdef __GLIBC__
#if defined(_GLIBCXX_HAVE_ISINFL) && _GLIBCXX_HAVE_ISINFL
template <>
inline bool isInfinity<double>(double x) {
return isinfl(x);
}
#endif
#if defined(_GLIBCXX_HAVE_ISINFF) && _GLIBCXX_HAVE_ISINFF
template <>
inline bool isInfinity<float>(float x) {
return isinff(x);
@ -43,3 +57,9 @@ inline bool isInfinity<float>(float x) {
#endif
}
}
#if defined(__GNUC__)
#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)
#pragma GCC diagnostic pop
#endif
#endif

View File

@ -14,33 +14,41 @@
#include <math.h>
#endif
// GCC warning: "conversion to 'float' from 'double' may alter its value"
#ifdef __GNUC__
#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)
#pragma GCC diagnostic push
#endif
#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 9)
#pragma GCC diagnostic ignored "-Wfloat-conversion"
#else
#pragma GCC diagnostic ignored "-Wconversion"
#endif
#endif
namespace ArduinoJson {
namespace Polyfills {
// If Visual Studo <= 2012
#if defined(_MSC_VER) && _MSC_VER <= 1700
template <typename T>
bool isNaN(T x) {
return _isnan(x) != 0;
}
#else
template <typename T>
bool isNaN(T x) {
return isnan(x);
}
#ifdef __GLIBC__
template <>
inline bool isNaN<double>(double x) {
return isnanl(x);
}
template <>
inline bool isNaN<float>(float x) {
return isnanf(x);
}
#endif
#endif
}
}
#if defined(__GNUC__)
#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)
#pragma GCC diagnostic pop
#endif
#endif

View File

@ -6,7 +6,7 @@
"type": "git",
"url": "https://github.com/bblanchon/ArduinoJson.git"
},
"version": "5.5.0",
"version": "5.5.1",
"authors": {
"name": "Benoit Blanchon",
"url": "http://blog.benoitblanchon.fr"

View File

@ -1,5 +1,5 @@
name=ArduinoJson
version=5.5.0
version=5.5.1
author=Benoit Blanchon <blog.benoitblanchon.fr>
maintainer=Benoit Blanchon <blog.benoitblanchon.fr>
sentence=An efficient and elegant JSON library for Arduino.