aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/system.h11
2 files changed, 12 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c95a7ef..dd3c6d7 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,9 @@
2012-01-03 Olivier Hainque <hainque@adacore.com>
+ * system.h: Prior to #define, #undef fopen and freopen unconditionally.
+
+2012-01-03 Olivier Hainque <hainque@adacore.com>
+
* collect2.c (main): In AIX specific computations for vector
insertions, use CONST_CAST2 to cast from char ** to const char **.
diff --git a/gcc/system.h b/gcc/system.h
index 0a943a3..51520e1 100644
--- a/gcc/system.h
+++ b/gcc/system.h
@@ -47,9 +47,14 @@ along with GCC; see the file COPYING3. If not see
#endif
/* Use the unlocked open routines from libiberty. */
-#ifdef fopen /* fopen is a #define on VMS. */
-#undef fopen
-#endif
+
+/* Some of these are #define on some systems, e.g. on AIX to redirect
+ the names to 64bit capable functions for LARGE_FILES support. These
+ redefs are pointless here so we can override them. */
+
+#undef fopen
+#undef freopen
+
#define fopen(PATH,MODE) fopen_unlocked(PATH,MODE)
#define fdopen(FILDES,MODE) fdopen_unlocked(FILDES,MODE)
#define freopen(PATH,MODE,STREAM) freopen_unlocked(PATH,MODE,STREAM)