https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124364
Bug ID: 124364
Summary: [13/14/15/16 Regression] XPASS:
gcc.dg/Wstringop-overflow-47.c pr97027 note (test for
warnings, line (68|72|77))
Product: gcc
Version: 12.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: azoff at gcc dot gnu.org
Target Milestone: ---
Starting with r12-2338-gf0500db3692276, for arm-none-eabi, the 3 tests xpass'es
for the following targets:
thumb/arch=armv7ve+neon/tune=cortex-a7/float-abi=hard/fpu=auto
thumb/arch=armv6s-m/tune=cortex-m0/float-abi=soft/fpu=auto
thumb/arch=armv8.1-m.main+mve.fp+fp.dp/tune=cortex-m55/float-abi=hard/fpu=auto
thumb/arch=armv8.1-m.main+mve.fp+pacbti+fp.dp/tune=cortex-m85/float-abi=hard/fpu=auto
The tests passes for x86_64-pc-linux-gnu.
Testing gcc.dg/Wstringop-overflow-47.c
doing compile
Executing on host: /build/r16-7849-g1f9879e17466f5/bin/arm-none-eabi-gcc
/build/gcc_src/gcc/testsuite/gcc.dg/Wstringop-overflow-47.c -mthumb
-march=armv6s-m -mtune=cortex-m0 -mfloat-abi=soft -mfpu=auto
-fdiagnostics-plain-output -O2 -S -o Wstringop-overflow-47.s (timeout
= 800)
spawn -ignore SIGHUP /build/r16-7849-g1f9879e17466f5/bin/arm-none-eabi-gcc
/build/gcc_src/gcc/testsuite/gcc.dg/Wstringop-overflow-47.c -mthumb
-march=armv6s-m -mtune=cortex-m0 -mfloat-abi=soft -mfpu=auto
-fdiagnostics-plain-output -O2 -S -o Wstringop-overflow-47.s
pid is 4127989 -4127989
/build/gcc_src/gcc/testsuite/gcc.dg/Wstringop-overflow-47.c: In function
'warn_c32':
/build/gcc_src/gcc/testsuite/gcc.dg/Wstringop-overflow-47.c:37:12: warning:
writing 32 bytes into a region of size 31 [-Wstringop-overflow=]
/build/gcc_src/gcc/testsuite/gcc.dg/Wstringop-overflow-47.c:34:15: note: at
offset 1 into destination object 'warn_a32' of size 32
/build/gcc_src/gcc/testsuite/gcc.dg/Wstringop-overflow-47.c:42:12: warning:
writing 32 bytes into a region of size 31 [-Wstringop-overflow=]
/build/gcc_src/gcc/testsuite/gcc.dg/Wstringop-overflow-47.c:40:8: note: at
offset 1 into destination object 'a32' of size 32
/build/gcc_src/gcc/testsuite/gcc.dg/Wstringop-overflow-47.c: In function
'warn_i16_64':
/build/gcc_src/gcc/testsuite/gcc.dg/Wstringop-overflow-47.c:72:6: warning:
writing 64 bytes into a region of size 63 [-Wstringop-overflow=]
/build/gcc_src/gcc/testsuite/gcc.dg/Wstringop-overflow-47.c:68:14: note: at
offset 1 into destination object 'warn_a64' of size 64
/build/gcc_src/gcc/testsuite/gcc.dg/Wstringop-overflow-47.c:77:6: warning:
writing 64 bytes into a region of size 63 [-Wstringop-overflow=]
/build/gcc_src/gcc/testsuite/gcc.dg/Wstringop-overflow-47.c:74:8: note: at
offset 1 into destination object 'a64' of size 64
pid is -1
output is /build/gcc_src/gcc/testsuite/gcc.dg/Wstringop-overflow-47.c: In
function 'warn_c32':
/build/gcc_src/gcc/testsuite/gcc.dg/Wstringop-overflow-47.c:37:12: warning:
writing 32 bytes into a region of size 31 [-Wstringop-overflow=]
/build/gcc_src/gcc/testsuite/gcc.dg/Wstringop-overflow-47.c:34:15: note: at
offset 1 into destination object 'warn_a32' of size 32
/build/gcc_src/gcc/testsuite/gcc.dg/Wstringop-overflow-47.c:42:12: warning:
writing 32 bytes into a region of size 31 [-Wstringop-overflow=]
/build/gcc_src/gcc/testsuite/gcc.dg/Wstringop-overflow-47.c:40:8: note: at
offset 1 into destination object 'a32' of size 32
/build/gcc_src/gcc/testsuite/gcc.dg/Wstringop-overflow-47.c: In function
'warn_i16_64':
/build/gcc_src/gcc/testsuite/gcc.dg/Wstringop-overflow-47.c:72:6: warning:
writing 64 bytes into a region of size 63 [-Wstringop-overflow=]
/build/gcc_src/gcc/testsuite/gcc.dg/Wstringop-overflow-47.c:68:14: note: at
offset 1 into destination object 'warn_a64' of size 64
/build/gcc_src/gcc/testsuite/gcc.dg/Wstringop-overflow-47.c:77:6: warning:
writing 64 bytes into a region of size 63 [-Wstringop-overflow=]
/build/gcc_src/gcc/testsuite/gcc.dg/Wstringop-overflow-47.c:74:8: note: at
offset 1 into destination object 'a64' of size 64
status 0
PASS: gcc.dg/Wstringop-overflow-47.c pr97027 (test for warnings, line 34)
PASS: gcc.dg/Wstringop-overflow-47.c pr97027 (test for warnings, line 37)
PASS: gcc.dg/Wstringop-overflow-47.c pr97027 (test for warnings, line 42)
XPASS: gcc.dg/Wstringop-overflow-47.c pr97027 note (test for warnings, line 68)
XPASS: gcc.dg/Wstringop-overflow-47.c pr97027 (test for warnings, line 72)
XPASS: gcc.dg/Wstringop-overflow-47.c pr97027 (test for warnings, line 77)
PASS: gcc.dg/Wstringop-overflow-47.c (test for excess errors)
I don't know if this is a real diagnostics issue or only a test issue.
Maybe the xfail condition needs to be adjusted in
// { dg-warning "writing (1 byte|64 bytes) into a region of size (0|63)"
"pr97027" { xfail { ! { aarch64-*-* } } } }