c++: Local class DMI using local static [PR90479]
authorJason Merrill <jason@redhat.com>
Fri, 1 May 2020 17:53:32 +0000 (13:53 -0400)
committerJason Merrill <jason@redhat.com>
Fri, 1 May 2020 17:53:34 +0000 (13:53 -0400)
commit82d5decef38b5562d97c49a70ca2636a08769dbc
treef6657a5d9b232db5e40d3cadf203972e495f6914
parenta2f32550a085984fbaaec962bf7723514ac71dff
c++: Local class DMI using local static [PR90479]

For default member initializers in templates it's important to push into the
right context during get_nsdmi.  But for a local class that's not possible,
and trying leaves the function context we need to be in, so don't try.

gcc/cp/ChangeLog
2020-05-01  Jason Merrill  <jason@redhat.com>

PR c++/90479
* init.c (get_nsdmi): Don't push_to_top_level for a local class.
gcc/cp/ChangeLog
gcc/cp/init.c
gcc/testsuite/g++.dg/cpp0x/nsdmi-template20.C [new file with mode: 0644]