lcc icon indicating copy to clipboard operation
lcc copied to clipboard

Rename outp to outptr to avoid name clash with MSVC

Open whizzter opened this issue 9 years ago • 2 comments

whizzter avatar Nov 23 '15 00:11 whizzter

where does MSVC use outp ? that's a C namespace violation

rofl0r avatar Nov 23 '15 09:11 rofl0r

Ok investigated it a bit more, made a minimal test case and found out that it seems to be a compiler bug inside MSVC 2008 and forward (2005 compiles fine).

If compiling the file as a C file (renaming the file to .cpp makes it compile again for some reason) this minimal example will produce an error.

char *outp; int main(int argc,char **argv) { return 0; }

Chatted with a few guys while testing and we suspect that the outp (x86 port output function) has been made an intrinsic and that intrinsic is somehow buggy when compiling as a C file with MSVC (the symbol for outp is defined in conio.h but the error persists regardless of if the file is included)

Then the question is, do we try to work around this compiler bug or do we just ignore people using MSVC?

whizzter avatar Nov 23 '15 18:11 whizzter