diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 82faae374ca..e6326728a1b 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2000-02-08 Nathan Sidwell + + * typeck.c (strip_all_pointer_quals): Use TYPE_MAIN_VARIANT, to + strip array element qualifiers too. + 2000-02-07 Mark Mitchell * decl.c (store_parm_decls): Don't build cleanups for parameters diff --git a/gcc/cp/typeck.c b/gcc/cp/typeck.c index c9c10854fb5..1ffd7bc8818 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); }