On 2021-02-23 13:09:18 -0500, Tom Lane wrote:
> Andres Freund <and...@anarazel.de> writes:
> > One of the recent commits have introduce a new warning with gcc 10, when
> > building with optimizations:
>
> Oddly, I see no such warning with Fedora's current compiler,
> gcc version 10.2.1 20201125 (Red Hat 10.2.1-9) (GCC)
>
> Are you using any special compiler switches?

A few. At first I didn't see any relevant ones - but I think it's just
that you need to use -O3 instead of -O2.

andres@awork3:~/build/postgres/dev-optimize/vpath$ (cd src/backend/regex/ && 
ccache gcc-10 -Wall -Wmissing-prototypes -Wpointer-arith 
-Wdeclaration-after-statement -Werror=vla -Wendif-labels 
-Wmissing-format-attribute -Wimplicit-fallthrough=3 -Wcast-function-type 
-Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard 
-I../../../src/include -I/home/andres/src/postgresql/src/include  -D_GNU_SOURCE 
-I/usr/include/libxml2   -c -o regcomp.o 
/home/andres/src/postgresql/src/backend/regex/regcomp.c -O2)

andres@awork3:~/build/postgres/dev-optimize/vpath$ (cd src/backend/regex/ && 
ccache gcc-10 -Wall -Wmissing-prototypes -Wpointer-arith 
-Wdeclaration-after-statement -Werror=vla -Wendif-labels 
-Wmissing-format-attribute -Wimplicit-fallthrough=3 -Wcast-function-type 
-Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard 
-I../../../src/include -I/home/andres/src/postgresql/src/include  -D_GNU_SOURCE 
-I/usr/include/libxml2   -c -o regcomp.o 
/home/andres/src/postgresql/src/backend/regex/regcomp.c -O3)
In file included from 
/home/andres/src/postgresql/src/backend/regex/regcomp.c:2304:
/home/andres/src/postgresql/src/backend/regex/regc_nfa.c: In function 
‘checkmatchall’:
/home/andres/src/postgresql/src/backend/regex/regc_nfa.c:3086:20: warning: 
array subscript -1 is outside array bounds of ‘_Bool[257]’ [-Warray-bounds]
 3086 |    hasmatch[depth] = true;
      |                    ^
/home/andres/src/postgresql/src/backend/regex/regc_nfa.c:2920:8: note: while 
referencing ‘hasmatch’
 2920 |  bool  hasmatch[DUPINF + 1];
      |        ^~~~~~~~

andres@awork3:~/build/postgres/dev-optimize/vpath$ gcc-10 --version
gcc-10 (Debian 10.2.1-6) 10.2.1 20210110
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Greetings,

Andres Freund


Reply via email to