PR c++/81852 define feature-test macro for -fthreadsafe-statics
gcc/c-family: PR c++/81852 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_threadsafe_static_init. gcc/testsuite: PR c++/81852 * g++.dg/cpp1y/feat-cxx11.C: Check __cpp_threadsafe_static_init. * g++.dg/cpp1y/feat-cxx14.C: Likewise. * g++.dg/cpp1y/feat-cxx98.C: Likewise. * g++.dg/cpp1y/feat-neg.C: Likewise. * g++.dg/cpp1z/feat-cxx1z.C: Likewise. From-SVN: r251939
This commit is contained in:
parent
b40e004839
commit
019bf9ada3
8 changed files with 49 additions and 1 deletions
|
@ -1,3 +1,8 @@
|
|||
2017-09-09 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
PR c++/81852
|
||||
* c-cppbuiltin.c (c_cpp_builtins): Define __cpp_threadsafe_static_init.
|
||||
|
||||
2017-09-04 Marek Polacek <polacek@redhat.com>
|
||||
|
||||
PR c/81783
|
||||
|
|
|
@ -987,6 +987,8 @@ c_cpp_builtins (cpp_reader *pfile)
|
|||
}
|
||||
if (flag_new_ttp)
|
||||
cpp_define (pfile, "__cpp_template_template_args=201611");
|
||||
if (flag_threadsafe_statics)
|
||||
cpp_define (pfile, "__cpp_threadsafe_static_init=200806");
|
||||
}
|
||||
/* Note that we define this for C as well, so that we know if
|
||||
__attribute__((cleanup)) will interface with EH. */
|
||||
|
|
|
@ -1,3 +1,12 @@
|
|||
2017-09-09 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
PR c++/81852
|
||||
* g++.dg/cpp1y/feat-cxx11.C: Check __cpp_threadsafe_static_init.
|
||||
* g++.dg/cpp1y/feat-cxx14.C: Likewise.
|
||||
* g++.dg/cpp1y/feat-cxx98.C: Likewise.
|
||||
* g++.dg/cpp1y/feat-neg.C: Likewise.
|
||||
* g++.dg/cpp1z/feat-cxx1z.C: Likewise.
|
||||
|
||||
2017-09-09 Pierre-Marie de Rodat <derodat@adacore.com>
|
||||
|
||||
* gnat.dg/debug14.adb: New test.
|
||||
|
|
|
@ -125,6 +125,12 @@
|
|||
# error "__cpp_alias_templates != 200704"
|
||||
#endif
|
||||
|
||||
#ifndef __cpp_threadsafe_static_init
|
||||
# error "__cpp_threadsafe_static_init"
|
||||
#elif __cpp_threadsafe_static_init != 200806
|
||||
# error "__cpp_threadsafe_static_init != 200806"
|
||||
#endif
|
||||
|
||||
// C++14 features allowed in C++11 in non-ANSI modes:
|
||||
|
||||
#ifndef __cpp_binary_literals
|
||||
|
|
|
@ -118,6 +118,12 @@
|
|||
# error "__cpp_alias_templates != 200704"
|
||||
#endif
|
||||
|
||||
#ifndef __cpp_threadsafe_static_init
|
||||
# error "__cpp_threadsafe_static_init"
|
||||
#elif __cpp_threadsafe_static_init != 200806
|
||||
# error "__cpp_threadsafe_static_init != 200806"
|
||||
#endif
|
||||
|
||||
// C++14 features:
|
||||
|
||||
#ifndef __cpp_binary_literals
|
||||
|
|
|
@ -15,6 +15,14 @@
|
|||
# error "__cpp_exceptions != 199711"
|
||||
#endif
|
||||
|
||||
// C++11 features allowed in C++98:
|
||||
|
||||
#ifndef __cpp_threadsafe_static_init
|
||||
# error "__cpp_threadsafe_static_init"
|
||||
#elif __cpp_threadsafe_static_init != 200806
|
||||
# error "__cpp_threadsafe_static_init != 200806"
|
||||
#endif
|
||||
|
||||
// C++14 features allowed in C++98 in non-ANSI modes:
|
||||
|
||||
#ifndef __cpp_binary_literals
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// { dg-do compile }
|
||||
// { dg-options "-fno-rtti -fno-exceptions" }
|
||||
// { dg-options "-fno-rtti -fno-exceptions -fno-threadsafe-statics" }
|
||||
|
||||
// C++98 features with explicit opt-out:
|
||||
|
||||
|
@ -10,3 +10,9 @@
|
|||
#ifndef __cpp_exceptions
|
||||
# error "__cpp_exceptions" // { dg-error "error" }
|
||||
#endif
|
||||
|
||||
// C++11 features with explicit opt-out:
|
||||
|
||||
#ifndef __cpp_threadsafe_static_init
|
||||
# error "__cpp_threadsafe_static_init" // { dg-error "error" }
|
||||
#endif
|
||||
|
|
|
@ -106,6 +106,12 @@
|
|||
# error "__cpp_alias_templates != 200704"
|
||||
#endif
|
||||
|
||||
#ifndef __cpp_threadsafe_static_init
|
||||
# error "__cpp_threadsafe_static_init"
|
||||
#elif __cpp_threadsafe_static_init != 200806
|
||||
# error "__cpp_threadsafe_static_init != 200806"
|
||||
#endif
|
||||
|
||||
// C++14 features:
|
||||
|
||||
#ifndef __cpp_binary_literals
|
||||
|
|
Loading…
Add table
Reference in a new issue