[PATCH] tsan: support C++ exceptions
Dmitry Vyukov
dvyukov at google.com
Mon Jun 29 09:50:12 PDT 2015
> You could also insert your code before every 'resume' if you want to avoid dealing branches, phis, etc.
I don't think it's that simple. A function may not have any landing pads yet (no dtors/catches).
> First, find all call insts that might throw. If there are any, create a new landingpad for them.
What if the code is:
void foo() {
try {
bar();
} catch (...) {
...
}
}
I think it will be wrong to add a __tsan_func_exit cleanup to bar (or extend the existing catch landing pad), because control does not leave the function.
Is it correct?
http://reviews.llvm.org/D10740
EMAIL PREFERENCES
http://reviews.llvm.org/settings/panel/emailpreferences/
More information about the llvm-commits
mailing list