* passes.c (rest_of_decl_compilation): Do not call
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 14 Jul 2010 16:22:06 +0000 (16:22 +0000)
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 14 Jul 2010 16:22:06 +0000 (16:22 +0000)
        * assemble_variable for functions.
        * varasm.c (assemble_variable): Remove early exit for functions;
        assert that we're given a variable.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@162184 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/passes.c
gcc/varasm.c

index ba7e54e..c836f49 100644 (file)
@@ -1,3 +1,10 @@
+2010-07-14  Richard Henderson  <rth@redhat.com>
+
+       * passes.c (rest_of_decl_compilation): Do not call assemble_variable
+       for functions.
+       * varasm.c (assemble_variable): Remove early exit for functions;
+       assert that we're given a variable.
+
 2010-07-14  Jie Zhang  <jie@codesourcery.com>
 
        * config/arm/cortex-a8.md (cortex_a8_alu): Don't use
index 8828967..72e9b5a 100644 (file)
@@ -194,8 +194,6 @@ rest_of_decl_compilation (tree decl,
            ;
          else if (TREE_CODE (decl) != FUNCTION_DECL)
            varpool_finalize_decl (decl);
-         else
-           assemble_variable (decl, top_level, at_end, 0);
        }
 
 #ifdef ASM_FINISH_DECLARE_OBJECT
index 5fad5f0..55218c4 100644 (file)
@@ -2150,6 +2150,9 @@ assemble_variable (tree decl, int top_level ATTRIBUTE_UNUSED,
   rtx decl_rtl, symbol;
   section *sect;
 
+  /* This function is supposed to handle VARIABLES.  Ensure we have one.  */
+  gcc_assert (TREE_CODE (decl) == VAR_DECL);
+
   if (! targetm.have_tls
       && TREE_CODE (decl) == VAR_DECL
       && DECL_THREAD_LOCAL_P (decl))
@@ -2188,12 +2191,6 @@ assemble_variable (tree decl, int top_level ATTRIBUTE_UNUSED,
   if (DECL_EXTERNAL (decl))
     return;
 
-  /* Output no assembler code for a function declaration.
-     Only definitions of functions output anything.  */
-
-  if (TREE_CODE (decl) == FUNCTION_DECL)
-    return;
-
   /* Do nothing for global register variables.  */
   if (DECL_RTL_SET_P (decl) && REG_P (DECL_RTL (decl)))
     {