Give more explicit errors if these files are not built with the correct
-std options.
libstdc++-v3/ChangeLog:
* src/c++98/locale_init.cc: Require C++11.
* src/c++98/localename.cc: Likewise.
* src/c++98/misc-inst.cc: Require C++98.
Tested powerpc64le-linux. Committed to trunk.
commit d3a7fbcb7c7a1016ceac2ceaf79b28c17ce9fcd7
Author: Jonathan Wakely <[email protected]>
Date: Thu Aug 12 13:33:43 2021
libstdc++: Add #error to some files that depend on a specific standard mode
Give more explicit errors if these files are not built with the correct
-std options.
libstdc++-v3/ChangeLog:
* src/c++98/locale_init.cc: Require C++11.
* src/c++98/localename.cc: Likewise.
* src/c++98/misc-inst.cc: Require C++98.
diff --git a/libstdc++-v3/src/c++98/locale_init.cc
b/libstdc++-v3/src/c++98/locale_init.cc
index 4bec50bf595..e96b1a336aa 100644
--- a/libstdc++-v3/src/c++98/locale_init.cc
+++ b/libstdc++-v3/src/c++98/locale_init.cc
@@ -20,6 +20,10 @@
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
// <http://www.gnu.org/licenses/>.
+#if __cplusplus != 201103L
+# error This file must be compiled as C++11
+#endif
+
#define _GLIBCXX_USE_CXX11_ABI 1
#include <clocale>
#include <cstring>
diff --git a/libstdc++-v3/src/c++98/localename.cc
b/libstdc++-v3/src/c++98/localename.cc
index 350dcf5ad0f..9c707b2327c 100644
--- a/libstdc++-v3/src/c++98/localename.cc
+++ b/libstdc++-v3/src/c++98/localename.cc
@@ -20,6 +20,10 @@
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
// <http://www.gnu.org/licenses/>.
+#if __cplusplus != 201103L
+# error This file must be compiled as C++11
+#endif
+
#define _GLIBCXX_USE_CXX11_ABI 1
#include <clocale>
#include <cstring>
diff --git a/libstdc++-v3/src/c++98/misc-inst.cc
b/libstdc++-v3/src/c++98/misc-inst.cc
index 09851903600..85a4287e113 100644
--- a/libstdc++-v3/src/c++98/misc-inst.cc
+++ b/libstdc++-v3/src/c++98/misc-inst.cc
@@ -26,6 +26,10 @@
// ISO C++ 14882:
//
+#if __cplusplus != 199711L
+# error This file must be compiled as C++98
+#endif
+
#define _GLIBCXX_USE_CXX11_ABI 1
#define _GLIBCXX_DISAMBIGUATE_REPLACE_INST 1
#include <string>