>>   #if _LIBC
>> -  __fxprintf (NULL, file_name != NULL ? "%s:%d: " : " ",
>> -              file_name, line_number);
>> +  if (file_name != NULL)
>> +    __fxprintf (NULL, "%s:%d: ", file_name, line_number);
>> +  else
>> +    __fxprintf (NULL, " ");
> 
> The new version is less efficient because it contains more
> instructions, no?

I don't know.

> And the old version is correct.

Well, yes.  However, in the case `file_name == NULL', the formatting
string is " ", but there are two arguments for it, so gcc correctly
emits a warning since it might be a programming error with an
incorrect formatting string.

> How about if we call the warning a compiler bug instead?

IMHO, it most certainly isn't a bug in gcc.


    Werner

Reply via email to