re PR c++/45562 (ICE: SIGSEGV in cp_build_unary_op (typeck.c:5083) with -std=gnu++0x -fipa-cp-clone -fcompare-debug)

2010-10-11  Martin Jambor  <mjambor@suse.cz>

	PR c++/45562
	* cp/cp-tree.h (current_class_ref): Check that cp_function_chain is
	non-NULL.
	* cp/call.c (build_cxx_call): Likewise.

From-SVN: r165330
This commit is contained in:
Martin Jambor 2010-10-11 22:23:04 +02:00 committed by Martin Jambor
parent 579c1bf349
commit 7c663eb022
3 changed files with 11 additions and 2 deletions

View file

@ -1,3 +1,10 @@
2010-10-11 Martin Jambor <mjambor@suse.cz>
PR c++/45562
* cp-tree.h (current_class_ref): Check that cp_function_chain is
non-NULL.
* call.c (build_cxx_call): Likewise.
2010-10-10 Jason Merrill <jason@redhat.com>
* pt.c (tsubst_default_argument): Handle DEFAULT_ARG.

View file

@ -6082,7 +6082,8 @@ build_cxx_call (tree fn, int nargs, tree *argarray)
fndecl = get_callee_fndecl (fn);
if ((!fndecl || !TREE_NOTHROW (fndecl))
&& at_function_scope_p ()
&& cfun)
&& cfun
&& cp_function_chain)
cp_function_chain->can_throw = 1;
/* Check that arguments to builtin functions match the expectations. */

View file

@ -1055,7 +1055,8 @@ struct GTY(()) language_function {
(cfun && cp_function_chain \
? cp_function_chain->x_current_class_ptr : NULL_TREE)
#define current_class_ref \
(cfun ? cp_function_chain->x_current_class_ref : NULL_TREE)
((cfun && cp_function_chain) \
? cp_function_chain->x_current_class_ref : NULL_TREE)
/* The EH_SPEC_BLOCK for the exception-specifiers for the current
function, if any. */