[PATCH] D137381: [clang][compiler-rt] Exception escape out of an non-unwinding function is an undefined behaviour

Roman Lebedev via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Dec 5 05:46:24 PST 2022


lebedev.ri added inline comments.


================
Comment at: clang/test/CodeGen/windows-seh-EHa-CppCondiTemps.cpp:3
 
+// FIXME: this check appears to be miscompiled?
+// XFAIL: *
----------------
tentzen wrote:
> lebedev.ri wrote:
> > This test broke once we always started adding (outermost) UB scope for nounwind functions.
> > I don't quite get what is going wrong. It could be a bug in SEH handling.
> > Can someone who has some idea about that code take a look and suggest a fix?
> > @tentzen ?
> By definition, non-unwind function I think is for Synchronous EH. So this Sanitizer check should exclude Asynchronous EH functions, those with option -fasync-exceptions.
>  
I do not understand.
If the function can unwind, then why is it marked `nounwind`?
This kind of thing is exactly what i was afraid of with those SEH patches.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D137381/new/

https://reviews.llvm.org/D137381



More information about the cfe-commits mailing list