re PR c++/7266 (pedantic segfaults on missing typename)
PR c++/7266 cp: * decl.c (grokdeclarator): Check that TREE_OPERAND 0 of a SCOPE_REF is not null before dereferencing it. testsuite: * g++.dg/template/typename3.C: New test. From-SVN: r58540
This commit is contained in:
parent
cd60b4b8e7
commit
f65e118396
@ -1,3 +1,9 @@
|
||||
2002-10-25 Zack Weinberg <zack@codesourcery.com>
|
||||
|
||||
PR c++/7266
|
||||
* decl.c (grokdeclarator): Check that TREE_OPERAND 0 of a
|
||||
SCOPE_REF is not null before dereferencing it.
|
||||
|
||||
2002-10-25 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
* class.c (build_vtbl_initializer): Don't use build_vtable_entry.
|
||||
@ -8,7 +14,7 @@
|
||||
* decl.c (duplicate_decls): Copy it.
|
||||
* method.c (make_thunk): Simplify, and add thunks to DECL_THUNKS.
|
||||
* semantics.c (emit_associated_thunks): Simplify.
|
||||
|
||||
|
||||
2002-10-24 David Edelsohn <edelsohn@gnu.org>
|
||||
|
||||
PR c++/7228
|
||||
|
@ -11241,8 +11241,9 @@ grokdeclarator (declarator, declspecs, decl_context, initialized, attrlist)
|
||||
pop_decl_namespace ();
|
||||
else if (friendp && (TREE_COMPLEXITY (declarator) < 2))
|
||||
/* Don't fall out into global scope. Hides real bug? --eichin */ ;
|
||||
else if (! IS_AGGR_TYPE_CODE
|
||||
(TREE_CODE (TREE_OPERAND (declarator, 0))))
|
||||
else if (!TREE_OPERAND (declarator, 0)
|
||||
|| !IS_AGGR_TYPE_CODE
|
||||
(TREE_CODE (TREE_OPERAND (declarator, 0))))
|
||||
;
|
||||
else if (TREE_COMPLEXITY (declarator) == current_class_depth)
|
||||
{
|
||||
|
@ -1,3 +1,7 @@
|
||||
2002-10-25 Zack Weinberg <zack@codesourcery.com>
|
||||
|
||||
* g++.dg/template/typename3.C: New test.
|
||||
|
||||
2002-10-25 Mark Mitchell <mark@codesourcery.com>
|
||||
|
||||
* g++.dg/abi/vthunk2.C: New test.
|
||||
@ -27,7 +31,7 @@
|
||||
|
||||
PR c++/7679
|
||||
* g++.dg/parse/inline1.C: New test.
|
||||
|
||||
|
||||
2002-10-23 Richard Henderson <rth@redhat.com>
|
||||
|
||||
* g++.dg/inherit/thunk1.C: Enable for x86_64.
|
||||
|
7
gcc/testsuite/g++.dg/template/typename3.C
Normal file
7
gcc/testsuite/g++.dg/template/typename3.C
Normal file
@ -0,0 +1,7 @@
|
||||
// { dg-do compile }
|
||||
// crash test - PR 7266
|
||||
|
||||
template <class A>
|
||||
struct B {
|
||||
typedef A::C::D E; // { dg-error "no type|parse error" }
|
||||
};
|
Loading…
Reference in New Issue
Block a user