mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-12 21:41:35 +08:00
re PR c++/44039 (ICE: Segmentation fault on error recovery)
/cp 2010-07-02 Paolo Carlini <paolo.carlini@oracle.com> PR c++/44039 * pt.c (tsubst_baselink): Return error_mark_node if lookup_fnfields returns NULL_TREE. /testsuite 2010-07-02 Paolo Carlini <paolo.carlini@oracle.com> PR c++/44039 * g++.dg/template/crash101.C: New. From-SVN: r161698
This commit is contained in:
parent
49ea7a0ef9
commit
baf7c318bb
@ -1,3 +1,9 @@
|
||||
2010-07-02 Paolo Carlini <paolo.carlini@oracle.com>
|
||||
|
||||
PR c++/44039
|
||||
* pt.c (tsubst_baselink): Return error_mark_node if lookup_fnfields
|
||||
returns NULL_TREE.
|
||||
|
||||
2010-07-01 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
* cp-gimplify.c (cp_gimplify_expr): Open-code the rhs
|
||||
|
@ -10737,6 +10737,8 @@ tsubst_baselink (tree baselink, tree object_type,
|
||||
if (IDENTIFIER_TYPENAME_P (name))
|
||||
name = mangle_conv_op_name_for_type (optype);
|
||||
baselink = lookup_fnfields (qualifying_scope, name, /*protect=*/1);
|
||||
if (!baselink)
|
||||
return error_mark_node;
|
||||
|
||||
/* If lookup found a single function, mark it as used at this
|
||||
point. (If it lookup found multiple functions the one selected
|
||||
|
@ -1,3 +1,8 @@
|
||||
2010-07-02 Paolo Carlini <paolo.carlini@oracle.com>
|
||||
|
||||
PR c++/44039
|
||||
* g++.dg/template/crash101.C: New.
|
||||
|
||||
2010-07-02 Iain Sandoe <iains@gcc.gnu.org>
|
||||
|
||||
* obj-c++.dg/cxx-ivars-3.mm: Make the test require OSX <= 10.4.
|
||||
|
12
gcc/testsuite/g++.dg/template/crash101.C
Normal file
12
gcc/testsuite/g++.dg/template/crash101.C
Normal file
@ -0,0 +1,12 @@
|
||||
// PR c++/44039
|
||||
|
||||
struct locale { };
|
||||
|
||||
template<class charT>
|
||||
void
|
||||
foo()
|
||||
{ locale::locale(); } // // { dg-error "cannot call|function-style" }
|
||||
|
||||
void
|
||||
bar()
|
||||
{ foo<char>(); }
|
Loading…
x
Reference in New Issue
Block a user