[Bug tree-optimization/94905] [10/11 Regression] Bogus warning -Werror=maybe-uninitialized
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94905 Jakub Jelinek changed: What|Removed |Added Target Milestone|10.4|10.5 --- Comment #17 from Jakub Jelinek --- GCC 10.4 is being released, retargeting bugs to GCC 10.5.
[Bug tree-optimization/94905] [10/11 Regression] Bogus warning -Werror=maybe-uninitialized
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94905 Jakub Jelinek changed: What|Removed |Added CC||jakub at gcc dot gnu.org --- Comment #16 from Jakub Jelinek --- On the trunk it stopped with r12-4240-g2b8453c401b699ed93c085d0413ab4b5030bcdb8 But with -O2 -W -Wall fno-tree-vectorize it still warns even with current trunk.
[Bug tree-optimization/94905] [10/11 Regression] Bogus warning -Werror=maybe-uninitialized
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94905 Richard Biener changed: What|Removed |Added Keywords||needs-bisection --- Comment #15 from Richard Biener --- (In reply to Martin Liška from comment #14) > > > > and the partial uninitialized read from it is not what the uninit pass can > > diagnose (it's memory walking stops at the first may-def, it does not > > prune must-def ranges). But even with -fno-tree-loop-distribute-patterns > > -fno-tree-vectorize where we get similar IL as with GCC 11 we do not warn so > > I wonder > > what fixed it on trunk (when you add those options). > > It was fixed with r11-3659-gac1c65ad1a16d83e. But the original testcase still warns on the branch but not trunk, so that cannot be it.
[Bug tree-optimization/94905] [10/11 Regression] Bogus warning -Werror=maybe-uninitialized
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94905 Martin Liška changed: What|Removed |Added CC||marxin at gcc dot gnu.org Keywords|needs-bisection | --- Comment #14 from Martin Liška --- > > and the partial uninitialized read from it is not what the uninit pass can > diagnose (it's memory walking stops at the first may-def, it does not > prune must-def ranges). But even with -fno-tree-loop-distribute-patterns > -fno-tree-vectorize where we get similar IL as with GCC 11 we do not warn so > I wonder > what fixed it on trunk (when you add those options). It was fixed with r11-3659-gac1c65ad1a16d83e.
[Bug tree-optimization/94905] [10/11 Regression] Bogus warning -Werror=maybe-uninitialized
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94905 --- Comment #13 from Richard Biener --- Oh, and the reduced testcase is correct to warn on I think.
[Bug tree-optimization/94905] [10/11 Regression] Bogus warning -Werror=maybe-uninitialized
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94905 Richard Biener changed: What|Removed |Added Priority|P3 |P2
[Bug tree-optimization/94905] [10/11 Regression] Bogus warning -Werror=maybe-uninitialized
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94905 Richard Biener changed: What|Removed |Added CC||msebor at gcc dot gnu.org Known to fail||11.2.1 Known to work||12.0 Keywords||needs-bisection Last reconfirmed|2020-09-03 00:00:00 |2022-1-21 Summary|[10/11/12 Regression] Bogus |[10/11 Regression] Bogus |warning |warning |-Werror=maybe-uninitialized |-Werror=maybe-uninitialized --- Comment #12 from Richard Biener --- The diagnostic is gone with GCC 12 as we there pattern-recognize a memcpy: [local count: 119292720]: insert_axis_len.0_1 = insert_axis_len; ret ={v} {CLOBBER}; ret.rho[0] = insert_axis_len.0_1; __builtin_memcpy (_3(D), , 32); ret ={v} {CLOBBER}; return _3(D); and the partial uninitialized read from it is not what the uninit pass can diagnose (it's memory walking stops at the first may-def, it does not prune must-def ranges). But even with -fno-tree-loop-distribute-patterns -fno-tree-vectorize where we get similar IL as with GCC 11 we do not warn so I wonder what fixed it on trunk (when you add those options).
[Bug tree-optimization/94905] [10/11 Regression] Bogus warning -Werror=maybe-uninitialized
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94905 Jason Merrill changed: What|Removed |Added CC||jason at gcc dot gnu.org Component|c++ |tree-optimization --- Comment #11 from Jason Merrill --- Changing component.