This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH trivial] Fix PR71214 (__cpp_rvalue_references vs. __cpp_rvalue_reference)


On Tue, Jul 5, 2016 at 12:07 PM, Markus Trippelsdorf
<markus@trippelsdorf.de> wrote:
> Hi,
>
> as PR71214 points out gcc uses a wrong feature test macro for C++11
> rvalue references: __cpp_rvalue_reference instead of the correct
> __cpp_rvalue_references.
>
> The fix is trivial. Ok for trunk and active branches?

I wonder if we should to retain the (bogus) old defines for backward
compatibility.

Does anyone use those?

Richard.

> Thanks.
>
> c-family/ChangeLog
>
>         * c-cppbuiltin.c (c_cpp_builtins): Use __cpp_rvalue_references
>         instead of __cpp_rvalue_reference.
>
> diff --git a/gcc/c-family/c-cppbuiltin.c b/gcc/c-family/c-cppbuiltin.c
> index 408ad4747a33..f19375a73730 100644
> --- a/gcc/c-family/c-cppbuiltin.c
> +++ b/gcc/c-family/c-cppbuiltin.c
> @@ -847,7 +847,7 @@ c_cpp_builtins (cpp_reader *pfile)
>             cpp_define (pfile, "__cpp_static_assert=200410");
>           cpp_define (pfile, "__cpp_decltype=200707");
>           cpp_define (pfile, "__cpp_attributes=200809");
> -         cpp_define (pfile, "__cpp_rvalue_reference=200610");
> +         cpp_define (pfile, "__cpp_rvalue_references=200610");
>           cpp_define (pfile, "__cpp_variadic_templates=200704");
>           cpp_define (pfile, "__cpp_initializer_lists=200806");
>           cpp_define (pfile, "__cpp_delegating_constructors=200604");
> diff --git a/gcc/testsuite/g++.dg/cpp1y/feat-cxx11.C b/gcc/testsuite/g++.dg/cpp1y/feat-cxx11.C
> index 397b9a899573..6928d6bcbd87 100644
> --- a/gcc/testsuite/g++.dg/cpp1y/feat-cxx11.C
> +++ b/gcc/testsuite/g++.dg/cpp1y/feat-cxx11.C
> @@ -77,10 +77,10 @@
>  #  error "__cpp_attributes != 200809"
>  #endif
>
> -#ifndef __cpp_rvalue_reference
> -#  error "__cpp_rvalue_reference"
> -#elif __cpp_rvalue_reference != 200610
> -#  error "__cpp_rvalue_reference != 200610"
> +#ifndef __cpp_rvalue_references
> +#  error "__cpp_rvalue_references"
> +#elif __cpp_rvalue_references != 200610
> +#  error "__cpp_rvalue_references != 200610"
>  #endif
>
>  #ifndef __cpp_variadic_templates
> diff --git a/gcc/testsuite/g++.dg/cpp1y/feat-cxx14.C b/gcc/testsuite/g++.dg/cpp1y/feat-cxx14.C
> index fa59f90fa892..dc30a9b3cf84 100644
> --- a/gcc/testsuite/g++.dg/cpp1y/feat-cxx14.C
> +++ b/gcc/testsuite/g++.dg/cpp1y/feat-cxx14.C
> @@ -70,10 +70,10 @@
>  #  error "__cpp_attributes != 200809"
>  #endif
>
> -#ifndef __cpp_rvalue_reference
> -#  error "__cpp_rvalue_reference"
> -#elif __cpp_rvalue_reference != 200610
> -#  error "__cpp_rvalue_reference != 200610"
> +#ifndef __cpp_rvalue_references
> +#  error "__cpp_rvalue_references"
> +#elif __cpp_rvalue_references != 200610
> +#  error "__cpp_rvalue_references != 200610"
>  #endif
>
>  #ifndef __cpp_variadic_templates
> diff --git a/gcc/testsuite/g++.dg/cpp1y/feat-cxx98-neg.C b/gcc/testsuite/g++.dg/cpp1y/feat-cxx98-neg.C
> index 886b3d3df10e..5fbffabd1396 100644
> --- a/gcc/testsuite/g++.dg/cpp1y/feat-cxx98-neg.C
> +++ b/gcc/testsuite/g++.dg/cpp1y/feat-cxx98-neg.C
> @@ -42,8 +42,8 @@
>  #  error "__cpp_attributes" // { dg-error "error" }
>  #endif
>
> -#ifndef __cpp_rvalue_reference
> -#  error "__cpp_rvalue_reference" // { dg-error "error" }
> +#ifndef __cpp_rvalue_references
> +#  error "__cpp_rvalue_references" // { dg-error "error" }
>  #endif
>
>  #ifndef __cpp_variadic_templates
> diff --git a/gcc/testsuite/g++.dg/cpp1z/feat-cxx1z.C b/gcc/testsuite/g++.dg/cpp1z/feat-cxx1z.C
> index f8a87a8ddc37..c7becc1cbb47 100644
> --- a/gcc/testsuite/g++.dg/cpp1z/feat-cxx1z.C
> +++ b/gcc/testsuite/g++.dg/cpp1z/feat-cxx1z.C
> @@ -58,10 +58,10 @@
>  #  error "__cpp_attributes != 200809"
>  #endif
>
> -#ifndef __cpp_rvalue_reference
> -#  error "__cpp_rvalue_reference"
> -#elif __cpp_rvalue_reference != 200610
> -#  error "__cpp_rvalue_reference != 200610"
> +#ifndef __cpp_rvalue_references
> +#  error "__cpp_rvalue_references"
> +#elif __cpp_rvalue_references != 200610
> +#  error "__cpp_rvalue_references != 200610"
>  #endif
>
>  #ifndef __cpp_variadic_templates
> --
> Markus


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]