<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>