https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93981
Bug ID: 93981 Summary: No EH information generated for asm statements Product: gcc Version: 9.2.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: inline-asm Assignee: unassigned at gcc dot gnu.org Reporter: jwjagersma at gmail dot com Target Milestone: --- No exception handling information is generated for asm statements: ``` $ cat unwind.cpp void f() { try { asm ("nop #try"); } catch (...) { asm ("nop #catch"); } } $ g++-9 -fnon-call-exceptions unwind.cpp -S -dA -o - .file "unwind.cpp" .text .globl _Z1fv .type _Z1fv, @function _Z1fv: .LFB0: .cfi_startproc # BLOCK 2 seq:0 # PRED: ENTRY (FALLTHRU) pushq %rbp .cfi_def_cfa_offset 16 .cfi_offset 6, -16 movq %rsp, %rbp .cfi_def_cfa_register 6 #APP # 3 "unwind.cpp" 1 nop #try # 0 "" 2 #NO_APP nop popq %rbp .cfi_def_cfa 7, 8 # SUCC: EXIT [always] ret .cfi_endproc .LFE0: .size _Z1fv, .-_Z1fv .ident "GCC: (Ubuntu 9.2.1-17ubuntu1~18.04.1) 9.2.1 20191102" .section .note.GNU-stack,"",@progbits ``` Since asms may contain trapping instructions, they should be covered by an EH region in the unwind tables when compiling with -fnon-call-exceptions.