summaryrefslogtreecommitdiff
path: root/gcc/c-pch.c
diff options
context:
space:
mode:
authordannysmith <dannysmith@138bc75d-0d04-0410-961f-82ee72b054a4>2004-06-05 07:28:27 +0000
committerdannysmith <dannysmith@138bc75d-0d04-0410-961f-82ee72b054a4>2004-06-05 07:28:27 +0000
commit62b4d90e930cf306be641282558f65fec69f3754 (patch)
tree546ccfa4f253ff907aa47680a32cadae4b2a9bc1 /gcc/c-pch.c
parent3cdc65fb5d7b881e06e1995e6a3f6020245febba (diff)
downloadgcc-62b4d90e930cf306be641282558f65fec69f3754.tar.gz
* toplev.c (init_asm_output): Add explicit 'b' to mode when
opening asm_out_file. * c-pch.c (c_common_write_pch): Remove unnecessary fflush before reading asm_out_file. Replace fflush after reading asm_out_file with fseek. * hosthooks-def.h (HOST_HOOKS_GT_PCH_ALLOC_GRANULARITY): Define default and add to HOST_HOOKS_INITIALIZER. * hosthooks.h (gt_pch_alloc_granularity): Declare hook function. * ggc-common.c (default_gt_pch_alloc_granularity): New function. (gt_pch_save): Use host_hooks.gt_pch_alloc_granularity to set mmi.offset padding. * config.gcc (i[34567]86-*-mingw32*): Set target_gtfiles to $(srcdir)/config/i386/winnt.c. (i[34567]86-*-pe | i[34567]86-*-cygwin*): Likewise. (i[34567]86-*-uwin*): Likewise. *i[34567]86-*-interix3*): Likewise. * config.host (i[34567]86-*-mingw32*): Set out_host_hook_obj. * config/i386/host-mingw32.c: New file. * config/i386/x-mingw32: Add rule for host-mingw32.o. * config/i386/winnt.c: (struct extern_list) Tag as GTY. (extern_head): Likewise. (struct export_list) Likewise. (export_head): Likewise. (i386_pe_record_external_function): Use ggc_alloc. (i386_pe_record_exported_symbol): Likewise. Include "gt-winnt.h" at end. * doc/hostconfig.texi: Document HOST_HOOKS_GT_PCH_ALLOC_GRANULARITY. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@82643 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/c-pch.c')
-rw-r--r--gcc/c-pch.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/gcc/c-pch.c b/gcc/c-pch.c
index 8e2e6f126fa..03cf3bf08bc 100644
--- a/gcc/c-pch.c
+++ b/gcc/c-pch.c
@@ -194,7 +194,6 @@ c_common_write_pch (void)
fatal_error ("can't write %s: %m", pch_file);
buf = xmalloc (16384);
- fflush (asm_out_file);
if (fseek (asm_out_file, asm_file_startpos, SEEK_SET) != 0)
fatal_error ("can't seek in %s: %m", asm_file_name);
@@ -211,8 +210,10 @@ c_common_write_pch (void)
written += size;
}
free (buf);
- /* asm_out_file can be written afterwards, so must be flushed first. */
- fflush (asm_out_file);
+ /* asm_out_file can be written afterwards, so fseek to clear
+ _IOREAD flag. */
+ if (fseek (asm_out_file, 0, SEEK_END) != 0)
+ fatal_error ("can't seek in %s: %m", asm_file_name);
gt_pch_save (pch_outfile);
cpp_write_pch_state (parse_in, pch_outfile);