aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/expr.c
diff options
context:
space:
mode:
authorMikael Morin <mikael@gcc.gnu.org>2013-03-03 17:34:42 +0000
committerMikael Morin <mikael@gcc.gnu.org>2013-03-03 17:34:42 +0000
commitab68a73ede62fbcbb3abd07879838ebe81fdd484 (patch)
treeb845cd1c7ec2eb129f2b1ede285390fbfc00a15c /gcc/fortran/expr.c
parent4ef9b950005a24aab3b0ea7da77f16292ef587b4 (diff)
downloadgcc-ab68a73ede62fbcbb3abd07879838ebe81fdd484.zip
gcc-ab68a73ede62fbcbb3abd07879838ebe81fdd484.tar.gz
gcc-ab68a73ede62fbcbb3abd07879838ebe81fdd484.tar.bz2
re PR fortran/54730 (ICE in gfc_typenode_for_spec, at fortran/trans-types.c:1066)
fortran/ PR fortran/54730 * gfortran.h (struct gfc_undo_change_set): New field 'previous'. (gfc_new_undo_checkpoint, gfc_drop_last_undo_checkpoint, gfc_restore_last_undo_checkpoint): New prototypes. * symbol.c (default_undo_chgset_var): Update initialization. (single_undo_checkpoint_p, gfc_new_undo_checkpoint, free_undo_change_set_data, pop_undo_change_set, gfc_drop_last_undo_checkpoint, enforce_single_undo_checkpoint): New functions. (save_symbol_data): Handle multiple change sets. Make sure old_symbol field's previous value is not overwritten. Clear gfc_new field. (restore_old_symbol): Restore previous old_symbol field. (gfc_restore_last_undo_checkpoint): New function, using body renamed from gfc_undo_symbols. Restore the previous change set as current one. (gfc_undo_symbols): New body. (gfc_commit_symbols, gfc_commit_symbol, gfc_enforce_clean_symbol_state): Call enforce_single_undo_checkpoint. (gfc_symbol_done_2): Ditto. Free change set data. From-SVN: r196414
Diffstat (limited to 'gcc/fortran/expr.c')
0 files changed, 0 insertions, 0 deletions