On Tue, 21 Jan 2014, Prathamesh Kulkarni wrote:

> Souce of these warnings are typically calls to error() and friends.
> In  C and C++ front ends there are many calls of error (errmsg).
> errmsg is in many cases, assigned the return value of targetm hooks
> (tagetm.invalid_return_type(), etc.)  Is it correct to replace error
> (errmsg) by
> error ("%s", errmsg) in these cases ?

No.  Typically the message returned by the hook may contain no-arguments 
format specifiers such as %< and %>.  Instead, to avoid such warnings you 
need to add a new function error_at_no_args (location, message) that 
accepts and processes only formats taking no arguments (and probably 
aborts if given a format that needs arguments).

-- 
Joseph S. Myers
jos...@codesourcery.com

Reply via email to