From ef4f94ac977780ceb14adc8dcbcc2eb2c23b5425 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Wed, 3 Apr 2002 14:39:51 -0800 Subject: re PR rtl-optimization/4330 (Optimizer generates illegal assembly code) PR opt/4330 * langhooks.h (lang_hooks.decls.warn_unused_global): New. * toplev.c (check_global_declarations): Use it. * langhooks-def.h (lhd_warn_unused_global_decl): Declare. (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New. (LANG_HOOKS_DECLS): Add it. * langhooks.c (lhd_warn_unused_global_decl): New. * c-decl.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New. * c-objc-common.c (c_warn_unused_global_decl): New. * c-tree.h (c_warn_unused_global_decl): Declare. * objc/objc-lang.c (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New. * cp-lang.c (cxx_warn_unused_global_decl): New. (LANG_HOOKS_WARN_UNUSED_GLOBAL_DECL): New. * g++.dg/warn/Wunused-2.C: New. * gcc.dg/unused-4.c: New. From-SVN: r51818 --- gcc/langhooks.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'gcc/langhooks.c') diff --git a/gcc/langhooks.c b/gcc/langhooks.c index 4cdb8ab..128e6de 100644 --- a/gcc/langhooks.c +++ b/gcc/langhooks.c @@ -113,6 +113,25 @@ lhd_staticp (exp) return 0; } +/* Called from check_global_declarations. */ + +bool +lhd_warn_unused_global_decl (decl) + tree decl; +{ + /* This is what used to exist in check_global_declarations. Probably + not many of these actually apply to non-C languages. */ + + if (TREE_CODE (decl) == FUNCTION_DECL && DECL_INLINE (decl)) + return false; + if (TREE_CODE (decl) == VAR_DECL && TREE_READONLY (decl)) + return false; + if (DECL_IN_SYSTEM_HEADER (decl)) + return false; + + return true; +} + /* Called when -dy is given on the command line. */ void -- cgit v1.1