[Bug c/115850] New: gcc generates invalid warning
joseph.weening at gmail dot com
gcc-bugzilla@gcc.gnu.org
Tue Jul 9 20:34:39 GMT 2024
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115850
Bug ID: 115850
Summary: gcc generates invalid warning
Product: gcc
Version: 14.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: joseph.weening at gmail dot com
Target Milestone: ---
The following program generates an invalid warning:
warning: ‘s2’ accessing 16 bytes in a region of size 8
The warning disappears if the calls to s1() and s2() are transposed.
$ cat bug.i
# 0 "bug.c"
# 0 "<built-in>"
# 0 "<command-line>"
# 1 "/usr/include/stdc-predef.h" 1 3 4
# 0 "<command-line>" 2
# 1 "bug.c"
struct tt {
long b[2][1];
};
void s1(long a[1]);
void s2(long b[2][1]);
void s3(struct tt *p) {
s1(p->b[0]);
s2(p->b);
}
$ gcc -v -save-temps -O2 -c bug.c
Using built-in specs.
COLLECT_GCC=gcc
Target: x86_64-pc-linux-gnu
Configured with: ../gcc-14.1.0/configure --prefix=/usr/local/gcc/14.1.0
--disable-multilib --enable-languages=c,c++,fortran
--with-gmp=/usr/local/gmp/6.3.0 --with-mpc=/usr/local/mpc/1.3.1
--with-mpfr=/usr/local/mpfr/4.2.1
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 14.1.0 (GCC)
COLLECT_GCC_OPTIONS='-v' '-save-temps' '-O2' '-c' '-mtune=generic'
'-march=x86-64'
/n/linux9/gcc/14.1.0/bin/../libexec/gcc/x86_64-pc-linux-gnu/14.1.0/cc1 -E
-quiet -v -iprefix
/n/linux9/gcc/14.1.0/bin/../lib/gcc/x86_64-pc-linux-gnu/14.1.0/ bug.c
-mtune=generic -march=x86-64 -O2 -fpch-preprocess -o bug.i
ignoring nonexistent directory
"/n/linux9/gcc/14.1.0/bin/../lib/gcc/x86_64-pc-linux-gnu/14.1.0/../../../../x86_64-pc-linux-gnu/include"
ignoring duplicate directory
"/n/linux9/gcc/14.1.0/bin/../lib/gcc/../../lib/gcc/x86_64-pc-linux-gnu/14.1.0/include"
ignoring nonexistent directory "/usr/local/include"
ignoring duplicate directory
"/n/linux9/gcc/14.1.0/bin/../lib/gcc/../../lib/gcc/x86_64-pc-linux-gnu/14.1.0/include-fixed"
ignoring nonexistent directory
"/n/linux9/gcc/14.1.0/bin/../lib/gcc/../../lib/gcc/x86_64-pc-linux-gnu/14.1.0/../../../../x86_64-pc-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
/usr/local/anaconda/envs/2024.02a-cpu/include
/n/linux9/gcc/14.1.0/bin/../lib/gcc/x86_64-pc-linux-gnu/14.1.0/include
/n/linux9/gcc/14.1.0/bin/../lib/gcc/x86_64-pc-linux-gnu/14.1.0/include-fixed
/n/linux9/gcc/14.1.0/bin/../lib/gcc/../../include
/usr/include
End of search list.
COLLECT_GCC_OPTIONS='-v' '-save-temps' '-O2' '-c' '-mtune=generic'
'-march=x86-64'
/n/linux9/gcc/14.1.0/bin/../libexec/gcc/x86_64-pc-linux-gnu/14.1.0/cc1
-fpreprocessed bug.i -quiet -dumpbase bug.c -dumpbase-ext .c -mtune=generic
-march=x86-64 -O2 -version -o bug.s
GNU C17 (GCC) version 14.1.0 (x86_64-pc-linux-gnu)
compiled by GNU C version 14.1.0, GMP version 6.3.0, MPFR version
4.2.1, MPC version 1.3.1, isl version isl-0.16.1-GMP
warning: GMP header version 6.3.0 differs from library version 6.2.0.
warning: MPFR header version 4.2.1 differs from library version 4.1.0-p9.
warning: MPC header version 1.3.1 differs from library version 1.2.1.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: b43844a30dca62c6d3913d953be6fb40
bug.c: In function ‘s3’:
bug.c:11:3: warning: ‘s2’ accessing 16 bytes in a region of size 8
[]8;;https://gcc.gnu.org/onlinedocs/gcc-14.1.0/gcc/Warning-Options.html#index-Wno-stringop-overflow-Wstringop-overflow=]8;;]
11 | s2(p->b);
| ^~~~~~~~
bug.c:11:3: note: referencing argument 1 of type ‘long int[2][1]’
bug.c:7:6: note: in a call to function ‘s2’
7 | void s2(long b[2][1]);
| ^~
COLLECT_GCC_OPTIONS='-v' '-save-temps' '-O2' '-c' '-mtune=generic'
'-march=x86-64'
as -v --64 -o bug.o bug.s
GNU assembler version 2.42 (x86_64-pc-linux-gnu) using BFD version (GNU
Binutils) 2.42
COMPILER_PATH=/n/linux9/gcc/14.1.0/bin/../libexec/gcc/x86_64-pc-linux-gnu/14.1.0/:/n/linux9/gcc/14.1.0/bin/../libexec/gcc/
LIBRARY_PATH=/n/linux9/gcc/14.1.0/bin/../lib/gcc/x86_64-pc-linux-gnu/14.1.0/:/n/linux9/gcc/14.1.0/bin/../lib/gcc/:/n/linux9/gcc/14.1.0/bin/../lib/gcc/x86_64-pc-linux-gnu/14.1.0/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/local/anaconda/envs/2024.02a-cpu/lib/:/n/linux9/gcc/14.1.0/bin/../lib/gcc/x86_64-pc-linux-gnu/14.1.0/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-v' '-save-temps' '-O2' '-c' '-mtune=generic'
'-march=x86-64'
More information about the Gcc-bugs
mailing list