Account for VxWorks headers in libstdc++ test on names
authorOlivier Hainque <hainque@adacore.com>
Wed, 23 Dec 2020 23:24:29 +0000 (20:24 -0300)
committerAlexandre Oliva <oliva@gnu.org>
Wed, 23 Dec 2020 23:27:36 +0000 (20:27 -0300)
Undefine various macros unexpectedly defined by VxWorks headers.

for  libstdc++-v3/ChangeLog

* testsuite/17_intro/names.cc: Account for VxWorks headers.

libstdc++-v3/testsuite/17_intro/names.cc

index 2c8bfff26e1cacb453709da3c8e7afc9fcdc695a..4760a9efd79913161045bd2a03f7e29ea12b7303 100644 (file)
 #undef ptr
 #endif
 
+#ifdef __VXWORKS__
+
+#include <_vxworks-versions.h>
+
+// Some VxWorks 6 or 7 headers are using those.
+
+// private/objLibP.h
+#undef u
+
+// arch/ppc/ffs/ArchLib.h
+#undef i
+#undef j
+
+// math.h
+#undef x
+#undef y
+
+// stdio.h
+#undef ptr
+
+// VxWorks >= 7 specificities
+
+#if _VXWORKS_MAJOR_GE(7)
+
+// regs.h regs structure has a field 'r'
+#undef r
+
+#ifndef __RTP__
+// in bootLib.h, bootParamCheck has parameters x, a-f
+#undef a
+#undef b
+#undef c
+#undef d
+#undef e
+#undef f
+#endif // __RTP__
+
+#endif // VxWorks Major >= 7
+
+#endif // __VXWORKS__
+
 #include <bits/stdc++.h>