r198858 - Disable LeakSanitizer in TableGen binaries, see PR18325

Jordan Rose jordan_rose at apple.com
Thu Jan 9 10:11:31 PST 2014

On Jan 9, 2014, at 10:07, Alp Toker <alp at nuanti.com> wrote:

> If there was an ifdef in TableGen there'd be no problem. The trouble is there is no ifdef...
> utils/TableGen/TableGen.cpp:
> int main(int argc, char **argv) {
>   sys::PrintStackTraceOnErrorSignal();
>   PrettyStackTraceProgram X(argc, argv);
>   cl::ParseCommandLineOptions(argc, argv);
>   return TableGenMain(argv[0], &LLVMTableGenMain);
> }
> extern "C" {
> // Disable LeakSanitizer for this binary as it has too many leaks that are not
> // very interesting to fix. __lsan_is_turned_off is explained in
> // compiler-rt/include/sanitizer/lsan_interface.h
> int __lsan_is_turned_off() { return 1; }
> }  // extern "C"
> Kostya said he preferred not to conditionalize the definition, but provide it unconditionally.
> That's why I've been trying to help find a name that can be legitimately defined in ordinary builds.
> If that's no longer a requirement, I'm absolutely fine to guard it with ifdef LEAK_SANITIZER and be done with it.
> (If that ends up being the resolution, it's a little unfortunate for compiler-rt because a well-chosen name would have solved the problem for all projects. Either approach is acceptable though in terms of a resolution though from my POV.)

Ahhh. Okay, I see your point. It's not a problem to provide this here; it's a problem if we ever compile TableGen with something other than Clang or GCC. (Or run in an interesting environment, I suppose.) Got it.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20140109/cff95fb0/attachment.html>

More information about the cfe-commits mailing list