aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.c
diff options
context:
space:
mode:
authorBen Elliston <bje@gcc.gnu.org>2007-08-17 15:24:24 +1000
committerBen Elliston <bje@gcc.gnu.org>2007-08-17 15:24:24 +1000
commitb79f09ac80dd67134e2b9b0926601cbebed2db42 (patch)
tree6b8ac7af48749591a275670a25a95678e3eecfc2 /gcc/tree.c
parent64276d76e1271c7853adafb8de5364220976aa9b (diff)
downloadgcc-b79f09ac80dd67134e2b9b0926601cbebed2db42.zip
gcc-b79f09ac80dd67134e2b9b0926601cbebed2db42.tar.gz
gcc-b79f09ac80dd67134e2b9b0926601cbebed2db42.tar.bz2
re PR middle-end/32970 (C++ frontend can not handle vector pointer constant parameter)
PR middle-end/32970 gcc/ * tree.c (reconstruct_complex_type): For a pointer to a vector, use build_qualified_type to retain qualifiers of the base type. testsuite/ * g++.dg/ext/altivec-14.C: New test. From-SVN: r127578
Diffstat (limited to 'gcc/tree.c')
-rw-r--r--gcc/tree.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/gcc/tree.c b/gcc/tree.c
index 92d2ba8..b6b339c 100644
--- a/gcc/tree.c
+++ b/gcc/tree.c
@@ -7609,10 +7609,7 @@ reconstruct_complex_type (tree type, tree bottom)
else
return bottom;
- TYPE_READONLY (outer) = TYPE_READONLY (type);
- TYPE_VOLATILE (outer) = TYPE_VOLATILE (type);
-
- return outer;
+ return build_qualified_type (outer, TYPE_QUALS (type));
}
/* Returns a vector tree node given a mode (integer, vector, or BLKmode) and