Commit de46b2fe by Andrew Pinski Committed by Andrew Pinski

c-typeck.c (composite_type, [...]): Abort if we have type qualifiers at all.

2004-06-23  Andrew Pinski  <apinski@apple.com>

        * c-typeck.c (composite_type, <case ARRAY_TYPE>): Abort if we have
        type qualifiers at all.
        If both of the type domains are null and the new element type is
        the same as one of the, return the one which the element type.
        matches.
        Do not call qualify_type on the new type.

2004-06-23  Andrew Pinski  <apinski@apple.com>

        * gcc.dg/c90-array-quals-2.c: New test.

From-SVN: r83567
parent 07f266ae
2004-06-23 Andrew Pinski <apinski@apple.com>
* c-typeck.c (composite_type, <case ARRAY_TYPE>): Abort if we have
type qualifiers at all.
If both of the type domains are null and the new element type is
the same as one of the, return the one which the element type.
matches.
Do not call qualify_type on the new type.
2004-06-23 Ulrich Weigand <uweigand@de.ibm.com>
* config/s390/s390.h (DEFAULT_MAIN_RETURN): Remove.
......
......@@ -260,15 +260,25 @@ composite_type (tree t1, tree t2)
case ARRAY_TYPE:
{
tree elt = composite_type (TREE_TYPE (t1), TREE_TYPE (t2));
/* We should not have any type quals on arrays at all. */
if (TYPE_QUALS (t1) || TYPE_QUALS (t2))
abort ();
/* Save space: see if the result is identical to one of the args. */
if (elt == TREE_TYPE (t1) && TYPE_DOMAIN (t1))
return build_type_attribute_variant (t1, attributes);
if (elt == TREE_TYPE (t2) && TYPE_DOMAIN (t2))
return build_type_attribute_variant (t2, attributes);
if (elt == TREE_TYPE (t1) && !TYPE_DOMAIN (t2) && !TYPE_DOMAIN (t1))
return build_type_attribute_variant (t1, attributes);
if (elt == TREE_TYPE (t2) && !TYPE_DOMAIN (t2) && !TYPE_DOMAIN (t1))
return build_type_attribute_variant (t2, attributes);
/* Merge the element types, and have a size if either arg has one. */
t1 = build_array_type (elt, TYPE_DOMAIN (TYPE_DOMAIN (t1) ? t1 : t2));
t1 = build_type_attribute_variant (t1, attributes);
return qualify_type (t1, t2);
return build_type_attribute_variant (t1, attributes);
}
case FUNCTION_TYPE:
......
2004-06-23 Andrew Pinski <apinski@apple.com>
* gcc.dg/c90-array-quals-2.c: New test.
2006-06-23 Nitin Yewale <NitinY@KPITCummins.com>
* gcc.dg/kpice1.c: New test.
......
extern const char *const a[];
extern const char *const a[];
extern const char *const a[];
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment