blob: bc9167eeeccbf33b26574f5a4fa82d2a881e71b7 [file] [log] [blame]
Patrick Williamsb48b7b42016-08-17 15:04:38 -05001From 79f6d9133378325d70a92e66f7352c1becefbb88 Mon Sep 17 00:00:00 2001
2From: Gleb Smirnoff <glebius@FreeBSD.org>
3Date: Sat, 16 May 2015 02:47:28 +0300
4Subject: [PATCH] Include <stdatomic.h> only in C mode.
5
6Upstream-Status: Backport from 3.15
7
8Without this build with gcc-5.2 fails with:
9| arm-oe-linux-gnueabi-g++ -march=armv4t -mthumb -mthumb-interwork -mtune=arm920t --sysroot=/OE/build/shr-core/tmp-glibc/sysroots/om-gta02 -o clock_gettime-qt.os -c -O2 -pipe -g -feliminate-unused-debug-types --sysroot=/OE/build/shr-core/tmp-glibc/sysroots/om-gta02 -Wextra -Wall -Wno-uninitialized -Wno-missing-field-initializers -Wcast-align -Wmissing-declarations -Wpointer-arith -Wreturn-type -pthread -Wmissing-declarations -g -O0 -pthread -fPIC -DUSE_QT -DQT_SHARED -I/OE/build/shr-core/tmp-glibc/sysroots/om-gta02/usr/include/dbus-1.0 -I/OE/build/shr-core/tmp-glibc/sysroots/om-gta02/usr/lib/dbus-1.0/include -I/OE/build/shr-core/tmp-glibc/sysroots/om-gta02/usr/include/qt4/QtNetwork -I/OE/build/shr-core/tmp-glibc/sysroots/om-gta02/usr/include/qt4 -I/OE/build/shr-core/tmp-glibc/sysroots/om-gta02/usr/include/qt4/QtCore clock_gettime.c
10| In file included from compiler.h:50:0,
11| from clock_gettime.c:10:
12| /OE/build/shr-core/tmp-glibc/sysroots/x86_64-linux/usr/lib/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/5.2.0/include/stdatomic.h:40:9: error: '_Atomic' does not name a type
13| typedef _Atomic _Bool atomic_bool;
14| ^
15....
16
17More info:
18https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60932
19
20Signed-off-by: Gary E. Miller <gem@rellim.com>
21---
22 compiler.h | 4 ++--
23 1 file changed, 2 insertions(+), 2 deletions(-)
24
25diff --git a/compiler.h b/compiler.h
26index 837c935..03430c0 100644
27--- a/compiler.h
28+++ b/compiler.h
29@@ -66,9 +66,9 @@
30 } while (0)
31
32 #ifdef HAVE_STDATOMIC_H
33-#ifndef __COVERITY__ /* Coverity is confused by a GNU typedef */
34+#if !defined(__COVERITY__) && !defined(__cplusplus)
35 #include <stdatomic.h>
36-#endif /* __COVERITY__ */
37+#endif /* __COVERITY__ || __cplusplus */
38 #endif /* HAVE_STDATOMIC_H */
39
40 #ifdef HAVE_OSATOMIC_H
41--
422.5.1
43