deprecated GNU ## extension used

Ulrich Drepper drepper@redhat.com
Tue Jul 11 08:46:00 GMT 2000


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?

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

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

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

-- 
---------------.                          ,-.   1325 Chesapeake Terrace
Ulrich Drepper  \    ,-------------------'   \  Sunnyvale, CA 94089 USA
Red Hat          `--' drepper at redhat.com   `------------------------


More information about the Libc-alpha mailing list