re PR c++/84582 (Rejected valid C++ code since r257961)
authorMarek Polacek <polacek@redhat.com>
Thu, 1 Mar 2018 22:44:54 +0000 (22:44 +0000)
committerMarek Polacek <mpolacek@gcc.gnu.org>
Thu, 1 Mar 2018 22:44:54 +0000 (22:44 +0000)
commit1d4f0f3f6097dbe3817387d4889a123ca98bf987
tree5fdb6243970f2877667faad2061c8873ed566731
parent303f4850651051e7c7ae04851d993246f6110fb6
re PR c++/84582 (Rejected valid C++ code since r257961)

PR c++/84582
* semantics.c (force_paren_expr): Create a PAREN_EXPR when in
a template.
(maybe_undo_parenthesized_ref): Unwrap PAREN_EXPR.
* typeck2.c (store_init_value): Call fold_non_dependent_expr instead
of instantiate_non_dependent_expr.
* tree.c (lvalue_kind): Handle PAREN_EXPR like NON_DEPENDENT_EXPR.

* g++.dg/cpp1y/auto-fn15.C: Extend testing.
* g++.dg/cpp1z/static1.C: New test.
* g++.dg/template/static37.C: New test.

Co-Authored-By: Jason Merrill <jason@redhat.com>
From-SVN: r258116
gcc/cp/ChangeLog
gcc/cp/semantics.c
gcc/cp/tree.c
gcc/cp/typeck2.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/cpp1y/auto-fn15.C
gcc/testsuite/g++.dg/cpp1z/static1.C [new file with mode: 0644]
gcc/testsuite/g++.dg/template/static37.C [new file with mode: 0644]