OSDN Git Service

PR c++/35758
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 24 Apr 2008 16:29:40 +0000 (16:29 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 24 Apr 2008 16:29:40 +0000 (16:29 +0000)
commitd991e6e8883396dca4970a3c5bef47c68128550e
tree2b27f4fd6f66ac33d3f929db98431f16e8e12dd9
parent6c3755b57664ca16bc721677a8445ccd6146461a
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134639 138bc75d-0d04-0410-961f-82ee72b054a4
12 files changed:
gcc/ChangeLog
gcc/c-common.c
gcc/config/rs6000/rs6000.c
gcc/config/spu/spu.c
gcc/cp/ChangeLog
gcc/cp/cp-objcp-common.h
gcc/cp/cp-tree.h
gcc/cp/decl2.c
gcc/langhooks-def.h
gcc/langhooks.h
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/ext/vector14.C [new file with mode: 0644]