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


On Tue, Jul 11, 2000 at 06:03:41PM +0200, Andreas Jaeger wrote:
> >>>>> 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 :-(

Neil claims that all GNU-syntax varargs macros can be rewritten in C99
syntax.  I have yet to see a counterexample from real code.  If you
can show me one, I'll take it out again; otherwise I stand behind his
decision to deprecate this.

zw

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