Am So., 3. Dez. 2023 um 10:05 Uhr schrieb Paul Eggert <egg...@cs.ucla.edu>:

> On 2023-12-02 01:04, Bruno Haible wrote:
> > On the contrary, I will try to find and eliminate such alarms.
>
> Please don't complicate and/or slow down shared Gnulib code just to
> pacify this particular false alarm from Clang. The obstack fix was fine,
> because it made obstack clearer and no slower. But we shouldn't have to
> insert unnecessary "is the size zero?" checks merely to pacify the false
> alarms.
>

I would suggest writing macros that encapsulate code like "NULL + 0" and
replace the code with macro invocations.  On legacy systems, the macro
would expand into the legacy code; on modern systems where checks like "is
this zero size?" should be eliminated by the compiler, the macro would
expand into the correct ISO C code.  This can also make the code more
transparent as long as the macro has a self-describing name.


> The right place to fix this problem is in Clang, not in Gnulib.
>

I don't think so.  As long as Clang implements ISO C, it is not Clang's
problem but a problem of code that produces UB (in the technical sense).

Just my two cents, of course.

Reply via email to