c-cppbuiltin.c (c_cpp_builtin): Define __cpp_guaranteed_copy_elision and __cpp_nontype_template_parameter_auto.
* c-cppbuiltin.c (c_cpp_builtin): Define __cpp_guaranteed_copy_elision and __cpp_nontype_template_parameter_auto. Add a comment that __cpp_template_auto is deprecated. * g++.dg/cpp1z/feat-cxx1z.C: Add tests for __cpp_guaranteed_copy_elision and __cpp_nontype_template_parameter_auto feature test macros. * g++.dg/cpp2a/feat-cxx2a.C: Likewise. From-SVN: r267925
This commit is contained in:
parent
345364cf7f
commit
a30d019637
|
@ -1,3 +1,9 @@
|
|||
2019-01-14 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* c-cppbuiltin.c (c_cpp_builtin): Define __cpp_guaranteed_copy_elision
|
||||
and __cpp_nontype_template_parameter_auto. Add a comment that
|
||||
__cpp_template_auto is deprecated.
|
||||
|
||||
2019-01-14 Tom Honermann <tom@honermann.net>
|
||||
|
||||
Implement P0482R5, char8_t: A type for UTF-8 characters and strings
|
||||
|
|
|
@ -974,9 +974,13 @@ c_cpp_builtins (cpp_reader *pfile)
|
|||
cpp_define (pfile, "__cpp_aggregate_bases=201603");
|
||||
cpp_define (pfile, "__cpp_deduction_guides=201703");
|
||||
cpp_define (pfile, "__cpp_noexcept_function_type=201510");
|
||||
/* Old macro, superseded by
|
||||
__cpp_nontype_template_parameter_auto. */
|
||||
cpp_define (pfile, "__cpp_template_auto=201606");
|
||||
cpp_define (pfile, "__cpp_structured_bindings=201606");
|
||||
cpp_define (pfile, "__cpp_variadic_using=201611");
|
||||
cpp_define (pfile, "__cpp_guaranteed_copy_elision=201606");
|
||||
cpp_define (pfile, "__cpp_nontype_template_parameter_auto=201606");
|
||||
}
|
||||
if (cxx_dialect > cxx17)
|
||||
{
|
||||
|
|
|
@ -1,3 +1,10 @@
|
|||
2019-01-14 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* g++.dg/cpp1z/feat-cxx1z.C: Add tests for
|
||||
__cpp_guaranteed_copy_elision and __cpp_nontype_template_parameter_auto
|
||||
feature test macros.
|
||||
* g++.dg/cpp2a/feat-cxx2a.C: Likewise.
|
||||
|
||||
2019-01-14 Marek Polacek <polacek@redhat.com>
|
||||
|
||||
PR c++/88830 - ICE with abstract class.
|
||||
|
|
|
@ -417,6 +417,18 @@
|
|||
# error "__cpp_variadic_using != 201611"
|
||||
#endif
|
||||
|
||||
#ifndef __cpp_guaranteed_copy_elision
|
||||
# error "__cpp_guaranteed_copy_elision"
|
||||
#elif __cpp_guaranteed_copy_elision != 201606
|
||||
# error "__cpp_guaranteed_copy_elision != 201606"
|
||||
#endif
|
||||
|
||||
#ifndef __cpp_nontype_template_parameter_auto
|
||||
# error "__cpp_nontype_template_parameter_auto"
|
||||
#elif __cpp_nontype_template_parameter_auto != 201606
|
||||
# error "__cpp_nontype_template_parameter_auto != 201606"
|
||||
#endif
|
||||
|
||||
#ifdef __has_cpp_attribute
|
||||
|
||||
# if ! __has_cpp_attribute(maybe_unused)
|
||||
|
|
|
@ -416,6 +416,18 @@
|
|||
# error "__cpp_variadic_using != 201611"
|
||||
#endif
|
||||
|
||||
#ifndef __cpp_guaranteed_copy_elision
|
||||
# error "__cpp_guaranteed_copy_elision"
|
||||
#elif __cpp_guaranteed_copy_elision != 201606
|
||||
# error "__cpp_guaranteed_copy_elision != 201606"
|
||||
#endif
|
||||
|
||||
#ifndef __cpp_nontype_template_parameter_auto
|
||||
# error "__cpp_nontype_template_parameter_auto"
|
||||
#elif __cpp_nontype_template_parameter_auto != 201606
|
||||
# error "__cpp_nontype_template_parameter_auto != 201606"
|
||||
#endif
|
||||
|
||||
// C++20 features
|
||||
|
||||
#if __cpp_conditional_explicit != 201806
|
||||
|
|
Loading…
Reference in New Issue