This is the mail archive of the
mailing list for the GCC project.
Re: [Patch to gcc/function] PR 58362
- From: Paolo Carlini <paolo dot carlini at oracle dot com>
- To: Richard Biener <rguenther at suse dot de>
- Cc: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>, Jan Hubicka <hubicka at ucw dot cz>
- Date: Mon, 09 Sep 2013 10:50:04 +0200
- Subject: Re: [Patch to gcc/function] PR 58362
- Authentication-results: sourceware.org; auth=none
- References: <522CCF1B dot 8080007 at oracle dot com> <alpine dot LNX dot 2 dot 00 dot 1309090945470 dot 3869 at zhemvz dot fhfr dot qr>
On 09/09/2013 09:46 AM, Richard Biener wrote:
Well, first notice that the patch fixes the issue *both* for the C and
C++ front-ends, that's why I added the testcase to c-c++-common. This
isn't a C++ issue. Then notice that we do already have tens of cases
where we use DECL_SOURCE_LOCATION + %qD, when we want to be precise
about the location. The diagnostic machinery has this mechanism using +
which uses location_of, which is often useful for expressions, but which
very often we don't use for decls. In fact, some people, like Manuel,
see the audit trail of the bug, find the mechanism quite confusing. Is
there something specific you want me to check?
On Sun, 8 Sep 2013, Paolo Carlini wrote:
this patchlet fixes the column # of the unused parameter warnings emitted by
do_warn_unused_parameter by explicitly passing DECL_SOURCE_LOCATION (decl)
instead of wrongly relying on '+', which in this case ends up meaning the
location of the function declaration. Tested x86_64-linux.
I would have expected %q+D to use the location of the corresponding
decl, not some random other location. So, isn't the bug in the
C++ frontend diagnostic machinery?