From: jason Date: Mon, 10 May 2010 21:20:47 +0000 (+0000) Subject: PR c++/44017 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f302e37ac84681c0c057f25d0137ce23e2e6e50b;p=thirdparty%2Fgcc.git PR c++/44017 * semantics.c (baselink_for_fns): Revert earlier change. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159246 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index beedb80edd91..31749dd1b299 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,5 +1,8 @@ 2010-05-10 Jason Merrill + PR c++/44017 + * semantics.c (baselink_for_fns): Revert earlier change. + PR c++/44045 * typeck.c (cp_build_modify_expr): Complain about assignment to array from init list. diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c index 0847403c2276..cbbcf96e2cc6 100644 --- a/gcc/cp/semantics.c +++ b/gcc/cp/semantics.c @@ -2658,8 +2658,7 @@ baselink_for_fns (tree fns) if (!cl) cl = DECL_CONTEXT (fn); cl = TYPE_BINFO (cl); - return build_baselink (TYPE_BINFO (DECL_CONTEXT (fn)), cl, fns, - /*optype=*/NULL_TREE); + return build_baselink (cl, cl, fns, /*optype=*/NULL_TREE); } /* Returns true iff DECL is an automatic variable from a function outside diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 9f0a4b1d6705..344096022d2c 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,8 @@ 2010-05-10 Jason Merrill + PR c++/44017 + * g++.dg/template/inherit5.C: New. + PR c++/44045 * g++.dg/cpp0x/initlist33.C: New. * g++.dg/cpp0x/initlist26.C: Adjust. diff --git a/gcc/testsuite/g++.dg/template/inherit5.C b/gcc/testsuite/g++.dg/template/inherit5.C new file mode 100644 index 000000000000..cd22f5b10c9c --- /dev/null +++ b/gcc/testsuite/g++.dg/template/inherit5.C @@ -0,0 +1,11 @@ +struct A +{ + template void foo(); +}; + +template struct B : A +{ + B() { foo(); } +}; + +B<0> b;