<div dir="ltr">Hello,<div><br></div><div>Here is the tentative patch for MSVC12 support. Actually much smaller than MinGW32 one (1/3).</div><div>Need some improvements/reviews. Some points that might need some discussion:</div>
<div><br></div><div>* getopt.h doesn't exist. Also, current inttypes.h doesn't work well (should be fixed in final release so it will be removed later).</div><div>As a result, I added a folder include/msvc that can override some system include.</div>
<div>I wanted to make sure it was OK to do so? If yes, is this folder OK or somewhere else maybe?</div><div>Otherwise, I could always add lot of #ifdef around each <getopt.h> include, but that might be ugly.</div><div>
Note that MSVC11 might also need some more additional includes as well (need to check).</div><div><br></div><div>* Most of the other fixes are related to some subtle difference in templates instantiation, as well as friend class within namespace that needs forward declaration (cf CommandObjectBreakpointCommandAdd and CommandObjectProcessLaunch)..</div>
<div><br></div><div>* Also, I added backslash separator for paths in FileSpec.cpp (apply for MinGW32 as well).</div><div>I might commit this separately if the MSVC patch takes some time to be cleared out.</div><div><br></div>
<div>* Only thing left to fix before it compiles is a MinGW32/MSVC compilation error introduced yesterday by r189316 (otherwise it would probably have been enough).</div><div>It's due to windows.h and llvm/Support/COFF.h conflicting #define/enum. I hope to get this fixed in LLVM soon too.</div>
<div><br></div><div>* I think the only thing I didn't include is a few printf("%zx") in logging that needs to be fixed here and there (will be in a separate patch).</div><div><br></div><div>Compilation OK on Linux.</div>
<div><br></div><div>Thanks,</div><div>Virgile</div></div>