]> git.ipfire.org Git - thirdparty/gcc.git/commit
RISC-V: Error if function declared with different interrupt modes.
authorwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 12 Jul 2018 19:59:09 +0000 (19:59 +0000)
committerwilson <wilson@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 12 Jul 2018 19:59:09 +0000 (19:59 +0000)
commitd6758592f665a1a5c3e8f9ae9b3da79773a6dfcb
treeb66502e693e5e6a21f3dafc9da0ccfcf3df98c9d
parent12f69ea45621bae894d9ef4c5f8cfed4e314c130
RISC-V: Error if function declared with different interrupt modes.

gcc/
2018-07-06  Kito Cheng  <kito.cheng@gmail.com>
        * config/riscv/riscv.c (enum riscv_privilege_levels): Add UNKNOWN_MODE.
        (riscv_expand_epilogue): Add 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/
2018-07-06  Kito Cheng  <kito.cheng@gmail.com>
        * gcc.target/riscv/interrupt-conflict-mode.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@262607 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/riscv/riscv.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/riscv/interrupt-conflict-mode.c [new file with mode: 0644]