diff options
author | mikael <mikael@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-03-03 17:34:42 +0000 |
---|---|---|
committer | mikael <mikael@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-03-03 17:34:42 +0000 |
commit | 1d3a7eebb83c1bd1cba57373cb81f2fd5b155e58 (patch) | |
tree | b845cd1c7ec2eb129f2b1ede285390fbfc00a15c /libiberty | |
parent | 65dd30144b01c85962532fb84c030614bd3fa7e5 (diff) | |
download | gcc-1d3a7eebb83c1bd1cba57373cb81f2fd5b155e58.tar.gz |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196414 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libiberty')
0 files changed, 0 insertions, 0 deletions