The attached patch fixes this by adding code to match a default character expression if the left paren is first matched on a READ statement. If the expression is matched the dt-format is set and processing continues. Otherwise execution drops through to match a control list as usual. Regression tested on x86-64-linux. Test case attached. OK for trunk? Regards, Jerry 2016-05-30 Jerry DeLisle PR fortran/52393 * io.c (match_io): For READ, try to match a default character expression. If found, set the dt format expression to this, otherwise go back and try control list.