GNU bug report logs -
#23640
25.1.50; Getting rid of compiler warnings
Previous Next
Reported by: Ken Brown <kbrown <at> cornell.edu>
Date: Sat, 28 May 2016 18:41:02 UTC
Severity: normal
Found in version 25.1.50
Done: Ken Brown <kbrown <at> cornell.edu>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
On Wed 01 Jun 2016, Paul Eggert wrote:
> On 06/01/2016 01:37 PM, Richard Stallman wrote:
>> A macro UNUSED_LISP could handle the first.
>
> Yes, we could have separate macros for each data type requiring syntactically
> different initializers. Something like this, say:
>
> int n UNUSED_0;
> Lisp_Object obj UNUSED_Qnil;
>
> instead of the current:
>
> int n IF_LINT (= 0);
> Lisp_Object obj IF_LINT (= Qnil);
>
> We could easily change the code in that way. Is it worth the trouble?
>
>> What is the reason for writing IF_LINT (volatile)
>> instead of just volatile?
>
> Primarily, to tell the reader that the 'volatile' is not needed for
> correctness; it's present only to pacify a buggy compiler or lint checker. (In
> this case, it pacifies GCC; see GCC bug#54561.) It's basically the same reason
> the code uses 'IF_LINT (= 0)' rather than '= 0'.
Adding more macros that cruft up the source code to deal with a buggy
compiler warning is silly. If the warning is broken and does not
operate correctly, then do not enable that warning.
AndyM
This bug report was last modified 8 years and 349 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.