[cfe-commits] r169207 - /cfe/trunk/docs/UsersManual.html

Richard Smith richard at metafoo.co.uk
Thu Dec 6 14:43:11 PST 2012


On Thu, Dec 6, 2012 at 2:38 PM, Nuno Lopes <nunoplopes at sapo.pt> wrote:
> Hi,
>
> (trying to catch up with old emails..)
> Thanks for documenting this! Some comments inline.
>
>
>
>> Author: rsmith
>> Date: Mon Dec  3 20:48:16 2012
>> New Revision: 169207
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=169207&view=rev
>> Log:
>> Document the existence of -fsanitize=bounds.
>>
>> Modified:
>>    cfe/trunk/docs/UsersManual.html
>>
>> Modified: cfe/trunk/docs/UsersManual.html
>> URL:
>> http://llvm.org/viewvc/llvm-project/cfe/trunk/docs/UsersManual.html?rev=169207&r1=169206&r2=169207&view=diff
>>
>> ==============================================================================
>> --- cfe/trunk/docs/UsersManual.html (original)
>> +++ cfe/trunk/docs/UsersManual.html Mon Dec  3 20:48:16 2012
>> @@ -896,8 +896,8 @@
>> <li id="opt_fsanitize_undefined"><tt>-fsanitize=undefined</tt>:
>>     Fast and compatible undefined behavior checker.  Enables the undefined
>> behavior
>>     checks that have small runtime cost and no impact on address space
>> layout
>> -    or ABI.  This includes all of the checks listed below other than
>> unsigned
>> -    integer overflow.</li>
>> +    or ABI.  This includes all of the checks listed below other than
>> +    <tt>unsigned-integer-overflow</tt> and <tt>bounds</tt>.</li>
>> </ul>
>
>
> I think that '-fsanitize=undefined' does include '-fsanitize=bounds'.

Good point, thanks.

>> @@ -905,6 +905,9 @@
>> <ul>
>> <li id="opt_fsanitize_alignment"><tt>-fsanitize=alignment</tt>:
>>     Use of a misaligned pointer or creation of a misaligned
>> reference.</li>
>> +<li id="opt_fsanitize_bounds"><tt>-fsanitize=bounds</tt>:
>> +    Out of bounds array indexing, in cases where the array bound can be
>> +    statically determined.</li>
>
>
> It can do a bit more than checking arrays with static bounds. E.g.,
> a = malloc(x * 4);
> a[42] = 3;
>
> This acessed is instrumented. And pointer arithmetic is also supported.
> Not sure how to rephrase it, though.

I think we could argue that the bound has been statically determined
to be "x * 4" here :)



More information about the cfe-commits mailing list