aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/cp/ChangeLog5
-rw-r--r--gcc/cp/typeck.c5
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 82faae3..e632672 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,8 @@
+2000-02-08 Nathan Sidwell <nathan@acm.org>
+
+ * typeck.c (strip_all_pointer_quals): Use TYPE_MAIN_VARIANT, to
+ strip array element qualifiers too.
+
2000-02-07 Mark Mitchell <mark@codesourcery.com>
* decl.c (store_parm_decls): Don't build cleanups for parameters
diff --git a/gcc/cp/typeck.c b/gcc/cp/typeck.c
index c9c1085..1ffd7bc 100644
--- a/gcc/cp/typeck.c
+++ b/gcc/cp/typeck.c
@@ -7170,7 +7170,8 @@ casts_away_constness (t1, t2)
/* Returns TYPE with its cv qualifiers removed
TYPE is T cv* .. *cv where T is not a pointer type,
- returns T * .. * */
+ returns T * .. *. (If T is an array type, then the cv qualifiers
+ above are those of the array members.) */
static tree
strip_all_pointer_quals (type)
@@ -7179,5 +7180,5 @@ strip_all_pointer_quals (type)
if (TREE_CODE (type) == POINTER_TYPE)
return build_pointer_type (strip_all_pointer_quals (TREE_TYPE (type)));
else
- return strip_top_quals (type);
+ return TYPE_MAIN_VARIANT (type);
}