aboutsummaryrefslogtreecommitdiff
path: root/gcc/fixinc/inclhack.def
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/fixinc/inclhack.def')
-rw-r--r--gcc/fixinc/inclhack.def140
1 files changed, 60 insertions, 80 deletions
diff --git a/gcc/fixinc/inclhack.def b/gcc/fixinc/inclhack.def
index d83ac73..d26c7d7 100644
--- a/gcc/fixinc/inclhack.def
+++ b/gcc/fixinc/inclhack.def
@@ -283,6 +283,45 @@ fix = {
/*
+ * Fix non-ANSI memcpy declaration that conflicts with gcc's builtin
+ * declaration on Sun OS 4.x. We must only fix this on Sun OS 4.x, because
+ * many other systems have similar text but correct versions of the file.
+ * To ensure only Sun's is fixed, we grep for a likely unique string.
+ * Fix also on sysV68 R3V7.1 (head/memory.h\t50.1\t )
+ */
+fix = {
+ hackname = AAB_sun_memcpy;
+ files = memory.h;
+ select = "/\\*\t@\\(#\\)"
+ "(head/memory.h\t50.1\t "
+ "|memory\\.h 1\\.[2-4] 8./../.. SMI; from S5R2 1\\.2\t)\\*/";
+
+ replace =
+'/* This file was generated by fixincludes */
+\#ifndef __memory_h__
+\#define __memory_h__
+
+\#ifdef __STDC__
+extern void *memccpy();
+extern void *memchr();
+extern void *memcpy();
+extern void *memset();
+\#else
+extern char *memccpy();
+extern char *memchr();
+extern char *memcpy();
+extern char *memset();
+\#endif /* __STDC__ */
+
+extern int memcmp();
+
+\#endif /* __memory_h__ */
+';
+
+};
+
+
+/*
* Completely replace <sys/byteorder.h>; with a file that implements gcc's
* optimized byteswapping. Restricted to "SVR4" machines until either
* it is shown to be safe to replace this file always, or we get bolder ;-)
@@ -469,6 +508,17 @@ fix = {
/*
+ * Cancel out ansi_compat.h on Ultrix. Replace it with an empty file.
+ */
+fix = {
+ hackname = AAB_ultrix_ansi_compat;
+ files = ansi_compat.h;
+ select = ULTRIX;
+ replace = "/* This file intentionally left blank. */\n";
+};
+
+
+/*
* sys/wait.h on AIX 3.2.5 puts the declaration of wait3 before the definition
* of struct rusage, so the prototype (added by fixproto) causes havoc.
*/
@@ -898,18 +948,13 @@ fix = {
};
/*
- * Determine if we're on Interactive Unix 2.2 or later, in which case we
- * need to fix some additional files. This is the same test for ISC that
- * Autoconf uses. On Interactive 2.2, certain traditional Unix
- * definitions (notably getc and putc in stdio.h) are omitted if __STDC__
- * is defined, not just if _POSIX_SOURCE is defined. This makes it
+ * On Interactive Unix 2.2, certain traditional Unix definitions
+ * (notably getc and putc in stdio.h) are omitted if __STDC__ is
+ * defined, not just if _POSIX_SOURCE is defined. This makes it
* impossible to compile any nontrivial program except with -posix.
*/
fix = {
- hackname = interactv_add1;
-
- test = " -d /etc/conf/kconfig.d";
- test = ' -n "`grep _POSIX_VERSION /usr/include/sys/unistd.h`"';
+ hackname = isc_omits_with_stdc;
files = "stdio.h";
files = "math.h";
@@ -918,33 +963,12 @@ fix = {
files = "sys/fcntl.h";
files = "sys/dirent.h";
+ select = "defined\(__STDC__\) && !defined\(_POSIX_SOURCE\)";
+
sed = "s/!defined(__STDC__) && !defined(_POSIX_SOURCE)/"
"!defined(_POSIX_SOURCE)/";
};
-fix = {
- hackname = interactv_add2;
-
- test = " -d /etc/conf/kconfig.d";
- test = ' -n "`grep _POSIX_VERSION /usr/include/sys/unistd.h`"';
-
- files = math.h;
- sed = "s/fmod(double)/fmod(double, double)/";
-};
-
-fix = {
- hackname = interactv_add3;
-
- test = " -d /etc/conf/kconfig.d";
- test = ' -n "`grep _POSIX_VERSION /usr/include/sys/unistd.h`"';
-
- files = sys/limits.h;
-
- sed = "/CHILD_MAX/s,/\\* Max, Max,";
- sed = "/OPEN_MAX/s,/\\* Max, Max,";
-};
-
-
/*
* Fix various _IO* defines, but do *not* quote the characters cgxtf.
*/
@@ -1838,41 +1862,6 @@ fix = {
/*
- * Fix non-ANSI memcpy declaration that conflicts with gcc's builtin
- * declaration on Sun OS 4.x. We must only fix this on Sun OS 4.x, because
- * many other systems have similar text but correct versions of the file.
- * To ensure only Sun's is fixed, we grep for a likely unique string.
- * Fix also on sysV68 R3V7.1 (head/memory.h\t50.1\t )
- */
-fix = {
- hackname = sun_memcpy;
- files = memory.h;
- select = "/\\*\t@\\(#\\)"
- "(head/memory.h\t50.1\t "
- "|memory\\.h 1\\.[2-4] 8./../.. SMI; from S5R2 1\\.2\t)\\*/";
-
- sed = "1i\\\n/* This file was generated by fixincludes */\\\n"
- "#ifndef __memory_h__\\\n"
- "#define __memory_h__\\\n\\\n"
- "#ifdef __STDC__\\\n"
- "extern void *memccpy();\\\n"
- "extern void *memchr();\\\n"
- "extern void *memcpy();\\\n"
- "extern void *memset();\\\n"
- "#else\\\n"
- "extern char *memccpy();\\\n"
- "extern char *memchr();\\\n"
- "extern char *memcpy();\\\n"
- "extern char *memset();\\\n"
- "#endif /* __STDC__ */\\\n\\\n"
- "extern int memcmp();\\\n\\\n"
- "#endif /* __memory_h__ */\n";
-
- sed = "1,$d";
-};
-
-
-/*
* Check for yet more missing ';' in struct (in SunOS 4.0.x)
*/
fix = {
@@ -2456,18 +2445,6 @@ fix = {
/*
- * Cancel out ansi_compat.h on Ultrix. Replace it with empty file.
- */
-fix = {
- hackname = ultrix_ansi_compat;
- files = ansi_compat.h;
- select = ULTRIX;
- sed = "1i\\\n/* This file intentionally left blank. */\n";
- sed = "1,$d";
-};
-
-
-/*
* Ultrix V4.[35] puts the declaration of uname before the definition
* of struct utsname, so the prototype (added by fixproto) causes havoc.
*/
@@ -2758,7 +2735,10 @@ fix = {
*/
fix = {
hackname = x11_sprintf;
- files = X11*/Xmu.h;
+ files = X11/Xmu.h;
+ files = X11/Xmu/Xmu.h;
+ select = 'sprintf\(\)';
+
sed = "s,^extern char \\*\tsprintf();$,#ifndef __STDC__\\\n"
"extern char *\tsprintf();\\\n"
"#endif /* !defined __STDC__ */,";