lhmouse/mcfgthread

restrict qualifier collision

revelator opened this issue · 6 comments

Been having trouble for some time with the restrict qualifier, and i suspected a bug with the mingw-w64 abi, but it turns out that mcfgthread redefines the qualifier in its own _crtdef.h which causes this error.
So i changed it to use a guard in case its allready defined which seems to have alleviated the problem.

restrict itself is a keyword in C today but the C++ people don't seem to like it...
GCC provides __restrict__ as an alternative that is available in both C and C++ and has the same meaning with the restrict keyword in C.

I was concerned that #define'ing restrict and nullptr would break some existent code because they aren't reserved identifiers... It turns out to be a bad choice I must acknowledge.

AFAIC the safest solution to this problem is using __restrict__ only in our code and removing that macro.

New commits pushed. Please test.

OK for closure?