mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-19 22:41:28 +08:00
tree.def (COMPLEX_TYPE): Constrain element type.
2008-10-22 Richard Guenther <rguenther@suse.de> * tree.def (COMPLEX_TYPE): Constrain element type. * tree.c (build_complex_type): Assert that. * tree-ssa-structalias.c (could_have_pointers): Complex types cannot have pointers. From-SVN: r141299
This commit is contained in:
parent
a7da8b427f
commit
51c869cac9
@ -1,3 +1,10 @@
|
||||
2008-10-22 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
* tree.def (COMPLEX_TYPE): Constrain element type.
|
||||
* tree.c (build_complex_type): Assert that.
|
||||
* tree-ssa-structalias.c (could_have_pointers): Complex types
|
||||
cannot have pointers.
|
||||
|
||||
2008-10-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
|
||||
|
||||
PR c/30949
|
||||
|
@ -2765,8 +2765,7 @@ could_have_pointers (tree t)
|
||||
tree type = TREE_TYPE (t);
|
||||
|
||||
if (POINTER_TYPE_P (type)
|
||||
|| AGGREGATE_TYPE_P (type)
|
||||
|| TREE_CODE (type) == COMPLEX_TYPE)
|
||||
|| AGGREGATE_TYPE_P (type))
|
||||
return true;
|
||||
|
||||
return false;
|
||||
|
@ -6168,6 +6168,10 @@ build_complex_type (tree component_type)
|
||||
tree t;
|
||||
hashval_t hashcode;
|
||||
|
||||
gcc_assert (INTEGRAL_TYPE_P (component_type)
|
||||
|| SCALAR_FLOAT_TYPE_P (component_type)
|
||||
|| FIXED_POINT_TYPE_P (component_type));
|
||||
|
||||
/* Make a node of the sort we want. */
|
||||
t = make_node (COMPLEX_TYPE);
|
||||
|
||||
|
@ -186,7 +186,8 @@ DEFTREECODE (REFERENCE_TYPE, "reference_type", tcc_type, 0)
|
||||
compiler. COMPLEX_TYPE, VECTOR_TYPE, ARRAY_TYPE. */
|
||||
|
||||
/* Complex number types. The TREE_TYPE field is the data type
|
||||
of the real and imaginary parts. */
|
||||
of the real and imaginary parts. It must be of scalar
|
||||
arithmetic type, not including pointer type. */
|
||||
DEFTREECODE (COMPLEX_TYPE, "complex_type", tcc_type, 0)
|
||||
|
||||
/* Vector types. The TREE_TYPE field is the data type of the vector
|
||||
|
Loading…
x
Reference in New Issue
Block a user