This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [tree-ssa] C++ regressions after merge
Op di 08-04-2003, om 16:51 schreef Diego Novillo:
> On Tue, 2003-04-08 at 10:26, law at redhat dot com wrote:
>
> > I would object very strongly as it would make trying to track down the
> > existing C++ issues extremely difficult. Please please please do not
> > check in the merge.
> >
> Oops. Too late ;)
>
> OK, not a problem. In that case, the diff for the merge can be found at
>
> http://people.redhat.com/dnovillo/pub/20030408-tree-ssa-mainline-merge.diff.gz
>
> If anyone has time, I'll appreciate help in fixing these problems.
Dunno if you have commited the merge already, but I guess not since it
is not in the mailing lists.
I applied your patch, and found one problem in cp/call.c:
---------------------------
+ else if (TYPE_P (candidate->fn))
+ errfn ("%s %T <conversion>", msgid, candidate->fn);
+ else
+ errfn ("%H%s %+#D%s", &TREE_LOCUS (candidate->fn), msgid,
^
+ candidate->fn, candidate->viable == -1 ? " <near match>" : "");
---------------------------
You should not have the ampersand there, TREE_LOCUS is a pointer
already. Removing it fixes the bogus file/line information you saw:
With ampersand:
test.cc:16: error: call of `(CLogger) (int, const char[5])' is ambiguous
8O:786462: error: candidates are: void CLogger::operator()(int, const char*)
8O:786462: error: void CLogger::operator()(int, const char*,
...)
Without it:
test.cc:16: error: call of `(CLogger) (int, const char[5])' is ambiguous
test.cc:6: error: candidates are: void CLogger::operator()(int, const char*)
test.cc:7: error: void CLogger::operator()(int, const char*,
...)
I'll rerun the test suite and see if it helps for all of 'em.
Greetz
Steven