phi...@apache.org wrote on Thu, 10 Aug 2017 00:09 +0000:
> +++ subversion/trunk/build/generator/gen_base.py Thu Aug 10 00:09:21 2017
> @@ -288,15 +288,21 @@ class GeneratorBase:
> +    # errno names can vary depending on the Python, and possibly the
> +    # OS, version and they are not even used by normal release builds
> +    # so omit them from the tarball. We always want the struct itself
> +    # so that SVN_DEBUG builds still compile.
> +    write_struct('svn__errno',
> +                 [] if self.release_mode else errno.errorcode.items())

Passing an empty list to write_struct() will define svn__errno as:

    static struct {…} svn__errno[] = {};

svn__errno is iterated on with:

    for (i = 0; i < sizeof(svn__errno)/sizeof(svn__errno[0]); i++)

Is this loop iteration style valid for empty arrays?  Looking at C89, it's not
clear to me that sizeof(x[0]) is well-defined for empty arrays.

IIRC, this question affects Windows debug builds since they define SVN_DEBUG.

Cheers,

Daniel

Reply via email to