From: Volker Reichelt Date: Wed, 1 Feb 2006 11:46:53 +0000 (+0000) Subject: Backport: X-Git-Tag: releases/gcc-3.4.6~114 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=27a14226f9b9381a0c8450eb4b0eedfcf69116fd;p=thirdparty%2Fgcc.git Backport: 2005-12-19 Mark Mitchell PR c++/24278 * init.c (expand_member_init): Print messages about baseclasses using %T rather than %D. * g++.dg/template/ctor5.C: New test. From-SVN: r110471 --- diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 9c032d50aa46..b3b7bf76b564 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,12 @@ +2006-01-31 Volker Reichelt + + Backport: + 2005-12-19 Mark Mitchell + + PR c++/24278 + * init.c (expand_member_init): Print messages about baseclasses + using %T rather than %D. + 2006-01-24 Volker Reichelt PR c++/16829 diff --git a/gcc/cp/init.c b/gcc/cp/init.c index 8064e4f58911..4e3cd4bef427 100644 --- a/gcc/cp/init.c +++ b/gcc/cp/init.c @@ -1015,11 +1015,11 @@ expand_member_init (tree name) if (!direct_binfo && !virtual_binfo) { if (TYPE_USES_VIRTUAL_BASECLASSES (current_class_type)) - error ("type `%D' is not a direct or virtual base of `%T'", - name, current_class_type); + error ("type `%T' is not a direct or virtual base of `%T'", + basetype, current_class_type); else - error ("type `%D' is not a direct base of `%T'", - name, current_class_type); + error ("type `%T' is not a direct base of `%T'", + basetype, current_class_type); return NULL_TREE; } diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index fa16199483fe..c8b173e85495 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2006-01-31 Volker Reichelt + + Backport: + 2005-12-19 Mark Mitchell + + PR c++/24278 + * g++.dg/template/ctor5.C: New test. + 2006-01-24 Volker Reichelt PR c++/16829 diff --git a/gcc/testsuite/g++.dg/ext/ctor5.C b/gcc/testsuite/g++.dg/ext/ctor5.C new file mode 100644 index 000000000000..18e55d179faf --- /dev/null +++ b/gcc/testsuite/g++.dg/ext/ctor5.C @@ -0,0 +1,8 @@ +// PR c++/24278 + +template struct A +{ + A() : T(0) {} // { dg-error "base" } +}; + +A a; // { dg-error "instantiated" }