diff options
author | Daniel Franke <franke.daniel@gmail.com> | 2008-06-02 12:41:08 -0400 |
---|---|---|
committer | Daniel Franke <dfranke@gcc.gnu.org> | 2008-06-02 12:41:08 -0400 |
commit | 1e60697fe1595df64ad679af3f8cc56400c7fe45 (patch) | |
tree | eaf9901c359c6621da0201c7715074479088ca55 /gcc | |
parent | 3250d724898f2c4af583d67ba86c34193ba86a89 (diff) | |
download | gcc-1e60697fe1595df64ad679af3f8cc56400c7fe45.zip gcc-1e60697fe1595df64ad679af3f8cc56400c7fe45.tar.gz gcc-1e60697fe1595df64ad679af3f8cc56400c7fe45.tar.bz2 |
re PR fortran/36375 (ICE on -fpreprocessed)
2008-06-02 Daniel Franke <franke.daniel@gmail.com>
PR fortran/36375
PR fortran/36377
* cpp.c (gfc_cpp_init): Do not initialize builtins if
processing already preprocessed input.
(gfc_cpp_preprocess): Finalize output with newline.
From-SVN: r136283
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/fortran/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/fortran/cpp.c | 5 |
2 files changed, 13 insertions, 0 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index a928c25..06fc54c 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,11 @@ +2008-06-02 Daniel Franke <franke.daniel@gmail.com> + + PR fortran/36375 + PR fortran/36377 + * cpp.c (gfc_cpp_init): Do not initialize builtins if + processing already preprocessed input. + (gfc_cpp_preprocess): Finalize output with newline. + 2008-05-31 Jerry DeLisle <jvdelisle@gcc.gnu.org> * intrinsic.texi: Revert wrong commit. diff --git a/gcc/fortran/cpp.c b/gcc/fortran/cpp.c index 865e2ef..170f6cd 100644 --- a/gcc/fortran/cpp.c +++ b/gcc/fortran/cpp.c @@ -524,6 +524,9 @@ gfc_cpp_init (void) { int i; + if (gfc_option.flag_preprocessed) + return; + cpp_change_file (cpp_in, LC_RENAME, _("<built-in>")); if (!gfc_cpp_option.no_predefined) cpp_define_builtins (cpp_in); @@ -574,6 +577,8 @@ gfc_cpp_preprocess (const char *source_file) cpp_forall_identifiers (cpp_in, dump_macro, NULL); } + putc ('\n', print.outf); + if (!gfc_cpp_preprocess_only () || (gfc_cpp_preprocess_only () && gfc_cpp_option.output_filename)) fclose (print.outf); |