Message ID | 20210801220024.806915-1-fontaine.fabrice@gmail.com |
---|---|
State | Accepted |
Headers | show |
Series | [1/1] package/libjson: fix build with gcc 11 | expand |
On 02/08/2021 00:00, Fabrice Fontaine wrote: > Fix the following build failure with gcc 11: I've added "GCC 11 defaults to C++17." here, which is the real problem and which nicely explains why -std=c++11 is the solution. It's all more or less implied by the error message, but making it explicit is better. Applied to master, thanks. Regards, Arnout > > In file included from _internal/Source/JSONDefs.h:12, > from _internal/Source/JSONDebug.h:4, > from _internal/Source/JSONNode.h:4, > from _internal/Source/JSONNode.cpp:1: > _internal/Source/JSONDefs/GNU_C.h:58:28: error: ISO C++17 does not allow dynamic exception specifications > 58 | #define json_throws(x) throw(x) > | ^~~~~ > > Fixes: > - http://autobuild.buildroot.org/results/1e66dff705bbb38e7e0f0e5864ce794b4345dcc6 > > Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> > --- > package/libjson/libjson.mk | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/package/libjson/libjson.mk b/package/libjson/libjson.mk > index d04ddc40f3..73268c9ccf 100644 > --- a/package/libjson/libjson.mk > +++ b/package/libjson/libjson.mk > @@ -11,7 +11,7 @@ LIBJSON_INSTALL_STAGING = YES > LIBJSON_LICENSE = BSD-2-Clause > LIBJSON_LICENSE_FILES = License.txt > > -LIBJSON_CXXFLAGS = $(TARGET_CFLAGS) -DNDEBUG > +LIBJSON_CXXFLAGS = $(TARGET_CFLAGS) -DNDEBUG -std=c++11 > > ifeq ($(BR2_STATIC_LIBS),y) > LIBJSON_MAKE_OPTS += SHARED=0 >
>>>>> "Fabrice" == Fabrice Fontaine <fontaine.fabrice@gmail.com> writes: > Fix the following build failure with gcc 11: > In file included from _internal/Source/JSONDefs.h:12, > from _internal/Source/JSONDebug.h:4, > from _internal/Source/JSONNode.h:4, > from _internal/Source/JSONNode.cpp:1: > _internal/Source/JSONDefs/GNU_C.h:58:28: error: ISO C++17 does not allow dynamic exception specifications > 58 | #define json_throws(x) throw(x) > | ^~~~~ > Fixes: > - http://autobuild.buildroot.org/results/1e66dff705bbb38e7e0f0e5864ce794b4345dcc6 > Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> Committed to 2021.02.x and 2021.05.x, thanks.
diff --git a/package/libjson/libjson.mk b/package/libjson/libjson.mk index d04ddc40f3..73268c9ccf 100644 --- a/package/libjson/libjson.mk +++ b/package/libjson/libjson.mk @@ -11,7 +11,7 @@ LIBJSON_INSTALL_STAGING = YES LIBJSON_LICENSE = BSD-2-Clause LIBJSON_LICENSE_FILES = License.txt -LIBJSON_CXXFLAGS = $(TARGET_CFLAGS) -DNDEBUG +LIBJSON_CXXFLAGS = $(TARGET_CFLAGS) -DNDEBUG -std=c++11 ifeq ($(BR2_STATIC_LIBS),y) LIBJSON_MAKE_OPTS += SHARED=0
Fix the following build failure with gcc 11: In file included from _internal/Source/JSONDefs.h:12, from _internal/Source/JSONDebug.h:4, from _internal/Source/JSONNode.h:4, from _internal/Source/JSONNode.cpp:1: _internal/Source/JSONDefs/GNU_C.h:58:28: error: ISO C++17 does not allow dynamic exception specifications 58 | #define json_throws(x) throw(x) | ^~~~~ Fixes: - http://autobuild.buildroot.org/results/1e66dff705bbb38e7e0f0e5864ce794b4345dcc6 Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> --- package/libjson/libjson.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)