https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111344
--- Comment #6 from Mark Galeck <markgaleck at gmail dot com> --- (In reply to Andrew Pinski from comment #5) > Reduced: > ``` > int *f(const char*); > int *g(int*); > int main() > { > int* pdir; > int* pentry; > > pdir = f("d"); > > while (pentry = g(pdir)) ; > } > ``` > > No this warning is not bogus and is telling you exactly what it says. Andrew I respect your opinion and certainly you are more experienced at gcc than me. But, with all due respect, I disagree with "is telling you exactly what it says" No it doesn't... it says "suggest parentheses around " and the parentheses is there. Maybe it should say something like "suggest double parentheses, to confirm that you meant = and not == , although, I fail to see how double parent should confirm such a thing.