diff options
author | Paolo Bonzini <bonzini@gcc.gnu.org> | 2009-04-16 09:11:39 +0000 |
---|---|---|
committer | Paolo Bonzini <bonzini@gcc.gnu.org> | 2009-04-16 09:11:39 +0000 |
commit | b6fc2cdb350cd4f4d1591264caf57ad07a7ff78a (patch) | |
tree | d76cd3e5993a1a60d42ee32e88262c35591e9e3a /gcc/tree.c | |
parent | b4763f5c4a9d2bde0963bbb9422aa3480c5e81da (diff) | |
download | gcc-b6fc2cdb350cd4f4d1591264caf57ad07a7ff78a.zip gcc-b6fc2cdb350cd4f4d1591264caf57ad07a7ff78a.tar.gz gcc-b6fc2cdb350cd4f4d1591264caf57ad07a7ff78a.tar.bz2 |
c-common.c (vector_targets_convertible_p, [...]): Use TYPE_VECTOR_OPAQUE instead of targetm.vector_opaque_p.
2009-04-16 Paolo Bonzini <bonzini@gnu.org>
* c-common.c (vector_targets_convertible_p, vector_types_convertible_p):
Use TYPE_VECTOR_OPAQUE instead of targetm.vector_opaque_p.
* c-typeck.c (really_start_incremental_init): Likewise.
* target-def.h (TARGET_VECTOR_OPAQUE_P): Remove.
(TARGET_INITIALIZER): Remove it.
* target.h (struct target): Remove vector_opaque_p.
* tree.c (build_opaque_vector_type): New.
* tree.h (TYPE_VECTOR_OPAQUE): New.
(build_opaque_vector_type): Declare.
* doc/tm.texi (TARGET_VECTOR_OPAQUE_P): Remove.
* config/rs6000/rs6000.c (build_opaque_vector_type,
rs6000_is_vector_type, TARGET_VECTOR_OPAQUE_P): Remove.
(rs6000_init_builtins): Use build_opaque_vector_type for
opaque_V4SI_type_node.
cp:
2009-04-16 Paolo Bonzini <bonzini@gnu.org>
* decl.c (check_initializer): Use TYPE_VECTOR_OPAQUE
instead of targetm.vector_opaque_p.
From-SVN: r146153
Diffstat (limited to 'gcc/tree.c')
-rw-r--r-- | gcc/tree.c | 13 |
1 files changed, 13 insertions, 0 deletions
@@ -7970,6 +7970,19 @@ build_vector_type (tree innertype, int nunits) return make_vector_type (innertype, nunits, VOIDmode); } +/* Similarly, but takes the inner type and number of units, which must be + a power of two. */ + +tree +build_opaque_vector_type (tree innertype, int nunits) +{ + tree t; + innertype = build_distinct_type_copy (innertype); + t = make_vector_type (innertype, nunits, VOIDmode); + TYPE_VECTOR_OPAQUE (t) = true; + return t; +} + /* Build RESX_EXPR with given REGION_NUMBER. */ tree |