summaryrefslogtreecommitdiff
path: root/gcc/function.c
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2008-12-08 09:12:55 -0800
committerRichard Henderson <rth@gcc.gnu.org>2008-12-08 09:12:55 -0800
commit179d2f74d481593a39387918f89ef5766d9c64ea (patch)
tree485096f4613a7860b4f1694cbf454cc8dbba8614 /gcc/function.c
parentbe6568d8c686fc6d4d7665b9eadc725eabdce39c (diff)
downloadgcc-179d2f74d481593a39387918f89ef5766d9c64ea.tar.gz
re PR middle-end/38240 (Vector type definitions not compatible with attribute target)
PR 38240 * tree.h (TYPE_MODE): Invoke vector_type_mode when needed. (SET_TYPE_MODE): New. * c-decl.c (parser_xref_tag): Use it. (finish_enum): Likewise. * tree.c (build_pointer_type_for_mode): Likewise. (build_reference_type_for_mode, build_index_type): Likewise. (build_range_type, make_vector_type): Likewise. (build_common_tree_nodes_2): Likewise. * stor-layout.c (compute_record_mode): Likewise. (finalize_type_size, layout_type, make_fract_type): Likewise. (make_accum_type, initialize_sizetypes): Likewise. (vector_type_mode): New. * function.c (allocate_struct_function): Call invoke_set_current_function_hook before querying anything else. * config/i386/i386.c (ix86_valid_target_attribute_inner_p): Add avx. cp/ * class.c (finish_struct_bits): Use SET_TYPE_MODE. * decl.c (record_unknown_type): Likewise. (start_enum, finish_enum): Likewise. From-SVN: r142556
Diffstat (limited to 'gcc/function.c')
-rw-r--r--gcc/function.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/function.c b/gcc/function.c
index 0320871f6a8..2ed1748d9ff 100644
--- a/gcc/function.c
+++ b/gcc/function.c
@@ -3987,6 +3987,8 @@ allocate_struct_function (tree fndecl, bool abstract_p)
OVERRIDE_ABI_FORMAT (fndecl);
#endif
+ invoke_set_current_function_hook (fndecl);
+
if (fndecl != NULL_TREE)
{
DECL_STRUCT_FUNCTION (fndecl) = cfun;
@@ -4012,8 +4014,6 @@ allocate_struct_function (tree fndecl, bool abstract_p)
cfun->va_list_gpr_size = VA_LIST_MAX_GPR_SIZE;
cfun->va_list_fpr_size = VA_LIST_MAX_FPR_SIZE;
}
-
- invoke_set_current_function_hook (fndecl);
}
/* This is like allocate_struct_function, but pushes a new cfun for FNDECL