aboutsummaryrefslogtreecommitdiff
path: root/libcpp/include
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2020-02-04 18:49:16 -0500
committerJason Merrill <jason@redhat.com>2020-02-05 14:14:50 -0500
commitfa0c6e297b22d5883857d0db4a6a8be0967cb16f (patch)
tree8a1e21632424bc019ca81c1991b8d8e04cfa67d0 /libcpp/include
parentefe0e5cd64be70690ba287a8dd5841a2b5eefef1 (diff)
downloadgcc-fa0c6e297b22d5883857d0db4a6a8be0967cb16f.zip
gcc-fa0c6e297b22d5883857d0db4a6a8be0967cb16f.tar.gz
gcc-fa0c6e297b22d5883857d0db4a6a8be0967cb16f.tar.bz2
c++: Fix SEGV with malformed constructor decl.
In the testcase, since there's no declaration of T, ref_view(T) declares a non-static data member T of type ref_view, the same type as its enclosing class. Then when we try to do C++20 aggregate class template argument deduction we recursively try to adjust the braced-init-list to match the template class definition until we run out of stack. Fixed by rejecting the template data member. PR c++/92593 * decl.c (grokdeclarator): Reject field of current class type even in a template.
Diffstat (limited to 'libcpp/include')
0 files changed, 0 insertions, 0 deletions