diff options
author | Britney Fransen <brfransen@gmail.com> | 2014-04-10 18:01:25 (GMT) |
---|---|---|
committer | Britney Fransen <brfransen@gmail.com> | 2014-04-10 18:01:25 (GMT) |
commit | 22b2ce74724dcd4bcef56c29b2e27e3e5faa2db2 (patch) | |
tree | 479d2d6d0c755be0b8cfa0f2c6c728e4a68eb2fe /abs/extra/samba/samba-4.0.3-fix_pidl_with_gcc48.patch | |
parent | b5b6b297d572ed222d16407aa127e4ca9b5bdd5b (diff) | |
download | linhes_pkgbuild-22b2ce74724dcd4bcef56c29b2e27e3e5faa2db2.zip linhes_pkgbuild-22b2ce74724dcd4bcef56c29b2e27e3e5faa2db2.tar.gz linhes_pkgbuild-22b2ce74724dcd4bcef56c29b2e27e3e5faa2db2.tar.bz2 |
samba: update to 4.1.6. refs #961
Diffstat (limited to 'abs/extra/samba/samba-4.0.3-fix_pidl_with_gcc48.patch')
-rw-r--r-- | abs/extra/samba/samba-4.0.3-fix_pidl_with_gcc48.patch | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/abs/extra/samba/samba-4.0.3-fix_pidl_with_gcc48.patch b/abs/extra/samba/samba-4.0.3-fix_pidl_with_gcc48.patch new file mode 100644 index 0000000..cb2378a --- /dev/null +++ b/abs/extra/samba/samba-4.0.3-fix_pidl_with_gcc48.patch @@ -0,0 +1,60 @@ +From 1ac743a7d0d20e16fc325749d593edaaed89d706 Mon Sep 17 00:00:00 2001 +From: Alexander Bokovoy <ab@samba.org> +Date: Wed, 6 Feb 2013 10:17:57 +0200 +Subject: [PATCH] PIDL: fix parsing linemarkers in preprocessor output + +When PIDL calls out to C preprocessor to expand IDL files +and parse the output, it filters out linemarkers and line control +information as described in http://gcc.gnu.org/onlinedocs/cpp/Preprocessor-Output.html +and http://gcc.gnu.org/onlinedocs/cpp/Line-Control.html#Line-Control + +With gcc 4.8 stdc-predef.h is included automatically and linemarker for the +file has extended flags that PIDL couldn't parse ('system header that needs to +be extern "C" protected for C++') + +Thanks to Jakub Jelinek <jakub@redhat.com> for explanation of the linemarker format. + +Fixes https://bugzilla.redhat.com/show_bug.cgi?id=906517 + +Reviewed-by: Andreas Schneider <asn@samba.org> +(cherry picked from commit 6ba7ab5c14801aecae96373d5a9db7ab82957526) + +Signed-off-by: Andreas Schneider <asn@samba.org> +--- + pidl/idl.yp | 4 +++- + pidl/lib/Parse/Pidl/IDL.pm | 4 +++- + 2 files changed, 6 insertions(+), 2 deletions(-) + +diff --git a/pidl/idl.yp b/pidl/idl.yp +index b5c5185..c8a65f6 100644 +--- a/pidl/idl.yp ++++ b/pidl/idl.yp +@@ -610,7 +610,9 @@ again: + + for ($parser->YYData->{INPUT}) { + if (/^\#/) { +- if (s/^\# (\d+) \"(.*?)\"( \d+|)//) { ++ # Linemarker format is described at ++ # http://gcc.gnu.org/onlinedocs/cpp/Preprocessor-Output.html ++ if (s/^\# (\d+) \"(.*?)\"(( \d+){1,4}|)//) { + $parser->YYData->{LINE} = $1-1; + $parser->YYData->{FILE} = $2; + goto again; +diff --git a/pidl/lib/Parse/Pidl/IDL.pm b/pidl/lib/Parse/Pidl/IDL.pm +index d4820ff..6927c89 100644 +--- a/pidl/lib/Parse/Pidl/IDL.pm ++++ b/pidl/lib/Parse/Pidl/IDL.pm +@@ -2576,7 +2576,9 @@ again: + + for ($parser->YYData->{INPUT}) { + if (/^\#/) { +- if (s/^\# (\d+) \"(.*?)\"( \d+|)//) { ++ # Linemarker format is described at ++ # http://gcc.gnu.org/onlinedocs/cpp/Preprocessor-Output.html ++ if (s/^\# (\d+) \"(.*?)\"(( \d+){1,4}|)//) { + $parser->YYData->{LINE} = $1-1; + $parser->YYData->{FILE} = $2; + goto again; +-- +1.8.1.1 + |