PR libstdc++/77814
* include/bits/std_abs.h: Use "C++" language linkage.
* testsuite/17_intro/headers/c++2011/linkage.cc: Move <complex.h> to
the end. Add <stdalign.h>.
From-SVN: r240710
+2016-10-03 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/77814
+ * include/bits/std_abs.h: Use "C++" language linkage.
+ * testsuite/17_intro/headers/c++2011/linkage.cc: Move <complex.h> to
+ the end. Add <stdalign.h>.
+
2016-10-03 Ville Voutilainen <ville.voutilainen@gmail.com>
PR libstdc++/77802
#undef abs
+extern "C++"
+{
namespace std _GLIBCXX_VISIBILITY(default)
{
_GLIBCXX_BEGIN_NAMESPACE_VERSION
_GLIBCXX_END_NAMESPACE_VERSION
} // namespace
+}
#endif // _GLIBCXX_BITS_STD_ABS_H
extern "C"
{
#include <assert.h>
-#ifdef _GLIBCXX_HAVE_COMPLEX_H
-#include <complex.h>
-#endif
+// See below for <complex.h>
#include <ctype.h>
#include <errno.h>
#ifdef _GLIBCXX_HAVE_FENV_H
#include <math.h>
#include <setjmp.h>
#include <signal.h>
+#if _GLIBCXX_HAVE_STDALIGN_H
+#include <stdalign.h>
+#endif
#include <stdarg.h>
#ifdef _GLIBCXX_HAVE_STDBOOL_H
#include <stdbool.h>
#ifdef _GLIBCXX_HAVE_WCTYPE_H
#include <wctype.h>
#endif
+
+// Include this last, because it adds extern "C++" and so hides problems in
+// other headers if included first (e.g. PR libstdc++/77814).
+#ifdef _GLIBCXX_HAVE_COMPLEX_H
+#include <complex.h>
+#endif
}