diff options
author | DJ Delorie <dj@redhat.com> | 2009-04-22 17:26:51 -0400 |
---|---|---|
committer | DJ Delorie <dj@gcc.gnu.org> | 2009-04-22 17:26:51 -0400 |
commit | 653e2568d981fcc3fd6fc4e0920e3eb4a1f58f3a (patch) | |
tree | 9f27a9996fc9e7445b194eec2fea911a90cfa1bb /gcc/config/m32c/m32c.c | |
parent | a58f7da12a2ada0ab43e1e5a5ce2945c0b738b3c (diff) | |
download | gcc-653e2568d981fcc3fd6fc4e0920e3eb4a1f58f3a.zip gcc-653e2568d981fcc3fd6fc4e0920e3eb4a1f58f3a.tar.gz gcc-653e2568d981fcc3fd6fc4e0920e3eb4a1f58f3a.tar.bz2 |
m32c.c (m32c_special_page_vector_p): Move declarations before code.
* config/m32c/m32c.c (m32c_special_page_vector_p): Move
declarations before code.
(current_function_special_page_vector): Likewise.
(m32c_expand_insv): Silence a warning.
From-SVN: r146614
Diffstat (limited to 'gcc/config/m32c/m32c.c')
-rw-r--r-- | gcc/config/m32c/m32c.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/gcc/config/m32c/m32c.c b/gcc/config/m32c/m32c.c index 5021831..cb09aef 100644 --- a/gcc/config/m32c/m32c.c +++ b/gcc/config/m32c/m32c.c @@ -2771,10 +2771,12 @@ interrupt_handler (tree * node ATTRIBUTE_UNUSED, int m32c_special_page_vector_p (tree func) { + tree list; + if (TREE_CODE (func) != FUNCTION_DECL) return 0; - tree list = M32C_ATTRIBUTES (func); + list = M32C_ATTRIBUTES (func); while (list) { if (is_attribute_p ("function_vector", TREE_PURPOSE (list))) @@ -2837,12 +2839,13 @@ current_function_special_page_vector (rtx x) if ((GET_CODE(x) == SYMBOL_REF) && (SYMBOL_REF_FLAGS (x) & SYMBOL_FLAG_FUNCVEC_FUNCTION)) { + tree list; tree t = SYMBOL_REF_DECL (x); if (TREE_CODE (t) != FUNCTION_DECL) return 0; - tree list = M32C_ATTRIBUTES (t); + list = M32C_ATTRIBUTES (t); while (list) { if (is_attribute_p ("function_vector", TREE_PURPOSE (list))) @@ -3870,6 +3873,7 @@ m32c_expand_insv (rtx *operands) case 5: p = gen_iorqi3_24 (op0, src0, GEN_INT (mask)); break; case 6: p = gen_iorhi3_16 (op0, src0, GEN_INT (mask)); break; case 7: p = gen_iorhi3_24 (op0, src0, GEN_INT (mask)); break; + default: p = NULL_RTX; break; /* Not reached, but silences a warning. */ } emit_insn (p); |