[Bug c/96571] Bad "set but not used" warning with _Generic

2020-09-17 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96571

Jakub Jelinek  changed:

   What|Removed |Added

 Resolution|--- |FIXED
 Status|ASSIGNED|RESOLVED

--- Comment #6 from Jakub Jelinek  ---
For 8.5 fixed in r8-10512-g2346f2b89780790210816eeea12b817e61652b26 , for 9.4+
and 10.3+ and 11.1+ by the above commits.

[Bug c/96571] Bad "set but not used" warning with _Generic

2020-09-16 Thread cvs-commit at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96571

--- Comment #5 from CVS Commits  ---
The releases/gcc-9 branch has been updated by Jakub Jelinek
:

https://gcc.gnu.org/g:d2472e513c6490b6e2832b07d08731df26e6dc06

commit r9-8909-gd2472e513c6490b6e2832b07d08731df26e6dc06
Author: Jakub Jelinek 
Date:   Tue Aug 18 07:51:58 2020 +0200

c: Fix -Wunused-but-set-* warning with _Generic [PR96571]

The following testcase shows various problems with -Wunused-but-set*
warnings and _Generic construct.  I think it is best to treat the selector
and the ignored expressions as (potentially) read, because when they are
parsed, the vars in there are already marked as TREE_USED.

2020-08-18  Jakub Jelinek  

PR c/96571
* c-parser.c (c_parser_generic_selection): Change match_found from
bool
to int, holding index of the match.  Call mark_exp_read on the
selector
expression and on expressions other than the selected one.

* gcc.dg/Wunused-var-4.c: New test.

(cherry picked from commit 6d42cbe5ad7a7b46437f2576c9920e44dc14b386)

[Bug c/96571] Bad "set but not used" warning with _Generic

2020-08-25 Thread cvs-commit at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96571

--- Comment #4 from CVS Commits  ---
The releases/gcc-10 branch has been updated by Jakub Jelinek
:

https://gcc.gnu.org/g:5c16de18f26df961e00a049f198aeb9dce8de225

commit r10-8668-g5c16de18f26df961e00a049f198aeb9dce8de225
Author: Jakub Jelinek 
Date:   Tue Aug 18 07:51:58 2020 +0200

c: Fix -Wunused-but-set-* warning with _Generic [PR96571]

The following testcase shows various problems with -Wunused-but-set*
warnings and _Generic construct.  I think it is best to treat the selector
and the ignored expressions as (potentially) read, because when they are
parsed, the vars in there are already marked as TREE_USED.

2020-08-18  Jakub Jelinek  

PR c/96571
* c-parser.c (c_parser_generic_selection): Change match_found from
bool
to int, holding index of the match.  Call mark_exp_read on the
selector
expression and on expressions other than the selected one.

* gcc.dg/Wunused-var-4.c: New test.

(cherry picked from commit 6d42cbe5ad7a7b46437f2576c9920e44dc14b386)

[Bug c/96571] Bad "set but not used" warning with _Generic

2020-08-17 Thread cvs-commit at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96571

--- Comment #3 from CVS Commits  ---
The master branch has been updated by Jakub Jelinek :

https://gcc.gnu.org/g:6d42cbe5ad7a7b46437f2576c9920e44dc14b386

commit r11-2732-g6d42cbe5ad7a7b46437f2576c9920e44dc14b386
Author: Jakub Jelinek 
Date:   Tue Aug 18 07:51:58 2020 +0200

c: Fix -Wunused-but-set-* warning with _Generic [PR96571]

The following testcase shows various problems with -Wunused-but-set*
warnings and _Generic construct.  I think it is best to treat the selector
and the ignored expressions as (potentially) read, because when they are
parsed, the vars in there are already marked as TREE_USED.

2020-08-18  Jakub Jelinek  

PR c/96571
* c-parser.c (c_parser_generic_selection): Change match_found from
bool
to int, holding index of the match.  Call mark_exp_read on the
selector
expression and on expressions other than the selected one.

* gcc.dg/Wunused-var-4.c: New test.

[Bug c/96571] Bad "set but not used" warning with _Generic

2020-08-13 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96571

Jakub Jelinek  changed:

   What|Removed |Added

   Last reconfirmed||2020-08-13
 Ever confirmed|0   |1
 Status|UNCONFIRMED |ASSIGNED
   Assignee|unassigned at gcc dot gnu.org  |jakub at gcc dot gnu.org

--- Comment #2 from Jakub Jelinek  ---
Created attachment 49057
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=49057=edit
gcc11-pr96571.patch

Untested fix.

[Bug c/96571] Bad "set but not used" warning with _Generic

2020-08-12 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96571

Jakub Jelinek  changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #1 from Jakub Jelinek  ---
You should then mark_exp_read the _Generic controlling expression.