diff mbox series

[1/1] package/libjson: fix build with gcc 11

Message ID 20210801220024.806915-1-fontaine.fabrice@gmail.com
State Accepted
Headers show
Series [1/1] package/libjson: fix build with gcc 11 | expand

Commit Message

Fabrice Fontaine Aug. 1, 2021, 10 p.m. UTC
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(-)

Comments

Arnout Vandecappelle Aug. 3, 2021, 3:49 p.m. UTC | #1
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
>
Peter Korsgaard Aug. 8, 2021, 7:41 a.m. UTC | #2
>>>>> "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 mbox series

Patch

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