[gcc r12-4255] libstdc++: Detect miscompilation of src/c++11/limits.cc

Jonathan Wakely redi@gcc.gnu.org
Fri Oct 8 14:51:16 GMT 2021


https://gcc.gnu.org/g:e6f6972b5f4711c110fa753c926df49415f230da

commit r12-4255-ge6f6972b5f4711c110fa753c926df49415f230da
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Fri Oct 8 14:45:23 2021 +0100

    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:
---
 libstdc++-v3/src/c++11/limits.cc | 4 ++++
 1 file changed, 4 insertions(+)

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)


More information about the Libstdc++-cvs mailing list