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

qinzhao at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |qinzhao at gcc dot gnu.org

--- Comment #6 from qinzhao at gcc dot gnu.org ---
with the committed patch, this testing case still failed but in a later rtl
stage:
qinzhao@gcc116:~/Bugs/102587$ sh t
/home/qinzhao/Install/latest/bin/gcc -ftrivial-auto-var-init=zero t.c -S
during RTL pass: pro_and_epilogue
t.c: In function ‘foo’:
t.c:1:33: internal compiler error: Segmentation fault
    1 | void foo() { __SVFloat64_t f64; }
      |                                 ^
0xe18fab crash_signal
        ../../latest_gcc_git/gcc/toplev.c:331
0x122ed20 aarch64_add_offset
        ../../latest_gcc_git/gcc/config/aarch64/aarch64.c:5042
0x123044f aarch64_sub_sp
        ../../latest_gcc_git/gcc/config/aarch64/aarch64.c:5225
0x123044f aarch64_allocate_and_probe_stack_space
        ../../latest_gcc_git/gcc/config/aarch64/aarch64.c:8502
0x1230cfb aarch64_expand_prologue()
        ../../latest_gcc_git/gcc/config/aarch64/aarch64.c:8841
0x169fb63 gen_prologue()
        ../../latest_gcc_git/gcc/config/aarch64/aarch64.md:853
0x1226d17 target_gen_prologue
        ../../latest_gcc_git/gcc/config/aarch64/aarch64.md:7448
0xa9495f make_prologue_seq
        ../../latest_gcc_git/gcc/function.c:5825
0xa94b8b thread_prologue_and_epilogue_insns()
        ../../latest_gcc_git/gcc/function.c:6043
0xa95293 rest_of_handle_thread_prologue_and_epilogue
        ../../latest_gcc_git/gcc/function.c:6534
0xa95293 execute
        ../../latest_gcc_git/gcc/function.c:6610
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.

I think the reason is that the call to .DEFERRED_INIT (POLY_INI_CST[16,16], 2,
0) was not expanded at all during RTL expanding phase. 

I feel the committed patch is not correct:

1. if we want to avoid auto initializing such auto variable, we should not add
call to .DEFERRED_INIT in gimplification phase at all. 
2. not sure what does "POLY_INT_CST[16,16]" mean? is it a constant?

Reply via email to