diff --git a/fixincludes/ChangeLog b/fixincludes/ChangeLog index 4f5f1fefb67..e7223659ab6 100644 --- a/fixincludes/ChangeLog +++ b/fixincludes/ChangeLog @@ -1,3 +1,10 @@ +2018-10-16 Rasmus Villemoes + + * inclhack.def (AAB_vxworks_regs_vxtypes): Add unconditional + include of vxCpu.h, guard include of vxTypesOld.h by + !_ASMLANGUAGE. + * fixincl.x: Regenerate. + 2018-09-03 Rasmus Villemoes * inclhack.def (vxworks_ioctl_macro): Remove parentheses from diff --git a/fixincludes/fixincl.x b/fixincludes/fixincl.x index 73324211534..ad5824da015 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 September 3, 2018 at 03:24:05 PM by AutoGen 5.18.7 + * It has been AutoGen-ed October 16, 2018 at 11:38:39 AM by AutoGen 5.18.7 * From the definitions inclhack.def * and the template file fixincl */ -/* DO NOT SVN-MERGE THIS FILE, EITHER Mon Sep 3 15:24:05 CEST 2018 +/* DO NOT SVN-MERGE THIS FILE, EITHER Tue Oct 16 11:38:39 CEST 2018 * * You must regenerate it. Use the ./genfixes script. * @@ -579,7 +579,17 @@ tSCC* apzAab_Vxworks_Regs_VxtypesMachs[] = { static const char* apzAab_Vxworks_Regs_VxtypesPatch[] = { "#ifndef _REGS_H\n\ #define _REGS_H\n\ +/* regs.h depends on CPU_FAMILY being properly defined, which\n\ + is done by vxCpu.h. */\n\ +#include \n\ +/* regs.h includes a CPU_FAMILY-specific header that requires\n\ + vxTypesOld.h to already have been included. Those headers\n\ + contain proper _ASMLANGUAGE guards around their typedefs,\n\ + but vxTypesOld.h itself does not. So we avoid including\n\ + vxTypesOld.h from assembly. */\n\ +#ifndef _ASMLANGUAGE\n\ #include \n\ +#endif\n\ #include_next \n\ #endif", (char*)NULL }; diff --git a/fixincludes/inclhack.def b/fixincludes/inclhack.def index f9ba9774f32..8fd9f7ef295 100644 --- a/fixincludes/inclhack.def +++ b/fixincludes/inclhack.def @@ -426,7 +426,17 @@ fix = { replace = <<- _EndOfHeader_ #ifndef _REGS_H #define _REGS_H + /* regs.h depends on CPU_FAMILY being properly defined, which + is done by vxCpu.h. */ + #include + /* regs.h includes a CPU_FAMILY-specific header that requires + vxTypesOld.h to already have been included. Those headers + contain proper _ASMLANGUAGE guards around their typedefs, + but vxTypesOld.h itself does not. So we avoid including + vxTypesOld.h from assembly. */ + #ifndef _ASMLANGUAGE #include + #endif #include_next #endif _EndOfHeader_;