aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/toplev.c6
2 files changed, 9 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 614337b..db1d4f8f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2004-06-03 Geoffrey Keating <geoffk@apple.com>
+
+ * toplev.c (check_global_declarations): Don't ask for
+ DECL_ASSEMBLER_NAME unless the function really is declared
+ static and not defined.
+
2004-06-03 Matt Austern <austern@apple.com>
PR c++/15428
diff --git a/gcc/toplev.c b/gcc/toplev.c
index 27f299b..afbdb5c 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -1516,12 +1516,12 @@ check_global_declarations (tree *vec, int len)
because many programs have static variables
that exist only to get some text into the object file. */
if (TREE_CODE (decl) == FUNCTION_DECL
- && (warn_unused_function
- || TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)))
&& DECL_INITIAL (decl) == 0
&& DECL_EXTERNAL (decl)
&& ! DECL_ARTIFICIAL (decl)
- && ! TREE_PUBLIC (decl))
+ && ! TREE_PUBLIC (decl)
+ && (warn_unused_function
+ || TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl))))
{
if (TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)))
pedwarn ("%J'%F' used but never defined", decl, decl);