Commit fe7080d2 by Andrew Pinski Committed by Andrew Pinski

[multiple changes]

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

        * c-typeck.c (composite_type):
        <case POINTER_TYPE>: Build a qualified type of
        the new type.
        <case ARRAY_TYPE>: Likewise.
        <case FUNCTION_TYPE>: Likewise.

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

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

From-SVN: r83557
parent 701b17c2
2004-06-23 Andrew Pinski <apinski@apple.com>
* c-typeck.c (composite_type):
<case POINTER_TYPE>: Build a qualified type of
the new type.
<case ARRAY_TYPE>: Likewise.
<case FUNCTION_TYPE>: Likewise.
2004-06-23 Pat Haugen <pthaugen@us.ibm.com>
PR optimization/15633
......
......@@ -253,7 +253,8 @@ composite_type (tree t1, tree t2)
tree pointed_to_2 = TREE_TYPE (t2);
tree target = composite_type (pointed_to_1, pointed_to_2);
t1 = build_pointer_type (target);
return build_type_attribute_variant (t1, attributes);
t1 = build_type_attribute_variant (t1, attributes);
return qualify_type (t1, t2);
}
case ARRAY_TYPE:
......@@ -266,7 +267,8 @@ composite_type (tree t1, tree t2)
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));
return build_type_attribute_variant (t1, attributes);
t1 = build_type_attribute_variant (t1, attributes);
return qualify_type (t1, t2);
}
case FUNCTION_TYPE:
......@@ -289,13 +291,15 @@ composite_type (tree t1, tree t2)
/* Simple way if one arg fails to specify argument types. */
if (TYPE_ARG_TYPES (t1) == 0)
{
t1 = build_function_type (valtype, TYPE_ARG_TYPES (t2));
return build_type_attribute_variant (t1, attributes);
t1 = build_function_type (valtype, TYPE_ARG_TYPES (t2));
t1 = build_type_attribute_variant (t1, attributes);
return qualify_type (t1, t2);
}
if (TYPE_ARG_TYPES (t2) == 0)
{
t1 = build_function_type (valtype, TYPE_ARG_TYPES (t1));
return build_type_attribute_variant (t1, attributes);
t1 = build_type_attribute_variant (t1, attributes);
return qualify_type (t1, t2);
}
/* If both args specify argument types, we must merge the two
......@@ -365,6 +369,7 @@ composite_type (tree t1, tree t2)
c_override_global_bindings_to_false = false;
t1 = build_function_type (valtype, newargs);
t1 = qualify_type (t1, t2);
/* ... falls through ... */
}
......
2006-06-23 Andrew Pinski <apinski@apple.com>
* gcc.dg/c90-array-quals.c: New test.
2006-06-22 Richard Henderson <rth@redhat.com>
* gcc.dg/noreturn-1.c (foo5): Update function does return lineno.
......
extern int (*const a)[];
extern int (*const a)[10];
extern int (*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