Hello community, here is the log from the commit of package swig for openSUSE:12.1:Update:Test checked in at 2011-12-14 17:45:51 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:12.1:Update:Test/swig (Old) and /work/SRC/openSUSE:12.1:Update:Test/.swig.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "swig", Maintainer is "MMarek@suse.com" Changes: -------- --- /work/SRC/openSUSE:12.1:Update:Test/swig/swig.changes 2011-12-14 17:45:55.000000000 +0100 +++ /work/SRC/openSUSE:12.1:Update:Test/.swig.new/swig.changes 2011-12-14 17:45:56.000000000 +0100 @@ -1,0 +2,6 @@ +Tue Dec 13 15:36:52 UTC 2011 - d.pashov@gmail.com + +- Upstream patch (svn r12157) to fix typedef and function pointer handling + regression since 2.0.1. See bugid #736524 + +------------------------------------------------------------------- New: ---- swig-2.0.4-typedef.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ swig.spec ++++++ --- /var/tmp/diff_new_pack.TJC8dh/_old 2011-12-14 17:45:56.000000000 +0100 +++ /var/tmp/diff_new_pack.TJC8dh/_new 2011-12-14 17:45:56.000000000 +0100 @@ -65,6 +65,8 @@ Patch3: swig-2.0.4-disable-broken-tests.patch # swig-2.0.4-disable-broken-tests_rhel4.patch kkaempf@suse.com -- disable tests failing on RHEL4 Patch4: swig-2.0.4-disable-broken-tests_rhel4.patch +# swig-2.0.4-typedef.patch d.pashov@gmail.com -- typedef&function pointer handling regression.Upstr svn r12814 +Patch5: swig-2.0.4-typedef.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -125,6 +127,7 @@ %if 0%{?rhel_version} >= 400 && 0%{?rhel_version} < 500 %patch4 -p1 %endif +%patch5 -p0 %build %configure --disable-ccache ++++++ swig-2.0.4-typedef.patch ++++++ Index: Source/Swig/stype.c =================================================================== --- Source/Swig/stype.c (Revision 12813) +++ Source/Swig/stype.c (Revision 12814) @@ -823,7 +823,8 @@ Insert(result, 0, "("); Append(result, ")"); } - isreference = 1; + if (!isfunction) + isreference = 1; } else if (SwigType_isarray(element)) { DOH *size; if (firstarray && !isreference) { @@ -869,10 +870,8 @@ cast = NewStringf("(%s)", result); } if (name) { - if (!isfunction) { - if (isreference) { - Append(cast, "*"); - } + if (isreference) { + Append(cast, "*"); } Append(cast, name); } Index: Examples/test-suite/funcptr_cpp.i =================================================================== --- Examples/test-suite/funcptr_cpp.i (Revision 12813) +++ Examples/test-suite/funcptr_cpp.i (Revision 12814) @@ -20,3 +20,14 @@ %constant int (*ADD_BY_VALUE)(const int &, int) = addByValue; %constant int * (*ADD_BY_POINTER)(const int &, int) = addByPointer; %constant int & (*ADD_BY_REFERENCE)(const int &, int) = addByReference; + + +%inline %{ +typedef int AddByValueTypedef(const int &a, int b); +typedef int * AddByPointerTypedef(const int &a, int b); +typedef int & AddByReferenceTypedef(const int &a, int b); +void *typedef_call1(AddByValueTypedef *& precallback, AddByValueTypedef * postcallback) { return 0; } +void *typedef_call2(AddByPointerTypedef *& precallback, AddByPointerTypedef * postcallback) { return 0; } +void *typedef_call3(AddByReferenceTypedef *& precallback, AddByReferenceTypedef * postcallback) { return 0; } +%} + -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org