================ Comment at: docs/UsersManual.rst:973 @@ -972,7 +972,3 @@ - - ``-fsanitize=undefined-trap``: This includes all sanitizers - included by ``-fsanitize=undefined``, except those that require - runtime support. This group of sanitizers is intended to be - used in conjunction with the ``-fsanitize-undefined-trap-on-error`` - flag. This includes all of the checks listed below other than - ``unsigned-integer-overflow`` and ``vptr``. + - ``-fsanitize=undefined-trap``: This is an alias for ``-fsanitize=undefined``. + ---------------- "deprecated alias"
================ Comment at: docs/UsersManual.rst:1096 @@ -1108,1 +1095,3 @@ +**-f[no-]sanitize-trap=check1,check2,...** + ---------------- Please move it next to `-fsanitize-recover=`. ================ Comment at: docs/UsersManual.rst:1103 @@ +1102,3 @@ + + This flag is only compatible with sanitizers in the + UndefinedBehaviorSanitizer group other than ``vptr``. If this flag is ---------------- Do you think we should allow other trapping sanitizers (like `local-bounds`) here? Or you plan to do it in subsequent patches? ================ Comment at: include/clang/Driver/Options.td:526 @@ -525,1 +525,3 @@ def fno_sanitize_EQ : CommaJoined<["-"], "fno-sanitize=">, Group<f_clang_Group>; +def fsanitize_trap_EQ : CommaJoined<["-"], "fsanitize-trap=">, Group<f_clang_Group>, + Flags<[CC1Option, CoreOption]>; ---------------- Please move next to fsanitize_recover ================ Comment at: lib/Driver/SanitizerArgs.cpp:37 @@ -36,2 +36,3 @@ NeedsLTO = CFI, + TrappingSupported = (Undefined & ~Vptr) | UndefinedGroup, }; ---------------- Could we use smth. like `getSanitizersWithNoRequiredRuntime()` from http://reviews.llvm.org/D10467 instead (if we decide to allow -fsanitize-trap=` for other checks)? ================ Comment at: lib/Driver/SanitizerArgs.cpp:37 @@ -36,2 +36,3 @@ NeedsLTO = CFI, + TrappingSupported = (Undefined & ~Vptr) | UndefinedGroup, }; ---------------- samsonov wrote: > Could we use smth. like `getSanitizersWithNoRequiredRuntime()` from > http://reviews.llvm.org/D10467 instead (if we decide to allow > -fsanitize-trap=` for other checks)? I'd prefer to not use `UndefinedGroup` here, and instead add special case for `Vptr` to the loop iterating over `-fsanitize-trap=` arguments. E.g. see how we handle special-case for vptr+RTTI in the main loop in `SanitizerArgs` constructor (not that it's elegant, it's just... more literal). ================ Comment at: lib/Driver/SanitizerArgs.cpp:527 @@ -486,3 +526,3 @@ - if (UbsanTrapOnError) - CmdArgs.push_back("-fsanitize-undefined-trap-on-error"); + CmdArgs.push_back( + Args.MakeArgString("-fsanitize-trap=" + toString(TrapSanitizers))); ---------------- if (!TrapSanitizers.empty()) http://reviews.llvm.org/D10464 EMAIL PREFERENCES http://reviews.llvm.org/settings/panel/emailpreferences/ _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
