aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.h
diff options
context:
space:
mode:
authorPaolo Bonzini <bonzini@gcc.gnu.org>2009-04-16 09:11:39 +0000
committerPaolo Bonzini <bonzini@gcc.gnu.org>2009-04-16 09:11:39 +0000
commitb6fc2cdb350cd4f4d1591264caf57ad07a7ff78a (patch)
treed76cd3e5993a1a60d42ee32e88262c35591e9e3a /gcc/tree.h
parentb4763f5c4a9d2bde0963bbb9422aa3480c5e81da (diff)
downloadgcc-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.h')
-rw-r--r--gcc/tree.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/tree.h b/gcc/tree.h
index b191d43..e2423ee 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);