Assign one state number per handler/funclet, tracking parent state,
handler type, and catch type token.
State numbers are arranged such that ancestors have lower state numbers
than their descendants.
Details
Details
Diff Detail
Diff Detail
Event Timeline
Comment Actions
lgtm
include/llvm/CodeGen/WinEHFuncInfo.h | ||
---|---|---|
164 | I wasn't aware of fault handlers, but they seem like a great idea. At CppCon, Andrei Alexandrescu presented a way to get them in C++ with destructors, lambdas, and macros, but it's pretty not as clean or efficient as just having language support. | |
lib/CodeGen/WinEHPrepare.cpp | ||
2915 | Maybe this? if (FuncInfo.EHPadStateMap.count(Pad)) continue; |
lib/CodeGen/WinEHPrepare.cpp | ||
---|---|---|
2915 | Sure; changed. |
I wasn't aware of fault handlers, but they seem like a great idea. At CppCon, Andrei Alexandrescu presented a way to get them in C++ with destructors, lambdas, and macros, but it's pretty not as clean or efficient as just having language support.