-  warning_at (DECL_SOURCE_LOCATION (p),
-       OPT_Wunused_but_set_variable,
-       "variable %qD set but not used", p);
+  {
+    if (!TREE_THIS_VOLATILE (p))
+      warning_at (DECL_SOURCE_LOCATION (p),
+    OPT_Wunused_but_set_variable,
+    "variable %qD set but not used", p);
+  }
I'd prefer

        else if (DECL_CONTEXT (p) == current_function_decl
                    && !TREE_THIS_VOLATILE (p))

which concises the logic and avoids indent change

Thanks,
Joey

On Thu, Nov 7, 2013 at 3:37 PM, Bin.Cheng <amker.ch...@gmail.com> wrote:
> On Thu, Nov 7, 2013 at 11:53 AM, Mingjie Xing <mingjie.x...@gmail.com> wrote:
>> 2013/11/6 Richard Biener <richard.guent...@gmail.com>:
>>> You miss a testcase.
>>>
>>> Also why should the warning be omitted for unused automatic
>>> volatile variables?  They cannot be used in any way.
>>>
>>> Richard.
>>
>> Thanks.  I've updated the patch with a test case.
>>
>> c/ChangeLog
>>
>>         PR 57258
>
> Should be:
>            PR c/57258
>
> Thanks,
> bin
>>         * c-decl.c (pop_scope): Don't emit unused variable warnings for
>>         accessed volatile variables.
>>
>> testsuite/ChangeLog
>>
>>         * gcc.dg/Wunused-var-4.c: New test.
>>
>> Mingjie
>
>
>
> --
> Best Regards.

Reply via email to