------- Comment #1 from kargl at gcc dot gnu dot org 2010-06-02 00:42 ------- The problem is caused by gfc_match_stopcode().
if (gfc_match_eos () != MATCH_YES) { m = gfc_match_init_expr (&e); if (m == MATCH_ERROR) goto cleanup; if (m == MATCH_NO) goto syntax; } #if 0 if (gfc_match_eos () != MATCH_YES) goto syntax; #endif If the first gfc_match_eos () does not match an end-of-statement, gfortran immediate calls gfc_match_eos () again. With the #if 0 above the code in comment #1 compiles and executes. So, why is there a 2nd call to gfc_match_eos(). -- kargl at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |sgk at troutmask dot apl dot | |washington dot edu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44371