aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2021-08-12 13:33:43 +0100
committerJonathan Wakely <jwakely@redhat.com>2021-08-12 15:03:22 +0100
commitd3a7fbcb7c7a1016ceac2ceaf79b28c17ce9fcd7 (patch)
treee746f27e9570045b82390c63636091c701c2a6dd
parent432de08498142d2266c0fb05f2c555a7f1e10ddd (diff)
downloadgcc-d3a7fbcb7c7a1016ceac2ceaf79b28c17ce9fcd7.zip
gcc-d3a7fbcb7c7a1016ceac2ceaf79b28c17ce9fcd7.tar.gz
gcc-d3a7fbcb7c7a1016ceac2ceaf79b28c17ce9fcd7.tar.bz2
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.
-rw-r--r--libstdc++-v3/src/c++98/locale_init.cc4
-rw-r--r--libstdc++-v3/src/c++98/localename.cc4
-rw-r--r--libstdc++-v3/src/c++98/misc-inst.cc4
3 files changed, 12 insertions, 0 deletions
diff --git a/libstdc++-v3/src/c++98/locale_init.cc b/libstdc++-v3/src/c++98/locale_init.cc
index 4bec50b..e96b1a3 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 350dcf5a..9c707b2 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 0985190..85a4287 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>