aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-common.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2008-04-24 18:29:40 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2008-04-24 18:29:40 +0200
commit5dc1195440bf20453b2d98bfd3c3bf92a42c759e (patch)
tree2b27f4fd6f66ac33d3f929db98431f16e8e12dd9 /gcc/c-common.c
parent6f88c6630defca9ff60cc1383837a4dfd4c1b317 (diff)
downloadgcc-5dc1195440bf20453b2d98bfd3c3bf92a42c759e.zip
gcc-5dc1195440bf20453b2d98bfd3c3bf92a42c759e.tar.gz
gcc-5dc1195440bf20453b2d98bfd3c3bf92a42c759e.tar.bz2
re PR c++/35758 (vector_size attribute lost in function arguments for templates)
PR c++/35758 * c-common.c (handle_vector_size_attribute): Call lang_hooks.types.reconstruct_complex_type instead of reconstruct_complex_type. * config/rs6000/rs6000.c (rs6000_handle_altivec_attribute): Likewise. * config/spu/spu.c (spu_handle_vector_attribute): Likewise. * langhooks.h (struct lang_hooks_for_types): Add reconstruct_complex_type hook. * langhooks-def.h (LANG_HOOKS_RECONSTRUCT_COMPLEX_TYPE): Define. (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add it. * cp-tree.h (cp_reconstruct_complex_type): New prototype. * cp-objcp-common.h (LANG_HOOKS_RECONSTRUCT_COMPLEX_TYPE): Define. * decl2.c (is_late_template_attribute): Only make vector_size late tmpl attribute if argument is type or value dependent. (cp_reconstruct_complex_type): New function. * g++.dg/ext/vector14.C: New test. From-SVN: r134639
Diffstat (limited to 'gcc/c-common.c')
-rw-r--r--gcc/c-common.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/c-common.c b/gcc/c-common.c
index 36e1c3d..d110b32 100644
--- a/gcc/c-common.c
+++ b/gcc/c-common.c
@@ -6170,7 +6170,7 @@ handle_vector_size_attribute (tree *node, tree name, tree args,
new_type = build_vector_type (type, nunits);
/* Build back pointers if needed. */
- *node = reconstruct_complex_type (*node, new_type);
+ *node = lang_hooks.types.reconstruct_complex_type (*node, new_type);
return NULL_TREE;
}