diff options
author | Richard Henderson <rth@redhat.com> | 2010-07-14 09:22:06 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2010-07-14 09:22:06 -0700 |
commit | fc7fcda12bd16c2c7515d9d1d1350c3547916e5c (patch) | |
tree | 874b2a508d9c0b1ec4eb686294037a1d6c7610d6 /gcc | |
parent | eab3f92e9569d18a1dc9f9080bf91fc365143f65 (diff) | |
download | gcc-fc7fcda12bd16c2c7515d9d1d1350c3547916e5c.zip gcc-fc7fcda12bd16c2c7515d9d1d1350c3547916e5c.tar.gz gcc-fc7fcda12bd16c2c7515d9d1d1350c3547916e5c.tar.bz2 |
passes.c (rest_of_decl_compilation): Do not call
* 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.
From-SVN: r162184
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/passes.c | 2 | ||||
-rw-r--r-- | gcc/varasm.c | 9 |
3 files changed, 10 insertions, 8 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ba7e54e..c836f49 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 diff --git a/gcc/passes.c b/gcc/passes.c index 8828967..72e9b5a 100644 --- a/gcc/passes.c +++ b/gcc/passes.c @@ -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 diff --git a/gcc/varasm.c b/gcc/varasm.c index 5fad5f0..55218c4 100644 --- a/gcc/varasm.c +++ b/gcc/varasm.c @@ -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))) { |