https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77888
Bug ID: 77888 Summary: Missing -Wparentheses diagnostic Product: gcc Version: 7.0 Status: UNCONFIRMED Severity: minor Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: jan.sm...@alcatel-lucent.com Target Milestone: --- int main(void) { int zone = 5; int MinChassisFanZoneNum = 4; int MaxChassisFanZoneNum = 10; # if 0 for (int i = (zone?zone:MinChassisFanZoneNum); i <= (zone?zone:MaxChassisFanZoneNum); i++) return i; #else for (int i = zone?zone:MinChassisFanZoneNum; i <= zone?zone:MaxChassisFanZoneNum; i++) return i; #endif } The missing parentheses result in an infinite loop when compiled at O2.