aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fixincludes/fixincl.x58
-rw-r--r--fixincludes/inclhack.def22
-rw-r--r--fixincludes/tests/base/yvals.h17
3 files changed, 92 insertions, 5 deletions
diff --git a/fixincludes/fixincl.x b/fixincludes/fixincl.x
index 16b15c0..87175fe 100644
--- a/fixincludes/fixincl.x
+++ b/fixincludes/fixincl.x
@@ -2,11 +2,11 @@
*
* DO NOT EDIT THIS FILE (fixincl.x)
*
- * It has been AutoGen-ed January 4, 2022 at 10:24:34 AM by AutoGen 5.18.16
+ * It has been AutoGen-ed January 6, 2022 at 11:59:22 AM by AutoGen 5.18.16
* From the definitions inclhack.def
* and the template file fixincl
*/
-/* DO NOT SVN-MERGE THIS FILE, EITHER Tue Jan 4 10:24:34 UTC 2022
+/* DO NOT SVN-MERGE THIS FILE, EITHER Thu Jan 6 11:59:22 UTC 2022
*
* You must regenerate it. Use the ./genfixes script.
*
@@ -15,7 +15,7 @@
* certain ANSI-incompatible system header files which are fixed to work
* correctly with ANSI C and placed in a directory that GNU C will search.
*
- * This file contains 262 fixup descriptions.
+ * This file contains 263 fixup descriptions.
*
* See README for more information.
*
@@ -10327,6 +10327,48 @@ static const char* apzVxworks_Needs_VxworksPatch[] = { sed_cmd_z,
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
+ * Description of Vxworks_Next_Yvals fix
+ */
+tSCC zVxworks_Next_YvalsName[] =
+ "vxworks_next_yvals";
+
+/*
+ * File name selection pattern
+ */
+tSCC zVxworks_Next_YvalsList[] =
+ "yvals.h\0";
+/*
+ * Machine/OS name selection pattern
+ */
+tSCC* apzVxworks_Next_YvalsMachs[] = {
+ "*-*-vxworks*",
+ (const char*)NULL };
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zVxworks_Next_YvalsSelect0[] =
+ "#include_next <yvals.h>";
+
+#define VXWORKS_NEXT_YVALS_TEST_CT 1
+static tTestDesc aVxworks_Next_YvalsTests[] = {
+ { TT_EGREP, zVxworks_Next_YvalsSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Vxworks_Next_Yvals
+ */
+static const char* apzVxworks_Next_YvalsPatch[] = {
+ "format",
+ "#if 0 /* GCC does not provide yvals.h. */\n\
+%1",
+ "#if .*\n\
+/\\* .*\n\
+(#include_next <yvals.h>\n\
+)",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
* Description of Vxworks_Regs fix
*/
tSCC zVxworks_RegsName[] =
@@ -10648,9 +10690,9 @@ static const char* apzX11_SprintfPatch[] = {
*
* List of all fixes
*/
-#define REGEX_COUNT 300
+#define REGEX_COUNT 301
#define MACH_LIST_SIZE_LIMIT 187
-#define FIX_COUNT 262
+#define FIX_COUNT 263
/*
* Enumerate the fixes
@@ -10910,6 +10952,7 @@ typedef enum {
VXWORKS_POSIX_MKDIR_FIXIDX,
VXWORKS_NEEDS_VXTYPES_FIXIDX,
VXWORKS_NEEDS_VXWORKS_FIXIDX,
+ VXWORKS_NEXT_YVALS_FIXIDX,
VXWORKS_REGS_FIXIDX,
VXWORKS_TIME_FIXIDX,
VXWORKS_WRITE_CONST_FIXIDX,
@@ -12191,6 +12234,11 @@ tFixDesc fixDescList[ FIX_COUNT ] = {
VXWORKS_NEEDS_VXWORKS_TEST_CT, FD_MACH_ONLY,
aVxworks_Needs_VxworksTests, apzVxworks_Needs_VxworksPatch, 0 },
+ { zVxworks_Next_YvalsName, zVxworks_Next_YvalsList,
+ apzVxworks_Next_YvalsMachs,
+ VXWORKS_NEXT_YVALS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+ aVxworks_Next_YvalsTests, apzVxworks_Next_YvalsPatch, 0 },
+
{ zVxworks_RegsName, zVxworks_RegsList,
apzVxworks_RegsMachs,
VXWORKS_REGS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
diff --git a/fixincludes/inclhack.def b/fixincludes/inclhack.def
index 8f056ad..4643678 100644
--- a/fixincludes/inclhack.def
+++ b/fixincludes/inclhack.def
@@ -5211,6 +5211,28 @@ fix = {
};
/*
+ * yvals.h on VxWorks-6 expects the toolchain to provide its own
+ * version of the header, which we don't do. Arrange to fallback
+ * on the system definition.
+ */
+fix = {
+ hackname = vxworks_next_yvals;
+ mach = "*-*-vxworks*";
+ files = yvals.h;
+ select = "#include_next <yvals.h>";
+ c_fix = format;
+ c_fix_arg = "#if 0 /* GCC does not provide yvals.h. */\n%1";
+ c_fix_arg = "#if .*\n"
+ "/\\* .*\n"
+ "(#include_next <yvals.h>\n)";
+
+ test_text = "#if (defined(__cplusplus) && defined(__GNUC__))\n"
+ "/* GCC C++ has it's own yvals.h */\n"
+ "#include_next <yvals.h>\n"
+ "#else\n";
+};
+
+/*
* Make it so VxWorks does not include gcc/regs.h accidentally
*/
fix = {
diff --git a/fixincludes/tests/base/yvals.h b/fixincludes/tests/base/yvals.h
new file mode 100644
index 0000000..ea384d9
--- /dev/null
+++ b/fixincludes/tests/base/yvals.h
@@ -0,0 +1,17 @@
+/* DO NOT EDIT THIS FILE.
+
+ It has been auto-edited by fixincludes from:
+
+ "fixinc/tests/inc/yvals.h"
+
+ This had to be done to correct non-standard usages in the
+ original, manufacturer supplied header file. */
+
+
+
+#if defined( VXWORKS_NEXT_YVALS_CHECK )
+#if 0 /* GCC does not provide yvals.h. */
+#include_next <yvals.h>
+#else
+
+#endif /* VXWORKS_NEXT_YVALS_CHECK */