https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119737

--- Comment #4 from Thomas Schwinge <tschwinge at gcc dot gnu.org> ---
Andrew P., thanks for your analysis -- that indeed looks like a plausible
explanation.


(In reply to myself from comment #0)
> I've not yet looked into creating a non-offloading, GCN target test case.

No need to create one; the problem is already visible for (only) one test case
for GCN target testing:

    FAIL: g++.dg/init/call1.C  -std=gnu++17 (internal compiler error: Aborted
signal terminated program as)
    FAIL: g++.dg/init/call1.C  -std=gnu++17 (test for excess errors)
    UNRESOLVED: g++.dg/init/call1.C  -std=gnu++17 compilation failed to produce
executable
    UNSUPPORTED: g++.dg/init/call1.C  -std=gnu++98: exception handling not
supported
    FAIL: g++.dg/init/call1.C  -std=gnu++26 (internal compiler error: Aborted
signal terminated program as)
    FAIL: g++.dg/init/call1.C  -std=gnu++26 (test for excess errors)
    UNRESOLVED: g++.dg/init/call1.C  -std=gnu++26 compilation failed to produce
executable

..., which likewise FAILs due to 'LLVM ERROR: Size expression must be
absolute.', where we've got:

    [...]
            .text
            .align  256
            .type   main,@function
    main:
    [...]
            s_endpgm
    .L15:
            s_getpc_b64     s[12:13]
            s_add_u32       s12, s12, abort@rel32@lo+4
            s_addc_u32      s13, s13, abort@rel32@hi+4
            s_swappc_b64    s[18:19], s[12:13]
    .LFE17:
            .section        .fake_gcc_except_table
    [...]
            .section        .text.startup
            .size   main, .-main
    [...]

So, here it's '.text' vs. '.text.startup'.

Reply via email to