On Fri, Aug 18, 2023 at 03:04:28PM +0200, Bruno Haible wrote:
> Hi Gavin,
> 
> I see this commit:
>       * install-info/install-info.c (output_dirfile): Avoid mixed
>       declaration and statements.
> 
> Is it possible nowadays to assume ISO C99 mixed declaration and statements
> are supported by the C compiler? I don't know about the portability targets
> of TeXinfo, but for those of Gnulib, documented in [1], we can now make
> this assumption [2].

It may have been some MS-Windows compiler (MSVC?) that didn't support it,
but I don't know the history behind this.  I haven't been aware of any
problems with mixed declarations and statements.  I remember they've gone
unnoticed for a while before being fixed, and nobody's complained.

Indeed, I expect that there are other constructs that are also invalid C89,
in particular non-constant initialisers that are used quite a lot, e.g.

  char *text1 = (*entry1)->text;

I am going to take out the recommendation that we check for this with
compiler warnings as this would simplify things.


Reply via email to