On 2026-10-15 5:41 a.m., Richard Biener wrote:
> I've seen a flurry of recent pa changes, including one regarding
> fnptr canonicalization. Did you have a chance to check this patch
> series?
GCC bootstraps successfully with the patch on hppa-unknown-linux-gnu. Check is
still running
but I see some new testsuite fails in the gcc suite:
FAIL: c-c++-common/analyzer/feasibility-3.c (test for bogus messages, line 129)
FAIL: c-c++-common/analyzer/feasibility-3.c (test for bogus messages, line 132)
FAIL: c-c++-common/analyzer/function-ptr-2.c (test for warnings, line 23)
FAIL: c-c++-common/analyzer/function-ptr-2.c (test for warnings, line 24)
FAIL: c-c++-common/analyzer/function-ptr-2.c (test for warnings, line 25)
FAIL: c-c++-common/analyzer/function-ptr-2.c (test for warnings, line 26)
FAIL: c-c++-common/analyzer/function-ptr-2.c (test for warnings, line 38)
FAIL: c-c++-common/analyzer/function-ptr-2.c (test for warnings, line 39)
FAIL: c-c++-common/analyzer/function-ptr-2.c (test for warnings, line 40)
FAIL: c-c++-common/analyzer/function-ptr-2.c (test for warnings, line 41)
FAIL: c-c++-common/analyzer/function-ptr-2.c (test for excess errors)
FAIL: gcc.dg/addr_equal-1.c execution test
FAIL: gcc.dg/pr44024.c (test for excess errors)
I looked at addr_equal-1.c. It aborts:
Breakpoint 1, __GI_abort () at abort.c:77
⚠️ warning: 77 abort.c: No such file or directory
(gdb) bt
#0 __GI_abort () at abort.c:77
#1 0x00010364 in main (argc=<optimized out>, argv=<optimized out>)
at /home/dave/gnu/gcc/gcc/gcc/testsuite/gcc.dg/addr_equal-1.c:46
main is optimized to just a call to abort:
.globl main
.type main, @function
main:
.PROC
.CALLINFO FRAME=64,CALLS,SAVE_RP
.ENTRY
.LVL0:
.LFB6:
.loc 1 43 1 is_stmt 1 view -0
.cfi_startproc
.loc 1 45 3 view .LVU9
.loc 1 46 5 view .LVU10
.loc 1 43 1 is_stmt 0 view .LVU11
stw %r2,-20(%r30)
ldo 64(%r30),%r30
.cfi_def_cfa_offset -64
.cfi_offset 2, -20
.loc 1 46 5 view .LVU12
b,l abort,%r2
nop
.LVL1:
.loc 1 46 5 view .LVU13
nop
.EXIT
.PROCEND
.cfi_endproc
.LFE6:
.size main, .-main
The pr44024.c fail is:
spawn -ignore SIGHUP /home/dave/gnu/gcc/objdir1/gcc/xgcc -B/home/dave/gnu/gcc/ob
jdir1/gcc/ /home/dave/gnu/gcc/gcc/gcc/testsuite/gcc.dg/pr44024.c -fdiagnostics-p
lain-output -O1 -fdelete-null-pointer-checks -fdump-tree-ccp1 -lm -o pr44024.exe
/usr/bin/hppa-linux-gnu-ld.bfd: /tmp/ccZ2jEsO.o: in function `main':
(.text+0x28): undefined reference to `link_error'
/usr/bin/hppa-linux-gnu-ld.bfd: /tmp/ccZ2jEsO.o: in function `.LC0':
(.rodata.cst4+0x0): undefined reference to `foo'
collect2: error: ld returned 1 exit status
compiler exited with status 1
FAIL: gcc.dg/pr44024.c (test for excess errors)
Excess errors:
(.text+0x28): undefined reference to `link_error'
(.rodata.cst4+0x0): undefined reference to `foo'
The feasibility-3.c fail is:
/home/dave/gnu/gcc/gcc/gcc/testsuite/c-c++-common/analyzer/feasibility-3.c:127:6
: note: (8) ...to here
/home/dave/gnu/gcc/gcc/gcc/testsuite/c-c++-common/analyzer/feasibility-3.c:127:6:
note: (9) following 'false' branch (when 'rv != 0')...
/home/dave/gnu/gcc/gcc/gcc/testsuite/c-c++-common/analyzer/feasibility-3.c:132:4:
note: (10) ...to here
/home/dave/gnu/gcc/gcc/gcc/testsuite/c-c++-common/analyzer/feasibility-3.c:132:4:
note: (11) use of uninitialized value 'pdeo' here
FAIL: c-c++-common/analyzer/feasibility-3.c (test for bogus messages, line 129)
FAIL: c-c++-common/analyzer/feasibility-3.c (test for bogus messages, line 132)
PASS: c-c++-common/analyzer/feasibility-3.c (test for excess errors)
The function-ptr-2.c fail is:
spawn -ignore SIGHUP /home/dave/gnu/gcc/objdir1/gcc/xgcc
-B/home/dave/gnu/gcc/objdir1/gcc/
/home/dave/gnu/gcc/gcc/gcc/testsuite/c-c++-common/analyzer/function-ptr-2.c
-fdiagnostics-plain-output -fanalyzer -Wanalyzer-too-complex
-Wanalyzer-symbol-too-complex -S -o function-ptr-2.s
/home/dave/gnu/gcc/gcc/gcc/testsuite/c-c++-common/analyzer/function-ptr-2.c: In
function 'test_2':
/home/dave/gnu/gcc/gcc/gcc/testsuite/c-c++-common/analyzer/function-ptr-2.c:38:3:
warning: UNKNOWN
/home/dave/gnu/gcc/gcc/gcc/testsuite/c-c++-common/analyzer/function-ptr-2.c:39:3:
warning: UNKNOWN
/home/dave/gnu/gcc/gcc/gcc/testsuite/c-c++-common/analyzer/function-ptr-2.c:40:3:
warning: UNKNOWN
/home/dave/gnu/gcc/gcc/gcc/testsuite/c-c++-common/analyzer/function-ptr-2.c:41:3:
warning: UNKNOWN
/home/dave/gnu/gcc/gcc/gcc/testsuite/c-c++-common/analyzer/function-ptr-2.c: In
function 'test_1':
/home/dave/gnu/gcc/gcc/gcc/testsuite/c-c++-common/analyzer/function-ptr-2.c:23:3:
warning: UNKNOWN
/home/dave/gnu/gcc/gcc/gcc/testsuite/c-c++-common/analyzer/function-ptr-2.c:24:3:
warning: UNKNOWN
/home/dave/gnu/gcc/gcc/gcc/testsuite/c-c++-common/analyzer/function-ptr-2.c:25:3:
warning: UNKNOWN
/home/dave/gnu/gcc/gcc/gcc/testsuite/c-c++-common/analyzer/function-ptr-2.c:26:3:
warning: UNKNOWN
/home/dave/gnu/gcc/gcc/gcc/testsuite/c-c++-common/analyzer/function-ptr-2.c: In
function 'calls_free':
/home/dave/gnu/gcc/gcc/gcc/testsuite/c-c++-common/analyzer/function-ptr-2.c:11:3:
warning: double-'free' of 'victim' [CWE-415]
[-Wanalyzer-double-free]
/home/dave/gnu/gcc/gcc/gcc/testsuite/c-c++-common/analyzer/function-ptr-2.c:20:6:
note: (1) entry to 'test_1'
/home/dave/gnu/gcc/gcc/gcc/testsuite/c-c++-common/analyzer/function-ptr-2.c:28:3:
note: (2) calling 'calls_free' from 'test_1'
/home/dave/gnu/gcc/gcc/gcc/testsuite/c-c++-common/analyzer/function-ptr-2.c:9:1:
note: (3) entry to 'calls_free'
/home/dave/gnu/gcc/gcc/gcc/testsuite/c-c++-common/analyzer/function-ptr-2.c:11:3:
note: (4) first 'free' here
/home/dave/gnu/gcc/gcc/gcc/testsuite/c-c++-common/analyzer/function-ptr-2.c:28:3:
note: (5) returning to 'test_1' from 'calls_free'
/home/dave/gnu/gcc/gcc/gcc/testsuite/c-c++-common/analyzer/function-ptr-2.c:29:3:
note: (6) passing freed pointer 'ptr' in call to 'calls_free'
from 'test_1'
/home/dave/gnu/gcc/gcc/gcc/testsuite/c-c++-common/analyzer/function-ptr-2.c:9:1:
note: (7) entry to 'calls_free'
/home/dave/gnu/gcc/gcc/gcc/testsuite/c-c++-common/analyzer/function-ptr-2.c:11:3:
note: (8) second 'free' here; first 'free' was at (4)
PASS: c-c++-common/analyzer/function-ptr-2.c (test for warnings, line 11)
FAIL: c-c++-common/analyzer/function-ptr-2.c (test for warnings, line 23)
FAIL: c-c++-common/analyzer/function-ptr-2.c (test for warnings, line 24)
FAIL: c-c++-common/analyzer/function-ptr-2.c (test for warnings, line 25)
FAIL: c-c++-common/analyzer/function-ptr-2.c (test for warnings, line 26)
FAIL: c-c++-common/analyzer/function-ptr-2.c (test for warnings, line 38)
FAIL: c-c++-common/analyzer/function-ptr-2.c (test for warnings, line 39)
FAIL: c-c++-common/analyzer/function-ptr-2.c (test for warnings, line 40)
FAIL: c-c++-common/analyzer/function-ptr-2.c (test for warnings, line 41)
FAIL: c-c++-common/analyzer/function-ptr-2.c (test for excess errors)
Excess errors:
/home/dave/gnu/gcc/gcc/gcc/testsuite/c-c++-common/analyzer/function-ptr-2.c:38:3:
warning: UNKNOWN
/home/dave/gnu/gcc/gcc/gcc/testsuite/c-c++-common/analyzer/function-ptr-2.c:39:3:
warning: UNKNOWN
/home/dave/gnu/gcc/gcc/gcc/testsuite/c-c++-common/analyzer/function-ptr-2.c:40:3:
warning: UNKNOWN
/home/dave/gnu/gcc/gcc/gcc/testsuite/c-c++-common/analyzer/function-ptr-2.c:41:3:
warning: UNKNOWN
/home/dave/gnu/gcc/gcc/gcc/testsuite/c-c++-common/analyzer/function-ptr-2.c:23:3:
warning: UNKNOWN
/home/dave/gnu/gcc/gcc/gcc/testsuite/c-c++-common/analyzer/function-ptr-2.c:24:3:
warning: UNKNOWN
/home/dave/gnu/gcc/gcc/gcc/testsuite/c-c++-common/analyzer/function-ptr-2.c:25:3:
warning: UNKNOWN
/home/dave/gnu/gcc/gcc/gcc/testsuite/c-c++-common/analyzer/function-ptr-2.c:26:3:
warning: UNKNOWN
Dave
--
John David Anglin [email protected]