diff options
Diffstat (limited to 'source4')
-rw-r--r-- | source4/build/pidl/idl.pm | 9 | ||||
-rw-r--r-- | source4/build/pidl/idl.yp | 9 |
2 files changed, 16 insertions, 2 deletions
diff --git a/source4/build/pidl/idl.pm b/source4/build/pidl/idl.pm index d5c0ae0071..ee7fd8d9cf 100644 --- a/source4/build/pidl/idl.pm +++ b/source4/build/pidl/idl.pm @@ -1937,7 +1937,14 @@ again: $parser->YYData->{INPUT_FILENAME} = $2; goto again; } - goto again; + if (s/^\#line (\d+) \"(.*?)\"( \d+|)//) { + $parser->YYData->{LINE} = $1-1; + $parser->YYData->{INPUT_FILENAME} = $2; + goto again; + } + if (s/^(\#.*)$//m) { + goto again; + } } if (s/^(\n)//) { $parser->YYData->{LINE}++; diff --git a/source4/build/pidl/idl.yp b/source4/build/pidl/idl.yp index bfc4698709..93446dc8c1 100644 --- a/source4/build/pidl/idl.yp +++ b/source4/build/pidl/idl.yp @@ -267,7 +267,14 @@ again: $parser->YYData->{INPUT_FILENAME} = $2; goto again; } - goto again; + if (s/^\#line (\d+) \"(.*?)\"( \d+|)//) { + $parser->YYData->{LINE} = $1-1; + $parser->YYData->{INPUT_FILENAME} = $2; + goto again; + } + if (s/^(\#.*)$//m) { + goto again; + } } if (s/^(\n)//) { $parser->YYData->{LINE}++; |