On 05/11/2021 16.12, Olivier Hainque wrote: > > >> On 5 Nov 2021, at 15:12, Rasmus Villemoes <rasmus.villem...@prevas.dk> wrote:
> We happen to also have a few fixincludes hunks around. Some of > them have been there for years now and I thought would be nice to > propagate at some point. > > Do you use it? Sort of, kind of. I have previously sent fixups for some of the vxworks fixincludes, and I think I have a few more I could submit, but since I'm able to modify our target headers directly that's often much easier. For example, there's the mkdir fixup that adds #define mkdir(dir, ...) ((void)0, ##__VA_ARGS__, (mkdir)(dir)) But that macro doesn't play well with code in libstdc++ that says if (posix::mkdir(p.c_str(), mode)) because that expands to utter nonsense and breaks the build. A better macro, also using the comma operator to have the mode argument evaluated then ignored, would be something like #define mkdir(dir, mode) mkdir(((void)(mode), (dir))) (or the variadic version to continue allowing a one-argument invocation). But it was easier to just change the target header, making that fixinclude pattern no longer apply - knowing that if we ever compile the mkdir implementation [we have parts of the kernel sources, but not all], we'll have to fixup the definition. The one fixinclude-related problem I have is the stdint.h one I've mentioned previously. Rasmus