invoke.texi (-fsanitize=bounds): Tweak wording.
* doc/invoke.texi (-fsanitize=bounds): Tweak wording. (-fsanitize=float-divide-by-zero): Move to the table with -fsanitize=undefined suboptions. (-fsanitize=float-cast-overflow): Likewise. From-SVN: r212260
This commit is contained in:
parent
283bbe35a1
commit
e71d7987b1
2 changed files with 15 additions and 18 deletions
|
@ -1,3 +1,10 @@
|
|||
2014-07-03 Marek Polacek <polacek@redhat.com>
|
||||
|
||||
* doc/invoke.texi (-fsanitize=bounds): Tweak wording.
|
||||
(-fsanitize=float-divide-by-zero): Move to the table with
|
||||
-fsanitize=undefined suboptions.
|
||||
(-fsanitize=float-cast-overflow): Likewise.
|
||||
|
||||
2014-07-03 Maciej W. Rozycki <macro@codesourcery.com>
|
||||
|
||||
* config/rs6000/rs6000.c (rs6000_adjust_atomic_subword): Use
|
||||
|
|
|
@ -5400,26 +5400,22 @@ at runtime. Current suboptions are:
|
|||
|
||||
@item -fsanitize=shift
|
||||
@opindex fsanitize=shift
|
||||
|
||||
This option enables checking that the result of a shift operation is
|
||||
not undefined. Note that what exactly is considered undefined differs
|
||||
slightly between C and C++, as well as between ISO C90 and C99, etc.
|
||||
|
||||
@item -fsanitize=integer-divide-by-zero
|
||||
@opindex fsanitize=integer-divide-by-zero
|
||||
|
||||
Detect integer division by zero as well as @code{INT_MIN / -1} division.
|
||||
|
||||
@item -fsanitize=unreachable
|
||||
@opindex fsanitize=unreachable
|
||||
|
||||
With this option, the compiler will turn the @code{__builtin_unreachable}
|
||||
call into a diagnostics message call instead. When reaching the
|
||||
@code{__builtin_unreachable} call, the behavior is undefined.
|
||||
|
||||
@item -fsanitize=vla-bound
|
||||
@opindex fsanitize=vla-bound
|
||||
|
||||
This option instructs the compiler to check that the size of a variable
|
||||
length array is positive. This option does not have any effect in
|
||||
@option{-std=c++1y} mode, as the standard requires the exception be thrown
|
||||
|
@ -5427,7 +5423,6 @@ instead.
|
|||
|
||||
@item -fsanitize=null
|
||||
@opindex fsanitize=null
|
||||
|
||||
This option enables pointer checking. Particularly, the application
|
||||
built with this option turned on will issue an error message when it
|
||||
tries to dereference a NULL pointer, or if a reference (possibly an
|
||||
|
@ -5435,7 +5430,6 @@ rvalue reference) is bound to a NULL pointer.
|
|||
|
||||
@item -fsanitize=return
|
||||
@opindex fsanitize=return
|
||||
|
||||
This option enables return statement checking. Programs
|
||||
built with this option turned on will issue an error message
|
||||
when the end of a non-void function is reached without actually
|
||||
|
@ -5443,7 +5437,6 @@ returning a value. This option works in C++ only.
|
|||
|
||||
@item -fsanitize=signed-integer-overflow
|
||||
@opindex fsanitize=signed-integer-overflow
|
||||
|
||||
This option enables signed integer overflow checking. We check that
|
||||
the result of @code{+}, @code{*}, and both unary and binary @code{-}
|
||||
does not overflow in the signed arithmetics. Note, integer promotion
|
||||
|
@ -5456,20 +5449,12 @@ a++;
|
|||
|
||||
@item -fsanitize=bounds
|
||||
@opindex fsanitize=bounds
|
||||
|
||||
This option enables instrumentation of array bounds. Various out of bounds
|
||||
accesses are detected. Flexible array members are not instrumented, as well
|
||||
as initializers of variables with static storage.
|
||||
|
||||
@end table
|
||||
|
||||
While @option{-ftrapv} causes traps for signed overflows to be emitted,
|
||||
@option{-fsanitize=undefined} gives a diagnostic message.
|
||||
This currently works only for the C family of languages.
|
||||
accesses are detected. Flexible array members and initializers of variables
|
||||
with static storage are not instrumented.
|
||||
|
||||
@item -fsanitize=float-divide-by-zero
|
||||
@opindex fsanitize=float-divide-by-zero
|
||||
|
||||
Detect floating-point division by zero. Unlike other similar options,
|
||||
@option{-fsanitize=float-divide-by-zero} is not enabled by
|
||||
@option{-fsanitize=undefined}, since floating-point division by zero can
|
||||
|
@ -5477,11 +5462,16 @@ be a legitimate way of obtaining infinities and NaNs.
|
|||
|
||||
@item -fsanitize=float-cast-overflow
|
||||
@opindex fsanitize=float-cast-overflow
|
||||
|
||||
This option enables floating-point type to integer conversion checking.
|
||||
We check that the result of the conversion does not overflow.
|
||||
This option does not work well with @code{FE_INVALID} exceptions enabled.
|
||||
|
||||
@end table
|
||||
|
||||
While @option{-ftrapv} causes traps for signed overflows to be emitted,
|
||||
@option{-fsanitize=undefined} gives a diagnostic message.
|
||||
This currently works only for the C family of languages.
|
||||
|
||||
@item -fsanitize-recover
|
||||
@opindex fsanitize-recover
|
||||
By default @option{-fsanitize=undefined} sanitization (and its suboptions
|
||||
|
|
Loading…
Add table
Reference in a new issue