[PATCH] Implement no_sanitize attribute.

Peter Collingbourne peter at pcc.me.uk
Fri May 15 13:15:18 PDT 2015


On Fri, May 15, 2015 at 03:58:29PM -0400, Aaron Ballman wrote:
> On Fri, May 15, 2015 at 2:37 PM, Peter Collingbourne <peter at pcc.me.uk> wrote:
> > On Fri, May 15, 2015 at 10:06:22AM -0400, Aaron Ballman wrote:
> >> LGTM, with some incredibly minor nits below. Thank you for all the
> >> work you've done on this!
> >
> > r237463, thanks for the review!
> >
> >> > +def NoSanitizeSpecific : InheritableAttr {
> >> > +  let Spellings = [GCC<"no_address_safety_analysis">,
> >> > +                   GCC<"no_sanitize_address">,
> >> > +                   GCC<"no_sanitize_thread">,
> >> > +                   GNU<"no_sanitize_memory">];
> >>
> >> Does GCC support no_sanitize_memory?
> >
> > No.
> 
> Hah, neat. :-)
> 
> >
> >> > +          .Default("");
> >>
> >> I would remove the .Default case. We want to assert if we fall off the switch.
> >
> > StringSwitch appears to require a default. Added a manual assert.
> 
> That's news to me. It has an automatic conversion to its type that
> asserts if we've flowed off the end of the StringSwitch. Check out
> StringSwitch.h, line 118.

Ah, it works if I use llvm::StringSwitch<std::string>. r237475.

Thanks,
-- 
Peter



More information about the cfe-commits mailing list