<pre style='margin:0'>
ra1nb0w (ra1nb0w) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/9a811127cbfef5da44b6a99bcb040b47c65212eb">https://github.com/macports/macports-ports/commit/9a811127cbfef5da44b6a99bcb040b47c65212eb</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 9a811127cbfef5da44b6a99bcb040b47c65212eb
</span>Author: Davide Gerhard <ra1nb0w@macports.org>
AuthorDate: Fri Oct 1 11:21:14 2021 +0200

<span style='display:block; white-space:pre;color:#404040;'>    swig: Properly handle C99 complex types even in C++ mode
</span>---
 devel/swig/Portfile                  |   7 +-
 devel/swig/files/complex_type.patch  | 138 +++++++++++++++++++++++++++++++++++
 devel/swig/files/complex_type2.patch |  75 +++++++++++++++++++
 3 files changed, 219 insertions(+), 1 deletion(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/swig/Portfile b/devel/swig/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index f4c1418393e..31f2fc0654b 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/swig/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/swig/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4,7 +4,7 @@ PortSystem      1.0
</span> 
 name            swig
 version         4.0.2
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision        2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision        3
</span> checksums       rmd160 1a995ebc0ff1a11d9d1002357673e655f6a0d2b2 \
                 sha256 d53be9730d8d58a16bf0cbd1f8ac0c0c3e1090573168bfa151b01eb47fa906fc \
                 size   8097014
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -35,6 +35,11 @@ master_sites    sourceforge:project/swig/swig/swig-${version}
</span> depends_build   port:bison \
                 port:gsed
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# remove with next version
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    complex_type.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    complex_type2.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> post-patch {
     # The configure script should use GNU sed
     reinplace "s/\[\[:<:\]\]sed\[\[:>:\]\]/gsed/g" ${worksrcpath}/configure
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/swig/files/complex_type.patch b/devel/swig/files/complex_type.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..5b30a508713
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/swig/files/complex_type.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,138 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 13260f95b0d35def50f2f4dc9bfe5b04f670fbdd Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Leo Singer <leo.singer@ligo.org>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Thu, 2 Apr 2020 15:08:08 -0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Properly handle C99 complex types even in C++ mode
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Use the `_Complex` keyword rather than the `complex` macro.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Fixes #1487.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Lib/javascript/jsc/ccomplex.i |  8 ++++----
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Lib/javascript/v8/ccomplex.i  |  8 ++++----
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Lib/python/ccomplex.i         |  8 ++++----
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Source/CParse/cscanner.c      |  4 ++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Source/CParse/parser.y        | 12 ++++++------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Source/Swig/typesys.c         |  4 ++--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 6 files changed, 24 insertions(+), 20 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/Lib/javascript/jsc/ccomplex.i b/Lib/javascript/jsc/ccomplex.i
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 50f0f95fee0..64fe00ec920 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Lib/javascript/jsc/ccomplex.i
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Lib/javascript/jsc/ccomplex.i
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -16,11 +16,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* C complex constructor */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define CCplxConst(r, i) ((r) + I*(i))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-%swig_cplxflt_convn(float complex, CCplxConst, creal, cimag);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-%swig_cplxdbl_convn(double complex, CCplxConst, creal, cimag);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++%swig_cplxflt_convn(float _Complex, CCplxConst, creal, cimag);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++%swig_cplxdbl_convn(double _Complex, CCplxConst, creal, cimag);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ %swig_cplxdbl_convn(complex, CCplxConst, creal, cimag);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* declaring the typemaps */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-%typemaps_primitive(SWIG_TYPECHECK_CPLXFLT, float complex);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-%typemaps_primitive(SWIG_TYPECHECK_CPLXDBL, double complex);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++%typemaps_primitive(SWIG_TYPECHECK_CPLXFLT, float _Complex);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++%typemaps_primitive(SWIG_TYPECHECK_CPLXDBL, double _Complex);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ %typemaps_primitive(SWIG_TYPECHECK_CPLXDBL, complex);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/Lib/javascript/v8/ccomplex.i b/Lib/javascript/v8/ccomplex.i
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 8eda920bb27..b1e766354ff 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Lib/javascript/v8/ccomplex.i
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Lib/javascript/v8/ccomplex.i
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -16,11 +16,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* C complex constructor */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define CCplxConst(r, i) ((r) + I*(i))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-%swig_cplxflt_convn(float complex, CCplxConst, creal, cimag);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-%swig_cplxdbl_convn(double complex, CCplxConst, creal, cimag);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++%swig_cplxflt_convn(float _Complex, CCplxConst, creal, cimag);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++%swig_cplxdbl_convn(double _Complex, CCplxConst, creal, cimag);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ %swig_cplxdbl_convn(complex, CCplxConst, creal, cimag);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* declaring the typemaps */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-%typemaps_primitive(SWIG_TYPECHECK_CPLXFLT, float complex);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-%typemaps_primitive(SWIG_TYPECHECK_CPLXDBL, double complex);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++%typemaps_primitive(SWIG_TYPECHECK_CPLXFLT, float _Complex);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++%typemaps_primitive(SWIG_TYPECHECK_CPLXDBL, double _Complex);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ %typemaps_primitive(SWIG_TYPECHECK_CPLXDBL, complex);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/Lib/python/ccomplex.i b/Lib/python/ccomplex.i
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 28872b98568..17163506b31 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Lib/python/ccomplex.i
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Lib/python/ccomplex.i
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -16,11 +16,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* C complex constructor */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define CCplxConst(r, i) ((r) + I*(i))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-%swig_cplxflt_convn(float complex, CCplxConst, creal, cimag);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-%swig_cplxdbl_convn(double complex, CCplxConst, creal, cimag);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++%swig_cplxflt_convn(float _Complex, CCplxConst, creal, cimag);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++%swig_cplxdbl_convn(double _Complex, CCplxConst, creal, cimag);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ %swig_cplxdbl_convn(complex, CCplxConst, creal, cimag);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* declaring the typemaps */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-%typemaps_primitive(SWIG_TYPECHECK_CPLXFLT, float complex);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-%typemaps_primitive(SWIG_TYPECHECK_CPLXDBL, double complex);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++%typemaps_primitive(SWIG_TYPECHECK_CPLXFLT, float _Complex);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++%typemaps_primitive(SWIG_TYPECHECK_CPLXDBL, double _Complex);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ %typemaps_primitive(SWIG_TYPECHECK_CPLXDBL, complex);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/Source/CParse/cscanner.c b/Source/CParse/cscanner.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 19a01380348..6de66845c57 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/CParse/cscanner.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/CParse/cscanner.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -912,6 +912,10 @@ int yylex(void) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     yylval.type = NewSwigType(T_COMPLEX);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     return (TYPE_COMPLEX);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if (strcmp(yytext, "_Complex") == 0) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    yylval.type = NewSwigType(T_COMPLEX);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return (TYPE_COMPLEX);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (strcmp(yytext, "restrict") == 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     return (yylex());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/Source/CParse/parser.y b/Source/CParse/parser.y
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 8029dee3d7f..682e317d4a6 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/CParse/parser.y
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/CParse/parser.y
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -6232,19 +6232,19 @@ primitive_type_list : type_specifier {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   } else if (Cmp($1.type,"double") == 0) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                     if (Cmp($2.type,"long") == 0) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                       $$.type = NewString("long double");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                    } else if (Cmp($2.type,"complex") == 0) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                      $$.type = NewString("double complex");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    } else if (Cmp($2.type,"complex") == 0 || Cmp($2.type,"_Complex") == 0) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                      $$.type = NewString("double _Complex");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                     } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                       err = 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   } else if (Cmp($1.type,"float") == 0) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                    if (Cmp($2.type,"complex") == 0) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                      $$.type = NewString("float complex");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    if (Cmp($2.type,"complex") == 0 || Cmp($2.type,"_Complex") == 0) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                      $$.type = NewString("float _Complex");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                     } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                       err = 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                  } else if (Cmp($1.type,"complex") == 0) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                    $$.type = NewStringf("%s complex", $2.type);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                  } else if (Cmp($1.type,"complex") == 0 || Cmp($1.type,"_Complex") == 0) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                    $$.type = NewStringf("%s _Complex", $2.type);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                     err = 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/Source/Swig/typesys.c b/Source/Swig/typesys.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 7564db1a6f8..e48b80ce297 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/Swig/typesys.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/Swig/typesys.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1453,9 +1453,9 @@ int SwigType_type(const SwigType *t) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     return T_DOUBLE;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (strcmp(c, "long double") == 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     return T_LONGDOUBLE;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  if (!cparse_cplusplus && (strcmp(c, "float complex") == 0))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if (!cparse_cplusplus && (strcmp(c, "float _Complex") == 0))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     return T_FLTCPLX;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  if (!cparse_cplusplus && (strcmp(c, "double complex") == 0))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if (!cparse_cplusplus && (strcmp(c, "double _Complex") == 0))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     return T_DBLCPLX;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if (!cparse_cplusplus && (strcmp(c, "complex") == 0))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     return T_COMPLEX;
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/swig/files/complex_type2.patch b/devel/swig/files/complex_type2.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..73432fdad07
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/swig/files/complex_type2.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,75 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 638ca8152d4ff68540d74a2a173a81a96ffbaeaa Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: William S Fulton <wsf@fultondesigns.co.uk>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sat, 10 Oct 2020 16:07:55 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] complex can now be used as an identifier
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Remove final vestiges of 'complex' keyword.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Closes #252
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CHANGES.current                                    |  3 +++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Examples/test-suite/common.mk                      |  1 +
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Examples/test-suite/not_c_keywords.i               | 13 +++++++++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Examples/test-suite/python/not_c_keywords_runme.py |  7 +++++++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Source/Swig/stype.c                                |  2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 5 files changed, 25 insertions(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ create mode 100644 Examples/test-suite/not_c_keywords.i
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ create mode 100644 Examples/test-suite/python/not_c_keywords_runme.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/Examples/test-suite/common.mk b/Examples/test-suite/common.mk
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 55cbd2cce3a..bddae4b2fd2 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Examples/test-suite/common.mk
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Examples/test-suite/common.mk
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -718,6 +718,7 @@ C_TEST_CASES += \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   nested_extend_c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   nested_structs \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   newobject2 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  not_ckeywords \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   overload_extend_c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   overload_extend2 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   preproc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/Examples/test-suite/not_c_keywords.i b/Examples/test-suite/not_c_keywords.i
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+new file mode 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 00000000000..013575bc6bd
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Examples/test-suite/not_c_keywords.i
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -0,0 +1,13 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++%module not_c_keywords
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++%extend ComplexStruct {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++void init() {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  $self->complex = 123;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++%inline %{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++struct ComplexStruct {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  int complex; /* complex as variable name */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++%}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/Examples/test-suite/python/not_c_keywords_runme.py b/Examples/test-suite/python/not_c_keywords_runme.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+new file mode 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 00000000000..7f0772407fa
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Examples/test-suite/python/not_c_keywords_runme.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -0,0 +1,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++from not_c_keywords import *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++cs = ComplexStruct()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++cs.init()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if cs.complex != 123:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    raise RuntimeError("complex not correct")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++cs.complex = 456
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/Source/Swig/stype.c b/Source/Swig/stype.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 66518f50c96..fbf02bb1f1f 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Source/Swig/stype.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Source/Swig/stype.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -134,7 +134,7 @@ SwigType *NewSwigType(int t) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     return NewString("double");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   case T_COMPLEX:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    return NewString("complex");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return NewString("_Complex");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   case T_CHAR:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     return NewString("char");
</span></pre><pre style='margin:0'>

</pre>