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
This commit is contained in:
Jason Merrill 1997-11-25 07:00:30 +00:00 committed by Jason Merrill
parent 20b9016983
commit 9b49329391
2 changed files with 12 additions and 6 deletions

View File

@ -1,5 +1,8 @@
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.

View File

@ -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;