c-common.c (decl_attributes): Set TREE_USED on the object pointed to.

* c-common.c (decl_attributes) [A_ALIAS]: Set TREE_USED on the
	object pointed to.

From-SVN: r33284
This commit is contained in:
Zack Weinberg 2000-04-20 16:09:27 +00:00 committed by Zack Weinberg
parent ba2b25ecac
commit 06a50fff5b
3 changed files with 24 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2000-04-20 Zack Weinberg <zack@wolery.cumb.org>
* c-common.c (decl_attributes) [A_ALIAS]: Set TREE_USED on the
object pointed to.
Thu Apr 20 14:19:18 MET DST 2000 Jan Hubicka <jh@suse.cz>
* loop.c (emit_iv_add_mult): Simplify it's input and emit

View File

@ -981,6 +981,8 @@ decl_attributes (node, attributes, prefix_attributes)
break;
}
id = get_identifier (TREE_STRING_POINTER (id));
/* This counts as a use of the object pointed to. */
TREE_USED (id) = 1;
if (TREE_CODE (decl) == FUNCTION_DECL)
DECL_INITIAL (decl) = error_mark_node;

View File

@ -0,0 +1,17 @@
/* A static function with a global alias should not get 'defined but
not used' warnings. Exposed by Linux kernel. */
/* { dg-do compile } */
/* { dg-options "-Wall" } */
extern void do_something (void);
extern void do_something_else (void);
static int
init_foobar(void) /* { dg-bogus "defined but not used" "not used warning" } */
{
do_something();
do_something_else();
return 0;
}
int init_module(void) __attribute__((alias("init_foobar")));