On Thu, Jan 9, 2014 at 2:29 PM, Aaron Ballman <[email protected]>wrote:

> If we're going to back out the revert, can we put the code into an
> #ifdef so that the reserved namespace identifier is protected when
> compiling with something that doesn't understand lsan? Then we can
> argue over the "right" way with some protection.


I'm not opposed to that, if we have a suitable predefine. But we already
have *loads* of code in Clang that defines identifiers in the reserved
namespace (try grepping for '[A-Za-z]__[A-Za-z]' in include/ to find a
bunch of them), and none of our supported C++ implementations (for clang
3.5) have a problem with this, so I don't see that there's a lot of value
in doing so.

On Thu, Jan 9, 2014 at 5:07 PM, Richard Smith <[email protected]> wrote:
> > Please back out this revert. We are far from achieving consensus on this
> > revert being appropriate.
> >
> >
> > On Thu, Jan 9, 2014 at 11:43 AM, Alp Toker <[email protected]> wrote:
> >>
> >> Author: alp
> >> Date: Thu Jan  9 13:43:17 2014
> >> New Revision: 198885
> >>
> >> URL: http://llvm.org/viewvc/llvm-project?rev=198885&view=rev
> >> Log:
> >> Revert "Disable LeakSanitizer in TableGen binaries, see PR18325"
> >>
> >> To declare or define reserved identifers is undefined behaviour in
> >> standard
> >> C++. This needs to be addressed in compiler-rt before it can be used in
> >> LLVM.
> >>
> >> See the list discussion for details.
> >>
> >> This reverts commit r198858.
> >>
> >> Modified:
> >>     cfe/trunk/utils/TableGen/TableGen.cpp
> >>
> >> Modified: cfe/trunk/utils/TableGen/TableGen.cpp
> >> URL:
> >>
> http://llvm.org/viewvc/llvm-project/cfe/trunk/utils/TableGen/TableGen.cpp?rev=198885&r1=198884&r2=198885&view=diff
> >>
> >>
> ==============================================================================
> >> --- cfe/trunk/utils/TableGen/TableGen.cpp (original)
> >> +++ cfe/trunk/utils/TableGen/TableGen.cpp Thu Jan  9 13:43:17 2014
> >> @@ -263,10 +263,3 @@ int main(int argc, char **argv) {
> >>
> >>    return TableGenMain(argv[0], &ClangTableGenMain);
> >>  }
> >> -
> >> -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"
> >>
> >>
> >> _______________________________________________
> >> cfe-commits mailing list
> >> [email protected]
> >> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
> >
> >
> >
> > _______________________________________________
> > cfe-commits mailing list
> > [email protected]
> > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
> >
>
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to