If the compiler generates a warning for x&&y||z, it should also generate a warning for a*b/c*d. The problem is that the programmer probably meant a*b/(c*d), that is, a*b/c/d.
This relates to both C and C++. -- Summary: add a warning for b/c*d Product: gcc Version: 4.3.3 Status: UNCONFIRMED Severity: enhancement Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: mlg7 at yandex dot ru http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38053