This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [pushed] microblaze-tdep: Add ATTRIBUTE_PRINTF to microblaze_debug


On 09/25/2017 05:43 PM, Michael Eager wrote:
> On 09/25/2017 09:06 AM, Pedro Alves wrote:
>>> but the better fix
>>> seems to me to
>>> be to turn off the obviously inappropriate -Wformat-nonliteral option in
>>> microblaze_debug() using
>>> #pragma GCC diagnostic ignored "-Wformat-nonliteral"
>> That doesn't make sense to me.
> 
> The argument passed to vprintf_unformatted in microblaze_debug is not a
> string
> literal.  The diagnostic message is correct.  If you don't want the
> diagnostic,
> turning it off seems correct.

The diagnostic hasn't gone away.  Instead, a warning is now emitted one
level up, at the microblaze_debug call sites, iff someone passes a
non-literal string as format string by mistake.  That makes total
sense, because microblaze_debug is just a wrapper
around *printf_unfiltered.

> This is somewhat moot.  All uses of microblaze_debug use literal string
> formats,
> so adding ATTRIBUTE_PRINTF is OK.

And if someone passes a non-literal format, we'll get a warning then.
If we suppressed the warning inside microblaze_debug as you were
suggesting, then we'd risk passing a non-literal as format string to
vprintf_unfiltered.  That's the whole point.

Thanks,
Pedro Alves


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]