------- Comment #13 from jason at gcc dot gnu dot org 2009-04-07 04:38 ------- Subject: Bug 39310
Author: jason Date: Tue Apr 7 04:38:10 2009 New Revision: 145648 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=145648 Log: * decl.c (grokdeclarator): Reject pointer to qualified function type. PR c++/37806, core issue 547 * typeck.c (cp_apply_type_quals_to_decl): Don't apply any quals to a typedef. * tree.c (cp_build_qualified_type_real): Don't apply restrict to a function type. * decl.h (enum decl_context): Add TEMPLATE_TYPE_ARG. * decl.c (groktypename): Add is_template_arg parameter. (grokdeclarator): Allow function cv-quals on a template type arg. * parser.c (cp_parser_new_type_id, cp_parser_type_id): Add is_template_arg argument in calls to groktypename. * cp-tree.h: Adjust prototype. * error.c (dump_type_prefix, dump_type_suffix): Fix plain FUNCTION_TYPE printing. PR libstdc++/39310 * include/tr1_impl/type_traits (is_function): Add partial specializations with function cv-quals. (__is_function_helper): Remove. (is_member_pointer): Don't define in terms of is_member_*_pointer. Added: branches/gcc-4_4-branch/gcc/testsuite/g++.dg/other/typedef2.C - copied unchanged from r145367, trunk/gcc/testsuite/g++.dg/other/typedef2.C branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/typedef17.C - copied unchanged from r145367, trunk/gcc/testsuite/g++.dg/template/typedef17.C Modified: branches/gcc-4_4-branch/gcc/cp/ChangeLog branches/gcc-4_4-branch/gcc/cp/cp-tree.h branches/gcc-4_4-branch/gcc/cp/decl.c branches/gcc-4_4-branch/gcc/cp/decl.h branches/gcc-4_4-branch/gcc/cp/error.c branches/gcc-4_4-branch/gcc/cp/parser.c branches/gcc-4_4-branch/gcc/cp/tree.c branches/gcc-4_4-branch/gcc/cp/typeck.c branches/gcc-4_4-branch/gcc/testsuite/ChangeLog branches/gcc-4_4-branch/gcc/testsuite/g++.dg/template/qualttp20.C branches/gcc-4_4-branch/libstdc++-v3/ChangeLog branches/gcc-4_4-branch/libstdc++-v3/include/tr1_impl/type_traits -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39310