RFR(M): 8139116: Fixes for warning "format not a string literal"

Lindenmaier, Goetz goetz.lindenmaier at sap.com
Tue Oct 13 09:32:24 UTC 2015


Hi,

The gcc build has -Wformat enabled.  This warns if the format string in a printf-like function is not a string literal, because if so it can not check that the types of the arguments match the format specifiers.

In a row of places this warning is suppressed by PRAGMA_FORMAT_NONLITERAL_IGNORED. This change fixes all but three occurrences of this pragma.

This especially improves heapInspection.hpp where a static buffer is used to print the format string, which is not multithreading safe.

I didn't understand the purpose of the original code in heapDumper.cpp. Was this
just bogus code, or did I oversee something?

Also, I don't know why there was the workaround for '*' in heapInspection.cpp and globals.cpp.
Is there any platform that does not understand this?

Please review this change. I please need a sponsor.
http://cr.openjdk.java.net/~goetz/webrevs/8139116-nonliteral/webrev.00/

Best regards,
  Goetz.


More information about the hotspot-runtime-dev mailing list