On 10/7/18 2:15 PM, Gerald Pfeifer wrote:
> On Wed, 18 Apr 2018, Martin Liška wrote:
>> I would like to mention the attribute in GCC 8 changes.
>
> Index: htdocs/gcc-8/changes.html
> ===================================================================
>> <li>
>> New <code>no_sanitize</code> attribute has been added. The attribute
>> on functions is used to inform the compiler that it should
>> not do sanitization of all options mentioned in sanitize option.
>> A list of values acceptable by <code>-fsanitize</code> option can be
>> provided.
>> <blockquote><pre>
>> void __attribute__ ((no_sanitize ("alignment", "object-size")))
>> f () { /* Do something. */; }
>> </pre></blockquote>
>> </li>
>
> I've been struggling with this from a language perspective and
> while not fully happy, believe/hope the below may improve things
> a bit.
>
> Sandra, any recommendations from your end?
>
> Martin, is my update technically acurate?
Hi.
Yes, it's equivalent, thanks for the improvement.
Martin
>
> Index: gcc-8/changes.html
> ===================================================================
> RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-8/changes.html,v
> retrieving revision 1.97
> diff -u -r1.97 changes.html
> --- gcc-8/changes.html 30 Sep 2018 14:38:54 -0000 1.97
> +++ gcc-8/changes.html 7 Oct 2018 12:13:03 -0000
> @@ -251,11 +251,10 @@
> tests for pointer wrapping.
> </li>
> <li>
> - New <code>no_sanitize</code> attribute has been added. The attribute
> - on functions is used to inform the compiler that it should
> - not do sanitization of all options mentioned in sanitize option.
> - A list of values acceptable by <code>-fsanitize</code> option can be
> - provided.
> + A new attribute <code>no_sanitize</code> can be applied to functions
> + to instruct the compiler not to do sanitization of any of the options
> + specified. Acceptable values for <code>no_sanitize</code> match those
> + acceptable by the <code>-fsanitize</code> command-line option.
> <blockquote><pre class="blackbg">
> void __attribute__ ((no_sanitize ("alignment", "object-size")))
> f () { /* Do something. */; }</pre></blockquote>
>
> Gerald
>