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++/30818] [4.1/4.2/4.3 Regression] templates and typedefs cause function prototype not to match



------- Comment #6 from nathan at gcc dot gnu dot org  2007-07-22 16:33 -------
fixed with http://gcc.gnu.org/ml/gcc-patches/2007-07/msg01644.html


        cp/
        PR c++/30818
        * typeck.c (structural_comptypes): No need to check
        resolve_typename_type return value here.
        * cp-tree.h (TYPENAME_IS_RESOLVING_P): New.
        * pt.c (resolve_typename_type): Follow typename typedefs.  Return
        original type rather than error_mark_node in case of failure.
        * parser.c (cp_parser_nested_name_specifier_opt): Adjust
        resolve_typename_type result check.
        (cp_parser_direct_declarator, cp_parser_head,
        cp_parser_constructor_declarator_p): Likewise.

        testsuite/
        PR c++/30818
        * g++.dg/template/crash47.C: Adjust errors.
        * g++.dg/template/crash48.C: Adjust errors.
        * g++.dg/template/typename12.C: New.
        * g++.dg/template/typename13.C: New.
        * g++.dg/template/typename14.C: New.
        * g++.dg/template/typedef6.C: Adjust errors.

the patch should backport painlessly to 4.2


-- 

nathan at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED


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


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