summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2003-08-29 21:57:05 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2003-08-29 21:57:05 +0000
commit3a2bf8d37de84d647864bcaf139b54258c985279 (patch)
tree4633005da8f64b1767538dcd1ee8920a7bf39820 /gcc
parent72fe0291ed0b258c4c0b00eea051498e272e55f1 (diff)
downloadgcc-3a2bf8d37de84d647864bcaf139b54258c985279.tar.gz
* c-tree.h (C_DECL_FILE_SCOPE): Move ...
* tree.h (DECL_FILE_SCOPE_P): ... here, and rename. * c-decl.c, c-objc-common.c, c-typeck.c: Update to match. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@70925 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/c-decl.c20
-rw-r--r--gcc/c-objc-common.c4
-rw-r--r--gcc/c-tree.h5
-rw-r--r--gcc/c-typeck.c6
-rw-r--r--gcc/tree.h5
6 files changed, 26 insertions, 20 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0875dfd6fa8..d96b40ada68 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2003-08-29 Richard Henderson <rth@redhat.com>
+
+ * c-tree.h (C_DECL_FILE_SCOPE): Move ...
+ * tree.h (DECL_FILE_SCOPE_P): ... here, and rename.
+ * c-decl.c, c-objc-common.c, c-typeck.c: Update to match.
+
2003-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* builtins.def: Fix typos.
diff --git a/gcc/c-decl.c b/gcc/c-decl.c
index 721946ec6c8..51491d283e5 100644
--- a/gcc/c-decl.c
+++ b/gcc/c-decl.c
@@ -1571,7 +1571,7 @@ warn_if_shadowing (tree x, tree old)
name = IDENTIFIER_POINTER (DECL_NAME (x));
if (TREE_CODE (old) == PARM_DECL)
shadow_warning (SW_PARAM, name, old);
- else if (C_DECL_FILE_SCOPE (old))
+ else if (DECL_FILE_SCOPE_P (old))
shadow_warning (SW_GLOBAL, name, old);
else
shadow_warning (SW_LOCAL, name, old);
@@ -1818,7 +1818,7 @@ implicitly_declare (tree functionid)
if (!C_DECL_IMPLICIT (decl))
{
implicit_decl_warning (DECL_NAME (decl));
- if (! C_DECL_FILE_SCOPE (decl))
+ if (! DECL_FILE_SCOPE_P (decl))
warning ("%Hprevious declaration of '%D'",
&DECL_SOURCE_LOCATION (decl), decl);
C_DECL_IMPLICIT (decl) = 1;
@@ -1898,7 +1898,7 @@ redeclaration_error_message (tree newdecl, tree olddecl)
return 1;
return 0;
}
- else if (C_DECL_FILE_SCOPE (newdecl))
+ else if (DECL_FILE_SCOPE_P (newdecl))
{
/* Objects declared at file scope: */
/* If at least one is a reference, it's ok. */
@@ -2689,7 +2689,7 @@ start_decl (tree declarator, tree declspecs, int initialized, tree attributes)
and we preserved the rtl from the previous one
(which may or may not happen). */
&& !DECL_RTL_SET_P (tem)
- && C_DECL_FILE_SCOPE (tem))
+ && DECL_FILE_SCOPE_P (tem))
{
if (TREE_TYPE (tem) != error_mark_node
&& (COMPLETE_TYPE_P (TREE_TYPE (tem))
@@ -2794,7 +2794,7 @@ finish_decl (tree decl, tree init, tree asmspec_tree)
Otherwise, let it through, but if it is not `extern'
then it may cause an error message later. */
(DECL_INITIAL (decl) != 0
- || !C_DECL_FILE_SCOPE (decl))
+ || !DECL_FILE_SCOPE_P (decl))
:
/* An automatic variable with an incomplete type
is an error. */
@@ -2865,7 +2865,7 @@ finish_decl (tree decl, tree init, tree asmspec_tree)
if (c_dialect_objc ())
objc_check_decl (decl);
- if (C_DECL_FILE_SCOPE (decl))
+ if (DECL_FILE_SCOPE_P (decl))
{
if (DECL_INITIAL (decl) == NULL_TREE
|| DECL_INITIAL (decl) == error_mark_node)
@@ -2905,7 +2905,7 @@ finish_decl (tree decl, tree init, tree asmspec_tree)
add_decl_stmt (decl);
}
- if (!C_DECL_FILE_SCOPE (decl))
+ if (!DECL_FILE_SCOPE_P (decl))
{
/* Recompute the RTL of a local array now
if it used to be an incomplete type. */
@@ -2930,7 +2930,7 @@ finish_decl (tree decl, tree init, tree asmspec_tree)
/* This is a no-op in c-lang.c or something real in objc-act.c. */
if (c_dialect_objc ())
objc_check_decl (decl);
- rest_of_decl_compilation (decl, NULL, C_DECL_FILE_SCOPE (decl), 0);
+ rest_of_decl_compilation (decl, NULL, DECL_FILE_SCOPE_P (decl), 0);
}
/* At the end of a declaration, throw away any variable type sizes
@@ -6308,7 +6308,7 @@ c_expand_body_1 (tree fndecl, int nested_p)
to run global initializers, etc. */
if (DECL_NAME (fndecl)
&& MAIN_NAME_P (DECL_NAME (fndecl))
- && C_DECL_FILE_SCOPE (fndecl))
+ && DECL_FILE_SCOPE_P (fndecl))
expand_main_function ();
/* Generate the RTL for this function. */
@@ -6640,7 +6640,7 @@ tree
identifier_global_value (tree t)
{
tree decl = IDENTIFIER_SYMBOL_VALUE (t);
- if (decl == 0 || C_DECL_FILE_SCOPE (decl))
+ if (decl == 0 || DECL_FILE_SCOPE_P (decl))
return decl;
/* Shadowed by something else; find the true global value. */
diff --git a/gcc/c-objc-common.c b/gcc/c-objc-common.c
index 887175be6f8..b5f263fe35c 100644
--- a/gcc/c-objc-common.c
+++ b/gcc/c-objc-common.c
@@ -127,7 +127,7 @@ inline_forbidden_p (tree *nodep, int *walk_subtrees ATTRIBUTE_UNUSED,
/* We cannot inline a nested function that jumps to a nonlocal
label. */
if (TREE_CODE (t) == LABEL_DECL
- && !C_DECL_FILE_SCOPE (t) && DECL_CONTEXT (t) != fn)
+ && !DECL_FILE_SCOPE_P (t) && DECL_CONTEXT (t) != fn)
return node;
break;
@@ -184,7 +184,7 @@ c_cannot_inline_tree_fn (tree *fnp)
goto cannot_inline;
}
- if (! C_DECL_FILE_SCOPE (fn))
+ if (! DECL_FILE_SCOPE_P (fn))
{
/* If a nested function has pending sizes, we may have already
saved them. */
diff --git a/gcc/c-tree.h b/gcc/c-tree.h
index 48b91f59199..7615486595d 100644
--- a/gcc/c-tree.h
+++ b/gcc/c-tree.h
@@ -138,11 +138,6 @@ struct lang_type GTY(())
|| (TYPE_ARG_TYPES (TREE_TYPE (EXP)) == 0 \
&& !DECL_BUILT_IN (EXP)))
-/* Nonzero for a decl which is at file scope. */
-#define C_DECL_FILE_SCOPE(EXP) \
- (! DECL_CONTEXT (EXP) \
- || TREE_CODE (DECL_CONTEXT (EXP)) == TRANSLATION_UNIT_DECL)
-
/* For FUNCTION_TYPE, a hidden list of types of arguments. The same as
TYPE_ARG_TYPES for functions with prototypes, but created for functions
without prototypes. */
diff --git a/gcc/c-typeck.c b/gcc/c-typeck.c
index 423d6bdca12..2dfce9e2ecd 100644
--- a/gcc/c-typeck.c
+++ b/gcc/c-typeck.c
@@ -1545,7 +1545,7 @@ build_external_ref (tree id, int fun)
/* Properly declared variable or function reference. */
if (!objc_ivar)
ref = decl;
- else if (decl != objc_ivar && !C_DECL_FILE_SCOPE (decl))
+ else if (decl != objc_ivar && !DECL_FILE_SCOPE_P (decl))
{
warning ("local declaration of `%s' hides instance variable",
IDENTIFIER_POINTER (id));
@@ -1585,7 +1585,7 @@ build_external_ref (tree id, int fun)
TREE_CONSTANT (ref) = 1;
}
else if (current_function_decl != 0
- && !C_DECL_FILE_SCOPE (current_function_decl)
+ && !DECL_FILE_SCOPE_P (current_function_decl)
&& (TREE_CODE (ref) == VAR_DECL
|| TREE_CODE (ref) == PARM_DECL
|| TREE_CODE (ref) == FUNCTION_DECL))
@@ -2436,7 +2436,7 @@ build_unary_op (enum tree_code code, tree xarg, int flag)
file-scope function counts as a constant. */
if (staticp (arg)
&& ! (TREE_CODE (arg) == FUNCTION_DECL
- && !C_DECL_FILE_SCOPE (arg)))
+ && !DECL_FILE_SCOPE_P (arg)))
TREE_CONSTANT (addr) = 1;
return addr;
}
diff --git a/gcc/tree.h b/gcc/tree.h
index c55375087f2..7f99a514905 100644
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -1624,6 +1624,11 @@ struct tree_type GTY(())
#define DECL_ESTIMATED_INSNS(NODE) \
(FUNCTION_DECL_CHECK (NODE)->decl.u1.i)
+/* Nonzero for a decl which is at file scope. */
+#define DECL_FILE_SCOPE_P(EXP) \
+ (! DECL_CONTEXT (EXP) \
+ || TREE_CODE (DECL_CONTEXT (EXP)) == TRANSLATION_UNIT_DECL)
+
struct function;
struct tree_decl GTY(())