Already during parsing, the allocatable character array assignment x = (x) is converted to two gfc_codes with EXEC_ASSIGN, namely: ASSIGN z1:_F.DA0(FULL) (parens z1:x(FULL)) ASSIGN z1:x(FULL) z1:_F.DA0(FULL) But the current code expects only one gfc_code - as parse.c does some checks, that's unexpected for resolution and currently is checked with an gcc_assert. Solution: I now defer the gfc_assert until after diagnosing the arguments. OK for mainline (only affected version)? Tobias ----------------- Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht München, HRB 106955