From 6555abe0ef5f9e917f99874c37adcb9063873ca6 Mon Sep 17 00:00:00 2001 From: Paolo Carlini Date: Mon, 6 May 2013 16:40:24 +0000 Subject: [PATCH] re PR c++/57183 ([C++11] auto and -Wunused-variable) /cp 2013-05-06 Paolo Carlini PR c++/57183 * decl.c (cp_finish_decl): After do_auto_deduction copy the qualifers with cp_apply_type_quals_to_decl. /testsuite 2013-05-06 Paolo Carlini PR c++/57183 * g++.dg/cpp0x/auto38.C: New. From-SVN: r198636 --- gcc/cp/ChangeLog | 6 ++++++ gcc/cp/decl.c | 1 + gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/g++.dg/cpp0x/auto38.C | 8 ++++++++ 4 files changed, 20 insertions(+) create mode 100644 gcc/testsuite/g++.dg/cpp0x/auto38.C diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index e71b4f20253..387f44aacf6 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2013-05-06 Paolo Carlini + + PR c++/57183 + * decl.c (cp_finish_decl): After do_auto_deduction copy the + qualifers with cp_apply_type_quals_to_decl. + 2013-05-05 Paolo Carlini * pt.c (convert_nontype_argument): Add missing whitespace in diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c index d92d334e1f5..12703d583da 100644 --- a/gcc/cp/decl.c +++ b/gcc/cp/decl.c @@ -6147,6 +6147,7 @@ cp_finish_decl (tree decl, tree init, bool init_const_expr_p, auto_node); if (type == error_mark_node) return; + cp_apply_type_quals_to_decl (cp_type_quals (type), decl); } if (!ensure_literal_type_for_constexpr_object (decl)) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 1062a4ee2e5..fb06bb16429 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2013-05-06 Paolo Carlini + + PR c++/57183 + * g++.dg/cpp0x/auto38.C: New. + 2013-05-06 Richard Biener PR tree-optimization/57185 diff --git a/gcc/testsuite/g++.dg/cpp0x/auto38.C b/gcc/testsuite/g++.dg/cpp0x/auto38.C new file mode 100644 index 00000000000..070a39b9e3e --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp0x/auto38.C @@ -0,0 +1,8 @@ +// PR c++/57183 +// { dg-do compile { target c++11 } } +// { dg-options "-Wunused-variable" } + +constexpr float PI_0 = 3.1415926F; +constexpr auto PI_1 = 3.1415926F; +const float PI_2 = 3.1415926F; +const auto PI_3 = 3.1415926F; -- 2.30.2