c-tree.h (C_DECL_FILE_SCOPE): Move ...
authorRichard Henderson <rth@redhat.com>
Fri, 29 Aug 2003 21:57:05 +0000 (14:57 -0700)
committerRichard Henderson <rth@gcc.gnu.org>
Fri, 29 Aug 2003 21:57:05 +0000 (14:57 -0700)
        * 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.

From-SVN: r70925

gcc/ChangeLog
gcc/c-decl.c
gcc/c-objc-common.c
gcc/c-tree.h
gcc/c-typeck.c
gcc/tree.h

index 0875dfd6fa8ddf0c0a8c031199e471b89fbf5dd7..d96b40ada68188383e67f32b7adbf1b94c9a4c06 100644 (file)
@@ -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.
index 721946ec6c8ac889c7934744600ac18aaee580f3..51491d283e54ab23da9fd0a68949a59542348e82 100644 (file)
@@ -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.  */
index 887175be6f8a126fc56f22e37a88e67ea5fc73b4..b5f263fe35c7c0cc1e18950a1572037fdca61970 100644 (file)
@@ -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.  */
index 48b91f59199306443485a50903945f8eaf711758..7615486595d610dfdf7a85c157eb89627426ef57 100644 (file)
@@ -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.  */
index 423d6bdca12cc105eeb6b47f35008368b9302bc6..2dfce9e2ecd0a664bb5e111a61e6be66e03bbf21 100644 (file)
@@ -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;
       }
index c55375087f2948025f92c5b647de93c1cc80f2e9..7f99a51490527329602502267f6582149ff3eb09 100644 (file)
@@ -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(())