Commit baf7c318 by Paolo Carlini Committed by Paolo Carlini

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
parent 49ea7a0e
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
......
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.
......
// PR c++/44039
struct locale { };
template<class charT>
void
foo()
{ locale::locale(); } // // { dg-error "cannot call|function-style" }
void
bar()
{ foo<char>(); }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment