Guard inclusion of vxAtomicLib.h from gthr-vxworks.h
authorOlivier Hainque <hainque@adacore.com>
Sun, 5 Jan 2020 12:45:54 +0000 (12:45 +0000)
committerOlivier Hainque <hainque@gcc.gnu.org>
Sun, 5 Jan 2020 12:45:54 +0000 (12:45 +0000)
2020-01-05  Olivier Hainque  <hainque@adacore.com>

        * config/gthr-vxworks.h: Guard #include vxAtomicLib.h
by IN_LIBGCC2.

From-SVN: r279885

libgcc/ChangeLog
libgcc/config/gthr-vxworks.h

index e2e67ab9c3fda5e7c8151edfbaee366c18a3b681..ae2099d4e5bf9df8fab08729a7e528e9a43b963f 100644 (file)
@@ -1,3 +1,8 @@
+2020-01-05  Olivier Hainque  <hainque@adacore.com>
+
+       * config/gthr-vxworks.h: Guard #include vxAtomicLib.h
+       by IN_LIBGCC2.
+
 2020-01-01  Jakub Jelinek  <jakub@redhat.com>
 
        Update copyright years.
index 4b2cd769cacb97f6cea67911b9cc142e699da338..8b55fc554075e7a253656107e803268bec5e0f53 100644 (file)
@@ -70,7 +70,14 @@ typedef volatile unsigned char __vx_tas_t;
 #define __TAS(x) vxAtomicCas ((x), 0, 1)
 typedef atomic_t __vx_tas_t;
 
+/* Our implementation will need the system headers to use the vxAtomic
+   primitives.  Other includers won't and could actually be incompatible
+   with this inclusion, for instance libstdc++ sources compiled in C++
+   98 mode while AtomicLib for C++ requires C++ 11 at least.  */
+
+#if defined(IN_LIBGCC2)
 #include <vxAtomicLib.h>
+#endif
 
 #endif