[SCM] Samba Shared Repository - branch v3-6-test updated

Karolin Seeger kseeger at samba.org
Thu Jul 4 02:07:08 MDT 2013


The branch, v3-6-test has been updated
       via  b5a8afd PIDL: fix parsing linemarkers in preprocessor output
       via  e98d3b7 libreplace: add a missing "eval" to the AC_VERIFY_C_PROTOTYPE macro
      from  006ba0c docs: mention AD prerequirements for using idmap_ad

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-6-test


- Log -----------------------------------------------------------------
commit b5a8afd6550e9091d169d3010751913bb483fc4b
Author: Alexander Bokovoy <ab at samba.org>
Date:   Wed Feb 6 10:17:57 2013 +0200

    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 at redhat.com> for explanation of the linemarker format.
    
    Fixes https://bugzilla.redhat.com/show_bug.cgi?id=906517
    
    Reviewed-by: Andreas Schneider <asn at samba.org>
    (cherry picked from commit 6ba7ab5c14801aecae96373d5a9db7ab82957526)
    
    Signed-off-by: Andreas Schneider <asn at samba.org>
    
    Fix bug #9636 - pidl can't parse new linemarkers in preprocessor output.
    (cherry picked from commit 643571470f2e4cd2f58bd60ac7189abb826d33cc)

commit e98d3b7648fe298f03e408ab91b8b53904bab8ca
Author: Michael Adam <obnox at samba.org>
Date:   Fri Oct 14 14:05:09 2011 +0200

    libreplace: add a missing "eval" to the AC_VERIFY_C_PROTOTYPE macro
    
    Without this eval, upon test success the corresponding actions
    (like defining corresponding variables) are not taken.
    
    Found by Timur I. Bakeyev, and based on his patch for 3.5.
    (cherry picked from commit 0ef506d4f31d206c300e4f3f326edac2b60bdc15)

-----------------------------------------------------------------------

Summary of changes:
 lib/replace/libreplace_macros.m4 |    2 +-
 pidl/idl.yp                      |    4 +++-
 pidl/lib/Parse/Pidl/IDL.pm       |    4 +++-
 3 files changed, 7 insertions(+), 3 deletions(-)


Changeset truncated at 500 lines:

diff --git a/lib/replace/libreplace_macros.m4 b/lib/replace/libreplace_macros.m4
index 46aedd3..42b8847 100644
--- a/lib/replace/libreplace_macros.m4
+++ b/lib/replace/libreplace_macros.m4
@@ -298,7 +298,7 @@ AC_DEFUN(AC_VERIFY_C_PROTOTYPE,
 		eval AS_TR_SH([ac_cv_c_prototype_$1])=no
 	])
 )
-AS_IF([test $AS_TR_SH([ac_cv_c_prototype_$1]) = yes],[$3],[$4])
+AS_IF([eval test $AS_TR_SH([ac_cv_c_prototype_$1]) = yes],[$3],[$4])
 ])
 
 AC_DEFUN(LIBREPLACE_PROVIDE_HEADER, 
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;


-- 
Samba Shared Repository


More information about the samba-cvs mailing list