https://gcc.gnu.org/bugzilla/show_bug.cgi?id=12454
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords|compile-time-hog | Summary|large number of if ();else |large number of if (); else |if cause |if in g++.dg/parse/stack1.C | |cause stack exhaustion --- Comment #11 from Richard Biener <rguenth at gcc dot gnu.org> --- g++.dg/parse/stack1.C is now optimized quickly by the FE and we enter gimplification with ;; Function void foo() (null) ;; enabled by -tree-original (void) 0; adjusting the testcase to the following reproduces the recursion issue in gimplify_cond_expr though the problem is hardly that but the generic design of the gimplifier. #define ONE else if (i) { } #define TEN ONE ONE ONE ONE ONE ONE ONE ONE ONE ONE #define HUN TEN TEN TEN TEN TEN TEN TEN TEN TEN TEN #define THOU HUN HUN HUN HUN HUN HUN HUN HUN HUN HUN void foo(int i) { if (i) { } /* 11,000 else if's. */ THOU THOU THOU THOU THOU THOU THOU THOU THOU THOU THOU }