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]

Reply via email to