[PR88534] accept VAR_DECL in class literal template parms
authorAlexandre Oliva <aoliva@redhat.com>
Fri, 15 Mar 2019 13:56:55 +0000 (13:56 +0000)
committerAlexandre Oliva <aoliva@gcc.gnu.org>
Fri, 15 Mar 2019 13:56:55 +0000 (13:56 +0000)
commitca7f909fba59f79d85f74ee0846bc9ed121ba7b2
tree161d051727d53d881f25c5dbea2f6177cdc476be
parentd2025512b3fb357768d85ccde8e21f571481d00f
[PR88534] accept VAR_DECL in class literal template parms

P0732R2 / C++ 2a introduce class literals as template parameters.  The
front-end uses VAR_DECLs constructed from such literals to bind the
template PARM_DECLs, but dwarf2out.c used to reject such VAR_DECLs.

Taking DECL_INITIAL from such VAR_DECLs enables the generation of
DW_AT_const_value for them, at least when the class literal can
actually be represented as such.

for  gcc/ChangeLog

PR c++/88534
PR c++/88537
* dwarf2out.c (generic_parameter_die): Follow DECL_INITIAL of
VAR_DECL args.

for  gcc/testsuite/ChangeLog

PR c++/88534
PR c++/88537
* g++.dg/cpp2a/pr88534.C: New.
* g++.dg/cpp2a/pr88537.C: New.

From-SVN: r269709
gcc/ChangeLog
gcc/dwarf2out.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/cpp2a/pr88534.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp2a/pr88537.C [new file with mode: 0644]