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:
parent
20b9016983
commit
9b49329391
@ -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.
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user