emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Emacs-diffs] master 6cd5678: Clarify compiler-pacifier in frame.c


From: Paul Eggert
Subject: Re: [Emacs-diffs] master 6cd5678: Clarify compiler-pacifier in frame.c
Date: Mon, 26 Aug 2019 01:15:51 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0

Eli Zaretskii wrote:

The warnings will re-appear if one
compiles outside of Git with suitable GCC options, so the solution is
incomplete at best.
We can't (and shouldn't try to) defend against people compiling Emacs with 
arbitrary-chosen GCC warning options, as there would be far too many false 
alarms. The best we can do is pacify GCC when a reasonable set of warning 
options is used, where "reasonable" is up to us (and is automated by 'configure').
Admittedly UNINIT is a bit of a kludge, but it's the best kludge we have in the
area.
An explicit initialization is a tad better, as it doesn't require any
tinkering with obscure settings.
Neither should UNINIT require tinkering, if users employ default configuration 
settings.
Explicit initialization uses plain C rather than the awkward UNINIT macro, and 
that is a plus for explicit initialization. However, that's a style issue, and 
for me it's outweighed by the technical advantage of aiding automated debugging 
tools that I use occasionally. For these tools it is helpful to say that a 
variable is not initialized, because that helps catch use-before-set errors. An 
explicit initialization would cause these use-before-set bugs to go uncaught by 
these debugging tools.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]