https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105628
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
The warning is correct but it should not be done.
Simpele testcase:
struct s{ int f; };
int g(struct s t){
return (t.f?&t.f : 0)? 1 : 0;
}
The problem is gcc did some optimizations before the warning and pushed the
implicit != 0 into each arm of the ?; operator
