Commit ab44f281 by Andrew Pinski

[multiple changes]

2007-04-30  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR C++/31721
        * tree.c (reconstruct_complex_type): Reconstruct a reference
        correctly.
        Also use the same mode for the pointer as the old pointer type.
2007-04-30  Andrew pinski  <andrew_pinski@playstation.sony.com>

        PR C++/31721
        * g++.dg/ext/vector7.C: New testcase.

From-SVN: r124300
parent 8f1a19e2
2007-04-30 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR C++/31721
* tree.c (reconstruct_complex_type): Reconstruct a reference
correctly.
Also use the same mode for the pointer as the old pointer type.
2007-04-30 Francois-Xavier Coudert <coudert@clipper.ens.fr>
* doc/trouble.texi (Interoperation): Remove note about Ultrix
......
2007-04-29 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
2007-04-30 Andrew pinski <andrew_pinski@playstation.sony.com>
PR C++/31721
* g++.dg/ext/vector7.C: New testcase.
2007-04-29 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
PR fortran/31591
* gfortran.dg/bound_simplification_1.f90: New test.
// { dg-options "" }
// { dg-do compile }
// PR C++/31721 and PR 14217
// the attribute vector_size would change a reference type into a pointer type which was wrong.
#define vector __attribute__((__vector_size__(16) ))
vector int b;
vector int &a = b;
......@@ -7236,11 +7236,18 @@ tree
reconstruct_complex_type (tree type, tree bottom)
{
tree inner, outer;
if (POINTER_TYPE_P (type))
if (TREE_CODE (type) == POINTER_TYPE)
{
inner = reconstruct_complex_type (TREE_TYPE (type), bottom);
outer = build_pointer_type_for_mode (inner, TYPE_MODE (type),
TYPE_REF_CAN_ALIAS_ALL (type));
}
else if (TREE_CODE (type) == REFERENCE_TYPE)
{
inner = reconstruct_complex_type (TREE_TYPE (type), bottom);
outer = build_pointer_type (inner);
outer = build_reference_type_for_mode (inner, TYPE_MODE (type),
TYPE_REF_CAN_ALIAS_ALL (type));
}
else if (TREE_CODE (type) == ARRAY_TYPE)
{
......
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