https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66461
--- Comment #11 from Gerhard Steinmetz <gerhard.steinmetz.fort...@t-online.de> --- ... some more variations with slightly different "line breaks" : $ cat z6.f program p integer x x = 0 if ( x > & 0 ) continue !end $ gfortran-6 z6.f f951: internal compiler error: free_expr0(): Bad expr type $ cat z7.f program p integer x x = 0 if ( x > 0 & ) continue !end $ gfortran-6 z7.f z7.f:4:19: if ( x > 0 1 Error: Syntax error in IF-expression at (1) f951: Error: Unexpected end of file in ‘z7.f’ --- $ cat z8.f program p integer x x = 0 if ( & .true. ) continue !end $ gfortran-6 z8.f f951: internal compiler error: free_expr0(): Bad expr type $ cat z9.f program p integer x x = 0 if ( .true. ) & continue !end $ gfortran-6 z9.f z9.f:4:72: if ( .true. ) 1 Error: Cannot assign to a named constant at (1) f951: Error: Unexpected end of file in ‘z9.f’ --- $ cat za.f program p integer x x = 0 if ( .true. ) x = x + & 1 !end $ gfortran-6 za.f za.f:4:72: if ( .true. ) x = x + 1 Error: Syntax error in expression at (1) f951: Error: Unexpected end of file in ‘za.f’