mixing warning flags

Daniel Jacobowitz drow@false.org
Thu May 12 21:08:00 GMT 2005


On Thu, May 12, 2005 at 03:46:41PM -0400, DJ Delorie wrote:
> 
> How to convert this code?  There is no single OPT_* that reflects when
> the first warning is emitted.
> 
> 	  if (params == 0 && (warn_format_nonliteral || warn_format_security))
> 	    warning (0, "format not a string literal and no format arguments");
> 	  else
> 	    warning (OPT_Wformat_nonliteral,
> 		     "format not a string literal, argument types not checked");

How about this?

	  if (params == 0 && (warn_format_nonliteral || warn_format_security))
	    warning (warn_format_security ? OPT_Wformat_security : OPT_Wformat_nonliteral,
		     "format not a string literal and no format arguments");
	  else
	    warning (OPT_Wformat_nonliteral,
		     "format not a string literal, argument types not checked");

The only useful difference being that you don't have to duplicate the
string.

-- 
Daniel Jacobowitz
CodeSourcery, LLC



More information about the Gcc mailing list