On 01/01/2018 05:50 PM, Martin Sebor wrote:
> Among the recent -Wattributes enhancements is to diagnose
> declarations of void functions with attribute const or pure.
> Declaring a void function const or pure means that calls to
> the function have no effect and could be (and, with
> optimization, are) eliminated.  Thus the attribute on such
> a function would imply that either the function is useless
> or the attribute is (when the function is called inidirectly).
> 
> As it happens, however, -Wsuggest-attribute=const suggests
> adding the const attribute to candidate functions that return
> void, thus causing a conflict between the two options.
> 
> The attached patch resolves the conflict by avoiding
> -Wsuggest-attribute=const for void functions.
> 
> Martin
> 
> gcc-83559.diff
> 
> 
> PR c/83559 - -Wsuggest-attribute=const conflicts with -Wattributes warning 
> about const attribute on function returning void
> 
> gcc/ChangeLog:
> 
>       PR c/83559
>       * doc/extend.texi (attribute const): Fix a typo.
>       * ipa-pure-const.c ((warn_function_const, warn_function_pure): Avoid
>       issuing -Wsuggest-attribute for void functions.
> 
> gcc/testsuite/ChangeLog:
> 
>       PR c/83559
>       * gcc.dg/const-2.c: New test.
>       * gcc.dg/pure-3.c: New test.
OK

Jeff

Reply via email to