diff options
author | bonzini <bonzini@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-04-16 09:11:39 +0000 |
---|---|---|
committer | bonzini <bonzini@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-04-16 09:11:39 +0000 |
commit | 8d125f7d73b22f7da069fc9e37cbb1c28bc2c314 (patch) | |
tree | d76cd3e5993a1a60d42ee32e88262c35591e9e3a /gcc/tree.h | |
parent | 1f958cd0ef0ac24cb13ce0b01d4c92406c5f172d (diff) | |
download | gcc-8d125f7d73b22f7da069fc9e37cbb1c28bc2c314.tar.gz |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146153 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree.h')
-rw-r--r-- | gcc/tree.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/tree.h b/gcc/tree.h index b191d43d046..e2423ee434c 100644 --- a/gcc/tree.h +++ b/gcc/tree.h @@ -586,6 +586,9 @@ struct tree_common GTY(()) STMT_IN_SSA_EDGE_WORKLIST in all expressions (tree-ssa-propagate.c) + TYPE_VECTOR_OPAQUE in + VECTOR_TYPE + visited: TREE_VISITED in @@ -2221,6 +2224,11 @@ extern enum machine_mode vector_type_mode (const_tree); #define SET_TYPE_VECTOR_SUBPARTS(VECTOR_TYPE, X) \ (VECTOR_TYPE_CHECK (VECTOR_TYPE)->type.precision = exact_log2 (X)) +/* Nonzero in an IDENTIFIER_NODE if the name is a local alias, whose + uses are to be substituted for uses of the TREE_CHAINed identifier. */ +#define TYPE_VECTOR_OPAQUE(NODE) \ + (VECTOR_TYPE_CHECK (NODE)->base.deprecated_flag) + /* Indicates that objects of this type must be initialized by calling a function when they are created. */ #define TYPE_NEEDS_CONSTRUCTING(NODE) \ @@ -3938,6 +3946,7 @@ extern tree build_reference_type_for_mode (tree, enum machine_mode, bool); extern tree build_reference_type (tree); extern tree build_vector_type_for_mode (tree, enum machine_mode); extern tree build_vector_type (tree innertype, int nunits); +extern tree build_opaque_vector_type (tree innertype, int nunits); extern tree build_type_no_quals (tree); extern tree build_index_type (tree); extern tree build_index_2_type (tree, tree); |