Commit 9b493293 by Jason Merrill Committed by Jason Merrill

typeck.c (mark_addressable): Don't assume a FUNCTION_DECL has DECL_LANG_SPECIFIC.

	* typeck.c (mark_addressable): Don't assume a FUNCTION_DECL
	has DECL_LANG_SPECIFIC.

From-SVN: r16695
parent 20b90169
Mon Nov 24 12:15:55 1997 Jason Merrill <jason@yorick.cygnus.com>
* typeck.c (mark_addressable): Don't assume a FUNCTION_DECL
has DECL_LANG_SPECIFIC.
* exception.cc (struct cp_eh_info): Add handlers field.
(__cp_push_exception): Initialize it.
(__cp_pop_exception): Decrement it. Don't pop unless it's 0.
......
......@@ -4807,12 +4807,15 @@ mark_addressable (exp)
return 1;
case FUNCTION_DECL:
/* We have to test both conditions here. The first may
be non-zero in the case of processing a default function.
The second may be non-zero in the case of a template function. */
x = DECL_MAIN_VARIANT (x);
if (DECL_TEMPLATE_INFO (x) && !DECL_TEMPLATE_SPECIALIZATION (x))
mark_used (x);
if (DECL_LANG_SPECIFIC (x) != 0)
{
x = DECL_MAIN_VARIANT (x);
/* We have to test both conditions here. The first may be
non-zero in the case of processing a default function. The
second may be non-zero in the case of a template function. */
if (DECL_TEMPLATE_INFO (x) && !DECL_TEMPLATE_SPECIALIZATION (x))
mark_used (x);
}
TREE_ADDRESSABLE (x) = 1;
TREE_USED (x) = 1;
TREE_ADDRESSABLE (DECL_ASSEMBLER_NAME (x)) = 1;
......
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