<div style="font-family: arial, helvetica, sans-serif; font-size: 10pt">On Fri, Nov 2, 2012 at 4:51 AM, Richard Smith <span dir="ltr"><<a href="mailto:richard@metafoo.co.uk" target="_blank">richard@metafoo.co.uk</a>></span> wrote:<br>
<div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi,<br>
<br>
The attached patch series adds a<br>
-fsanitize=sanitizer1,sanitizer2,sanitizer3 command-line option to<br>
Clang (and a corresponding -fno-sanitize=...). This works as follows<br>
for the driver options:<br>
<br>
  -faddress-sanitizer becomes a synonym for -fsanitize=address<br>
  -fno-address-sanitizer becomes a synonym for -fno-sanitize=address<br>
  -fthread-sanitizer becomes a synonym for -fsanitize=thread<br>
  -fno-thread-sanitizer becomes a synonym for -fno-sanitize=thread<br>
  -fcatch-undefined-behavior becomes a synonym for -fsanitize=undefined<br>
  -fsanitize=undefined is expanded by the driver into a list of<br>
individual undefined behavior sanitizers<br>
<br>
The -cc1 interface is deliberately very simplistic: it loses support<br>
for the existing flags, and instead only supports -fsanitize=..., and<br>
only supports naming the individual checks (and not groups like<br>
-fsanitize=undefined).<br>
<br>
Patch 1 just renames the existing ASan and TSan LangOptions to follow<br>
the naming convention used by the later patches.<br>
Patch 2 adds support to the driver and frontend for parsing<br>
-fsanitize, converting the other options to it, and filling in<br>
LangOptions.<br>
Patch 3 uses the -fsanitize=... values to enable/disable the existing<br>
-fcatch-undefined-behavior checks, and removes frontend support for<br>
the other options.<br></blockquote><div><br></div><div>+Diego,David</div><div><br></div><div>And if/when we add MemorySanitizer, can we add new alias -fmemory-sanitizer?</div><div>I am asking because we are in the process of committing asan/tsan to gcc, and we want to preserve consistency between clang and gcc. Gcc uses -address/thread-sanitizer.</div>
<div><br></div></div></div>
</div>