Hi all:
This patch implemented TARGET_MERGE_DECL_ATTRIBUTES hook to check the
interrupter is all compatible, tested with rv32ima and rv64ima elf
toolchain.
gcc/ChangeLog
2018-07-06 Kito Cheng <
kito....@gmail.com>
* config/riscv/riscv.c (enum riscv_privilege_levels): Add UNKNOWN_MODE.
(riscv_expand_epilogue): Add more assertion to check interrupt mode.
(riscv_set_current_function): Extract getting interrupt type to new
function.
(riscv_get_interrupt_type): New function.
(riscv_merge_decl_attributes): New function, checking interrupt type is
same.
(TARGET_MERGE_DECL_ATTRIBUTES): Define.
gcc/testsuite/ChangeLog
2018-07-06 Kito Cheng <
kito....@gmail.com>
* gcc.target/riscv/interrupt-conflict-mode.c: New.