This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


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

Re: deprecated GNU ## extension used


>>>>> Ulrich Drepper writes:

Uli> Andreas Jaeger <aj@suse.de> writes:
>> Compiling glibc with the current GCC I get e.g. this warning:
>> In file included from programs/ld-numeric.c:30:
>> programs/linereader.h:156:59: warning: deprecated GNU ## extension used
>> 
>> This macro used is:
>> #define lr_error(lr, fmt, args...) \
>> error_at_line (0, 0, lr->fname, lr->lineno, fmt, ## args)
>> 
>> in the following line:
>> lr_error (lr, _("trailing garbage at end of line"));
>> 
>> Should we care about this?

Uli> No.  The GNU syntax is not redundant.  It is superior to the ISO C99
Uli> stuff and therefore cannot go away.

Uli> Zack, Neil, you have to remove this.  How else will you write
Uli> something like the `eprintf' macro from the manual?  The change
Uli> Andreas proposed will not work if no argument is provided.

You can only write the eprintf example with one argument less,
e.g. as:
eprintf (...)
with all my patches I had to remove one argument - in case that the
variable list was empty :-(

Uli> The GNU extension must exist in parallel since I don't think changing
Uli> the ISO C99 extension to allow this case is a good idea.  You can
Uli> leave in the message about using this feature in programs compiled
Uli> with pedantic but even then there should be feature like __extension__
Uli> to disable it.

Andreas
-- 
 Andreas Jaeger
  SuSE Labs aj@suse.de
   private aj@arthur.inka.de

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