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 "[email protected]"

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 - [email protected]
+
+- 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 [email protected] -- disable 
tests failing on RHEL4
 Patch4:         swig-2.0.4-disable-broken-tests_rhel4.patch
+# swig-2.0.4-typedef.patch [email protected] -- 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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to