aboutsummaryrefslogtreecommitdiff
path: root/gcc/cppfiles.c
diff options
context:
space:
mode:
authorZack Weinberg <zack@gcc.gnu.org>2000-06-01 20:06:57 +0000
committerZack Weinberg <zack@gcc.gnu.org>2000-06-01 20:06:57 +0000
commitd7a2e0f70bda2f8a6bc82ca8da8cd069a4dbf954 (patch)
treef453ae8daad4bc2e728ee46239aaa1feccfd364b /gcc/cppfiles.c
parent0ba154aa230cbd0dc92a8500919922a378df4767 (diff)
downloadgcc-d7a2e0f70bda2f8a6bc82ca8da8cd069a4dbf954.zip
gcc-d7a2e0f70bda2f8a6bc82ca8da8cd069a4dbf954.tar.gz
gcc-d7a2e0f70bda2f8a6bc82ca8da8cd069a4dbf954.tar.bz2
[multiple changes]
2000-06-01 Zack Weinberg <zack@wolery.cumb.org> * cpplex.c (maybe_macroexpand): Use CPP_WTRADITIONAL. Improve error message. * cpplib.c (parse_include): Remove support for VAX-C "#include starlet" misfeature. * gcc.dg/cpp-tradwarn2.c: Update egrep pattern. 2000-05-31 Laurynas Biveinis <lauras@softhome.net> * cppfiles.c: conditionally define O_BINARY. (open_include_file): pass O_BINARY to open(). From-SVN: r34344
Diffstat (limited to 'gcc/cppfiles.c')
-rw-r--r--gcc/cppfiles.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/gcc/cppfiles.c b/gcc/cppfiles.c
index 676c9d5..71bb657 100644
--- a/gcc/cppfiles.c
+++ b/gcc/cppfiles.c
@@ -39,6 +39,10 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
# define MMAP_THRESHOLD 0
#endif
+#ifndef O_BINARY
+# define O_BINARY 0
+#endif
+
static IHASH *redundant_include_p PARAMS ((IHASH *, struct file_name_list *));
static IHASH *make_IHASH PARAMS ((const char *, const char *,
struct file_name_list *,
@@ -216,14 +220,18 @@ make_IHASH (name, fname, path, hash, slot)
paranoia is a virtue).
Use the three-argument form of open even though we aren't
- specifying O_CREAT, to defend against broken system headers. */
+ specifying O_CREAT, to defend against broken system headers.
+
+ O_BINARY tells some runtime libraries (notably DJGPP) not to do
+ newline translation; we can handle DOS line breaks just fine
+ ourselves. */
static inline int
open_include_file (pfile, filename)
cpp_reader *pfile ATTRIBUTE_UNUSED;
const char *filename;
{
- return open (filename, O_RDONLY|O_NOCTTY, 0666);
+ return open (filename, O_RDONLY|O_NOCTTY|O_BINARY, 0666);
}
/* Search for include file FNAME in the include chain starting at