diff options
Diffstat (limited to 'cpp/src')
-rw-r--r-- | cpp/src/Slice/Preprocessor.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/cpp/src/Slice/Preprocessor.cpp b/cpp/src/Slice/Preprocessor.cpp index 36e51ffa16d..832f0ae5756 100644 --- a/cpp/src/Slice/Preprocessor.cpp +++ b/cpp/src/Slice/Preprocessor.cpp @@ -87,7 +87,16 @@ Slice::Preprocessor::normalizeIncludePath(const string& path) { string result = path; - replace(result.begin(), result.end(), '\\', '/'); +#ifdef _WIN32 + // + // MCPP does not handle "-IC:/" well as an include path. + // + if(path.size() != 3 || !(path[0] >= 'A' && path[0] <= 'Z') || (path[0] >= 'a' && path[0] <= 'z') || + path[1] != ':' || path[2] != '\\') +#endif + { + replace(result.begin(), result.end(), '\\', '/'); + } string::size_type startReplace = 0; #ifdef _WIN32 |