[PATCH] Change how we deal with (implicit) -fno-rtti + -fsanitize=vptr

Filipe Cabecinhas filcab+llvm.phabricator at gmail.com
Tue Feb 10 13:49:03 PST 2015


In http://reviews.llvm.org/D7525#121009, @rsmith wrote:

> I don't think this is the right approach; the `-fsanitize=` setting deliberately doesn't affect whether RTTI is enabled, and I don't think we should change that. I think we should do the following:
>
> - If `-fsanitize=vptr` is explicitly specified and RTTI is disabled, we should issue an error.
> - If `-fsanitize=vptr` is implied by some sanitizer group (such as `-fsanitize=undefined`) and RTTI is disabled, we should not enable the vptr sanitizer (perhaps with a warning).
>
>   That presumably means handling this when we parse the sanitizer arguments, which might require us to reorder the processing of the arguments a bit.


Thanks for the comment.

What would your preferred way of getting this to work, though?

- Have a (public) way to turn off specific sanitizers in SanitizerArgs, before the call to addArgs (and warn in the same place we had the warning)
- Have the constructor of SanitizerArgs (or addArgs) deal with it (doesn't seem very nice, especially since we'll have to repeat all this RTTI-related logic)
- Another way?

Thanks,

Filipe


http://reviews.llvm.org/D7525

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/






More information about the cfe-commits mailing list