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:
Jakub Jelinek 2019-01-14 21:12:11 +01:00 committed by Jakub Jelinek
parent 345364cf7f
commit a30d019637
5 changed files with 41 additions and 0 deletions

View File

@ -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

View File

@ -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)
{

View File

@ -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.

View File

@ -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)

View File

@ -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