re PR fortran/34359 (ICE in December 6 version of gfortran when compiling a file...
authorJakub Jelinek <jakub@redhat.com>
Sat, 8 Dec 2007 21:00:06 +0000 (22:00 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Sat, 8 Dec 2007 21:00:06 +0000 (22:00 +0100)
commit1b271c9ba316d536d177249070d510f74a06af3f
treebc4bbaa3da451b54fe5c683b72d4f4f715b56e79
parentc94ae2e4b885fe63dc2c83a173033016a67410ab
re PR fortran/34359 (ICE in December 6 version of gfortran when compiling a file with two routines that contain INCLUDE statements)

PR fortran/34359
* gfortran.h (gfc_file): Remove sibling and down fields.
* scanner.c (file_changes, file_changes_cur, file_changes_count,
file_changes_allocated): New variables.
(add_file_change, report_file_change): New functions.
(change_file): Remove.
(gfc_start_source_files, gfc_end_source_files): Call
report_file_change instead of change_file.
(gfc_advance_line): Call report_file_change instead of change_file,
call it even if lb->file == lb->next->file.
(get_file): Revert last changes.
(preprocessor_line): Call add_file_change when entering or leaving
a file.
(load_file): Likewise.  Set file_change[...].lb for all newly added
file changes.

* gfortran.dg/include_1.f90: New test.
* gfortran.dg/include_1.inc: New.
* gfortran.dg/include_2.f90: New test.

From-SVN: r130712
gcc/fortran/ChangeLog
gcc/fortran/gfortran.h
gcc/fortran/scanner.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/include_1.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/include_1.inc [new file with mode: 0644]
gcc/testsuite/gfortran.dg/include_2.f90 [new file with mode: 0644]