[Bug c/96571] Bad "set but not used" warning with _Generic
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
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
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
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
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
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.