diff options
author | Benoit Foucher <benoit@zeroc.com> | 2009-08-11 14:38:03 +0200 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2009-08-11 14:38:03 +0200 |
commit | 98b650afb952bf630ca552af48281f4fb09ac189 (patch) | |
tree | 9e653d0c4c97e45cd13a9a0b8965bdd20e049695 /cpp/src/Slice/Parser.cpp | |
parent | 3.3b version changes. (diff) | |
download | ice-98b650afb952bf630ca552af48281f4fb09ac189.tar.bz2 ice-98b650afb952bf630ca552af48281f4fb09ac189.tar.xz ice-98b650afb952bf630ca552af48281f4fb09ac189.zip |
Mcpp workaround for bug 4085
Diffstat (limited to 'cpp/src/Slice/Parser.cpp')
-rw-r--r-- | cpp/src/Slice/Parser.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/cpp/src/Slice/Parser.cpp b/cpp/src/Slice/Parser.cpp index 474503132b5..b38172de2a6 100644 --- a/cpp/src/Slice/Parser.cpp +++ b/cpp/src/Slice/Parser.cpp @@ -5453,6 +5453,13 @@ Slice::Unit::parse(const string& filename, FILE* file, bool debug, Slice::Featur pushContainer(this); pushDefinitionContext(); + // + // MCPP Fix: mcpp doesn't always output the first #line when mcpp_lib_main is + // called repeatedly. We scan a fake #line here to ensure the top definition + // context is correctly initialized. + // + scanPosition(string("#line 1 " + _topLevelFile).c_str()); + slice_in = file; int status = slice_parse(); if(_errors) |