On Mon, Sep 9, 2013 at 5:04 AM, Richard Biener <rguent...@suse.de> wrote: > On Mon, 9 Sep 2013, Jakub Jelinek wrote: > >> On Mon, Sep 09, 2013 at 11:45:08AM +0200, Richard Biener wrote: >> > Well, in this case the patch should IMHO be a no-op. >> > >> > - warning (OPT_Wunused_parameter, "unused parameter %q+D", decl); >> > + warning_at (DECL_SOURCE_LOCATION (decl), OPT_Wunused_parameter, >> > + "unused parameter %qD", decl); >> > >> > no? Unless I misunderstand what %q+D should do. >> >> The question is how exactly is %q+D defined, if it is >> warning_at (location_of (decl), OPT_Wunused_parameter, "unused parameter >> %qD", decl); in this case, or >> DECL_SOURCE_LOCATION (decl) instead. > > It can't be 'location_of' because that's a C++ FE speciality but > warning_at and %q+D are diagnostic machinery level.
%+D was, and has for long, been a C++ FE-specific marker. I don't recall when we decided to make that available to all front-ends. > Unless of course the meaning of %q+D depends on the frontend which > would make its use from the middle-end ill-defined. We introduced xxx_at so that a different locus (different from the decl and different from current locus, if ever defined) can be specified. -- Gaby