Add a #error directive to ensure that the definitions are not compiled
as C++17, which would prevent them being emitted.
libstdc++-v3/ChangeLog:
PR libstdc++/98725
* src/c++11/limits.cc: Fail if __cpp_inline_variables is
defined.
Tested powerpc64le-linux. Committed to trunk.
commit e6f6972b5f4711c110fa753c926df49415f230da
Author: Jonathan Wakely <[email protected]>
Date: Fri Oct 8 14:45:23 2021
libstdc++: Detect miscompilation of src/c++11/limits.cc
Add a #error directive to ensure that the definitions are not compiled
as C++17, which would prevent them being emitted.
libstdc++-v3/ChangeLog:
PR libstdc++/98725
* src/c++11/limits.cc: Fail if __cpp_inline_variables is
defined.
diff --git a/libstdc++-v3/src/c++11/limits.cc b/libstdc++-v3/src/c++11/limits.cc
index 21d4427f10b..585cb8c92db 100644
--- a/libstdc++-v3/src/c++11/limits.cc
+++ b/libstdc++-v3/src/c++11/limits.cc
@@ -29,6 +29,10 @@
// 18.2.1
//
+#if __cpp_inline_variables
+# error This file must be compiled as C++11 or C++14
+#endif
+
#include <limits>
namespace std _GLIBCXX_VISIBILITY(default)