This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/10646] [3.3/3.4 regression] non-const reference is incorrectly matched in a "const T" partial specialization


PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=10646



------- Additional Comments From janis187 at us dot ibm dot com  2003-06-23 15:55 -------
The regression in 10646 was introduced or exposed by this patch:

--- gcc/gcc/cp/ChangeLog ---

> 2002-02-22  Nathan Sidwell  <nathan@codesourcery.com>
>
>       PR c++/2645, DR 295
>       * cp-tree.h (tsubst_flags_t): Add tf_ignore_bad_quals,
>       tf_keep_type_decl.
>       (make_typename_type): Use tsubst_flags_t.
>       * decl.c (make_typename_type): Adjust. Return non-artificial
>       TYPE_DECLs, if required.
>       (grokdeclarator): Simplify CVR qualification handling. Allow bad
>       qualifiers on typedef types.
>       * decl2.c (handle_class_head): Adjust make_typename_type call.
>       * parse.y (nested_name_specifier): Likewise.
>       (typename_sub0): Likewise.
>       (typename_sub1): Likewise.
>       * pt.c (convert_template_argument): Adjust make_typename_type
>       return value.
>       (tsubst): Adjust cp_build_qualified_type_real calls.
>       (check_cv_quals_for_unify): Cope with alowing bad qualifications
>       on template type parms.
>       (instantiate_decl): Recheck substitutions to give warnings on bad
>       qualifications.
>       * tree.c (cp_build_qualified_type_real): Use tf_allow_bad_quals.

The regression hunt used the smaller test case from comment #2.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]