Jason Merrill <ja...@redhat.com> wrote:
On 11/7/20 10:11 AM, Iain Sandoe wrote:
+ warning_at (token1->location, OPT_Wattributes, "attributes are"
+ " only permitted in this position for Objective-C++,"
+ " ignored");
It would be nice for the warning to suggest where to move the attribute,
rather than just say that this location is bad.
f.C:
__attribute__(())
extern "C" int foo (void);
===
So, I looked at two possibles.
1/ trying to use a fixit hint - but this seems a little lacking in
information to me.
f.C:2:1: warning: attributes are only permitted in this position for
Objective-C++ (ignored for C++) [-Wattributes]
2 | __attribute__(())
| ^~~~~~~~~~~~~
3 | extern "C" int foo (void);
| __attribute__
(NOTE: ‘__attribute__' starting indent is below ‘int’ for a fixed spacing
font)
2/ adding an inform:
f.C:2:1: warning: attributes are only permitted in this position for
Objective-C++ (ignored for C++) [-Wattributes]
2 | __attribute__(())
| ^~~~~~~~~~~~~
f.C:3:12: note: for C++, attributes may be added here
3 | extern "C" int foo (void);
| ^~~
(NOTE: likewise, ^~~ starting indent is below ‘int’ for a fixed spacing
font)
===
I’m inclined to think that the second is more useful,
but have patches for both,
which (or something else) do you prefer?
thanks
Iain