diff options
author | Jose <jose@zeroc.com> | 2016-12-14 12:59:21 -0800 |
---|---|---|
committer | Jose <jose@zeroc.com> | 2016-12-14 12:59:21 -0800 |
commit | b650952f6306594c4cd28e5f2ee76b9907e5024e (patch) | |
tree | eab1852e9a9ffb4cfff2ea40ca0158e9c7f3dd7d /cpp/src/Slice/Preprocessor.cpp | |
parent | Fix for JS workers tests (diff) | |
parent | Fix for dependency parsing (diff) | |
download | ice-b650952f6306594c4cd28e5f2ee76b9907e5024e.tar.bz2 ice-b650952f6306594c4cd28e5f2ee76b9907e5024e.tar.xz ice-b650952f6306594c4cd28e5f2ee76b9907e5024e.zip |
Merge remote-tracking branch 'origin/3.6'
Diffstat (limited to 'cpp/src/Slice/Preprocessor.cpp')
-rw-r--r-- | cpp/src/Slice/Preprocessor.cpp | 32 |
1 files changed, 30 insertions, 2 deletions
diff --git a/cpp/src/Slice/Preprocessor.cpp b/cpp/src/Slice/Preprocessor.cpp index 912d024ab2e..2e0192edab9 100644 --- a/cpp/src/Slice/Preprocessor.cpp +++ b/cpp/src/Slice/Preprocessor.cpp @@ -382,12 +382,40 @@ Slice::Preprocessor::printMakefileDependencies(ostream& out, Language lang, cons // First remove the backslash used to escape new lines. // string::size_type pos; - while((pos = unprocessed.find("\\\n")) != string::npos) + while((pos = unprocessed.find(" \\\n")) != string::npos) { - unprocessed.replace(pos, 2, "\n"); + unprocessed.replace(pos, 3, "\n"); } // + // Split filenames in separate lines: + // + // /foo/A.ice /foo/B.ice becomes + // /foo/A.ice + // /foo/B.ice + // + // C:\foo\A.ice C:\foo\B.ice becomes + // C:\foo\A.ice + // C:\foo\B.ice + // + pos = 0; +#ifdef _WIN32 + while((pos = unprocessed.find(".ice ", pos)) != string::npos) + { + if(unprocessed.find(":", pos) == pos + 6) + { + unprocessed.replace(pos, 5, ".ice\n"); + pos += 5; + } + } +#else + while((pos = unprocessed.find(".ice /", pos)) != string::npos) + { + unprocessed.replace(pos, 5, ".ice\n"); + } +#endif + + // // Get the main output file name. // #ifdef _MSC_VER |