Commit graph

21,962 commits

Author SHA1 Message Date
Olly Betts
e54d44c4be php: Omit closing ?> in manual and examples
PSR-12 says "The closing ?> tag MUST be omitted from files containing
only PHP".
2021-03-23 11:47:19 +13:00
William S Fulton
00fa844352 Travis non-default C/C++ standards flags tweak
When testing on Travis, don't turn off maximum compiler warnings, just
enhance them with the chosen standard. This is now possible since recently
dropping the -ansi flags in the maximum compiler warnings. Effectively
we are now testing the later standards as before but also adding -pedantic.
2021-03-22 22:17:06 +00:00
William S Fulton
5dad9ee96f Test gcc-10.2 on Focal Fossa 2021-03-22 22:14:13 +00:00
Olly Betts
ecddf13ecb Stop trying to disable PHP safe_mode in testsuite
PHP no longer supports safe_mode (since PHP 5.4) so this doesn't do
anything for any PHP version we currently support!
2021-03-22 15:42:52 +13:00
William S Fulton
b3bc87d551 template template parameters patch tidyup
- Document change in CHANGES file
- Minor tweaks and whitespace fixes in stype.c
- Enhance testcase
- Synchronise Java and Python runt test in testcase
2021-03-22 01:08:05 +00:00
William S Fulton
cbfc0d15b1 Fix handling of Template template parameters
Closes #1977
Fixes #1603

Squashed commit of the following:

commit 61f794184e127e4a4b46fb306b2dfea71f7cd7bb
Author: goto40 <pierre.bayerl@googlemail.com>
Date:   Sat Mar 20 15:20:25 2021 +0100

    added python version for second part of testcase

commit bb80e236b8a7033d1ee45e392352ec0539730db3
Author: goto40 <pierre.bayerl@googlemail.com>
Date:   Sat Mar 20 15:10:14 2021 +0100

    reworked comment in fixed code

commit 5a94bcc481ea1c068b62a3dbc6cbc2032c9896db
Author: goto40 <pierre.bayerl@googlemail.com>
Date:   Sat Mar 20 15:07:34 2021 +0100

    removed new unittests; I switched to the official test cases

commit 36603f3c8dd27ee7b27d4a40804a844e1964b5aa
Author: goto40 <pierre.bayerl@googlemail.com>
Date:   Sat Mar 20 15:05:33 2021 +0100

    removed new unittests; I switched to the official test cases

commit 1f20ea00d22e6c59edb9ae69d6bb31aacab09c4b
Author: goto40 <pierre.bayerl@googlemail.com>
Date:   Sat Mar 20 14:39:19 2021 +0100

    adapted testcase

commit ab492794c0f26a27761b205fe1d67e2e9aa1f5b6
Author: goto40 <pierre.bayerl@googlemail.com>
Date:   Sat Mar 20 14:29:10 2021 +0100

    fixed test

commit 9b5dd0c8f9b110a3492753b466e707d7f786c909
Author: goto40 <pierre.bayerl@googlemail.com>
Date:   Sat Mar 20 13:04:06 2021 +0100

    C99 compatible comments

commit 1a89425ac8c85d68c6af1974e07573b9468d421e
Author: goto40 <pierre.bayerl@googlemail.com>
Date:   Sat Mar 20 11:41:48 2021 +0100

    added extra checks to prevent accidental partial matches

commit 20e76f511ac139c8ea2a9a7fd89c29391579665f
Author: goto40 <pierre.bayerl@googlemail.com>
Date:   Thu Mar 18 21:42:56 2021 +0100

    minor

commit 0e383bbb764f9a019f62b9f620f80908dead50d2
Author: goto40 <pierre.bayerl@googlemail.com>
Date:   Thu Mar 18 21:41:45 2021 +0100

    cleanup

commit b644767121440c77f4caeb45f672e3c698ee9d78
Author: goto40 <pierre.bayerl@googlemail.com>
Date:   Thu Mar 18 21:39:43 2021 +0100

    cleanup

commit 2574468c0f9352040759e680214b40ee59b03650
Author: goto40 <pierre.bayerl@googlemail.com>
Date:   Thu Mar 18 21:38:35 2021 +0100

    cleanup

commit 9dc7f1ed30171649e8a70b12ff4f76d93e545074
Author: goto40 <pierre.bayerl@googlemail.com>
Date:   Thu Mar 18 21:35:28 2021 +0100

    removed ide files

commit a442a9df460c52d4dbf7adf8e4f0c5bc5ad3b0cf
Author: goto40 <pierre.bayerl@googlemail.com>
Date:   Thu Mar 18 21:32:36 2021 +0100

    removed printf

commit da4c6e91e3b70e72e89cf09dfabfef7416274637
Author: goto40 <pierre.bayerl@googlemail.com>
Date:   Thu Mar 18 21:29:02 2021 +0100

    possible fix found

commit 6fad8d40e36195be422d5822e6f49d610e3ab693
Author: goto40 <pierre.bayerl@googlemail.com>
Date:   Thu Mar 18 21:01:11 2021 +0100

    found difference between good/bad case... next: analyze why replacement did not work here...

commit 72a7693340358d2067e63c5489191917ccb818dd
Author: goto40 <pierre.bayerl@googlemail.com>
Date:   Wed Mar 17 22:43:08 2021 +0100

    ideintified location where the template-template type is inserted in the final type (with the missing specialization).

commit 1b53312c07ab0696d9cade144bdbad1c84ebf6a3
Author: goto40 <pierre.bayerl@googlemail.com>
Date:   Wed Mar 17 22:28:19 2021 +0100

    more notes (to be reverted)

commit a9a0b589389784e0e95dc6f9edd27c78a16b481d
Author: goto40 <pierre.bayerl@googlemail.com>
Date:   Wed Mar 17 22:19:16 2021 +0100

    some experiments (to be reverted)

commit 0e7a24bbd5944d6e4f5c96ffd03003465f6d80f5
Author: goto40 <pierre.bayerl@googlemail.com>
Date:   Wed Mar 17 21:46:20 2021 +0100

    added some notes

commit 2f77911a12a38735cadeb93223981f3a6d9e7450
Author: goto40 <pierre.bayerl@googlemail.com>
Date:   Tue Mar 16 22:01:01 2021 +0100

    comment changed

commit 2cb7213b06f9b912c0ba56350ec6c318edba1ffb
Author: goto40 <pierre.bayerl@googlemail.com>
Date:   Tue Mar 16 21:55:47 2021 +0100

    renamed example template parameters to easily distinguish them.

commit ff457d73977e05adf84b095bcfa1dccd21203c48
Author: goto40 <pierre.bayerl@googlemail.com>
Date:   Tue Mar 16 21:21:10 2021 +0100

    added reset parser functionality (required for unittests, to reset parser)

commit 617bbde3b4b3d9dd16d3a2d85041fc78a87ae81f
Author: goto40 <pierre.bayerl@googlemail.com>
Date:   Tue Mar 16 20:47:41 2021 +0100

    adjusted test for simple templates

commit beb7e7f77cedd4ecfa4165534781d417710aff7e
Author: goto40 <pierre.bayerl@googlemail.com>
Date:   Mon Mar 15 07:41:17 2021 +0100

    added note how it should be...

commit 7b3328431ce41f7ec05657c69d3cb1a886cb8437
Author: goto40 <pierre.bayerl@googlemail.com>
Date:   Sun Mar 14 17:07:24 2021 +0100

    found a place which is maybe problematic for the template_template problem (#1603)

commit 46c2443d15a6288318723b7e730687791475cf7b
Author: goto40 <pierre.bayerl@googlemail.com>
Date:   Sun Mar 14 16:11:56 2021 +0100

    unitests: reset parser for each testcase

commit b3a0f1516ffdbf9f0fbb2d8362e2375fd1893c3f
Author: goto40 <pierre.bayerl@googlemail.com>
Date:   Sun Mar 14 15:30:47 2021 +0100

    first experiment with templates

commit 32a11c6c77b840f11b9e926edd465e6a7108267f
Author: goto40 <pierre.bayerl@googlemail.com>
Date:   Sun Mar 14 14:31:17 2021 +0100

    wip

commit 37b805ba6eaadb4a34a929204d539f555f8313be
Author: goto40 <pierre.bayerl@googlemail.com>
Date:   Sun Mar 14 14:21:05 2021 +0100

    integrated unittests in ctest

commit 79f7bee168ecfbd2f2f5feeb9ca43fb7113bc2a4
Author: goto40 <pierre.bayerl@googlemail.com>
Date:   Sun Mar 14 14:18:26 2021 +0100

    wip: new test created; problem: not in c++ mode

commit 345d503d557d67fa431f528e637bac5816f50ab1
Author: goto40 <pierre.bayerl@googlemail.com>
Date:   Sun Mar 14 14:08:09 2021 +0100

    cleanup test code

commit 0a26adec10435af36bfad4e1f6a073460c63fbc6
Author: goto40 <pierre.bayerl@googlemail.com>
Date:   Sun Mar 14 14:05:24 2021 +0100

    some more tests (first steps with c++ code)

commit 6f628e0fa9e2659f5a7ca08b9954e81d4cd4f012
Author: goto40 <pierre.bayerl@googlemail.com>
Date:   Sun Mar 14 12:56:41 2021 +0100

    experiments

commit c4a13bf3e12cd83886cbc54e32194bf916a643d3
Author: goto40 <pierre.bayerl@googlemail.com>
Date:   Sat Mar 13 18:18:01 2021 +0100

    first experiment

commit 7d265861052f205d48b1ccec8ab0fe053de19858
Author: goto40 <pierre.bayerl@googlemail.com>
Date:   Sat Mar 13 17:23:13 2021 +0100

    setup catch2 framework (w/o tests)
2021-03-22 01:02:42 +00:00
William S Fulton
c2b2e9232c Add note about Node v14 also supported 2021-03-21 19:18:05 +00:00
William S Fulton
119ad0ade5 Add some missing changes file entries 2021-03-21 19:17:52 +00:00
Olly Betts
c13bbf7a24 Fix entry date in CHANGES.current 2021-03-21 10:58:32 +13:00
Olly Betts
56d7435573 Merge branch 'php8-support'
Fixes #1929, Fixes #1978
2021-03-21 10:57:35 +13:00
Olly Betts
d18f98c24d Update CHANGES.current and RELEASENOTES re PHP8 2021-03-21 10:54:56 +13:00
Olly Betts
4c3e85fbd4 Clarify what SWIGPHP7 means 2021-03-21 10:43:06 +13:00
William S Fulton
34e663a61a Test a different C# keyword rename
Worked around warning in java jdk-15:
  warning: 'sealed' may become a restricted type name in a future release
  and may be unusable for type declarations or as the element type of an array

Adding sealed to the list of automatically renamed keywords in Java does
not seem prudent.
2021-03-20 09:49:30 +00:00
William S Fulton
59af47d3df Appveyor MinGW only works now on Visual Studio 2019 image 2021-03-20 09:35:25 +00:00
William S Fulton
48517625a8 Appveyor yaml correction 2021-03-20 00:55:58 +00:00
William S Fulton
82fb0540ca Modernise C++11 compiler support detection in autotools
Replace AX_CXX_COMPILE_STDCXX_11 with AX_CXX_COMPILE_STDCXX
from autoconf archive.
2021-03-20 00:53:13 +00:00
William S Fulton
67cfaf5a80 Remove -ansi from default compilation flags
Closes #1610
2021-03-20 00:53:12 +00:00
William S Fulton
32df3a70ee Remove redundant Appveyor allow_failures 2021-03-20 00:53:05 +00:00
Erik Smistad
45c015b631 Added windows build instructions for MSYS2 2021-03-19 22:31:32 +00:00
William S Fulton
84259dfc6e Suppress Visual C++ warning in cpp_typedef testcase 2021-03-19 22:04:25 +00:00
William S Fulton
d8e167ad9c Changes file entry for Java long long arrays 2021-03-19 22:03:50 +00:00
William S Fulton
3163888c4b Merge branch 'java-jlong-cleanup'
* java-jlong-cleanup:
  Lib/java/arrays_java.i: use actual C/C++ type in JAVA_ARRAYS_TYPEMAPS.
  Lib/java/javahead.swg: clean up jlong handling.
2021-03-19 21:40:23 +00:00
William S Fulton
22e82c2111 Appveyor Windows testing changes
- Update jdk1.8->1.15 for x64 testing
- Add Visual Studio 2017 (vc++ 15) testing
- Add Visual Studio 2019 (vc++ 16) testing
- Add python-3.7 and python-3.8 testing
2021-03-19 21:28:08 +00:00
Andy Polyakov
1eebc2335a Lib/java/arrays_java.i: use actual C/C++ type in JAVA_ARRAYS_TYPEMAPS.
long long[] map was using JNI type as C/C++ type. General spirit of
JAVA_ARRAYS_TYPEMAPS is to cast individual array elements, not to
rely on potentially incompatible pointer casts.
2021-03-19 16:29:48 +01:00
Andy Polyakov
971e1154af Lib/java/javahead.swg: clean up jlong handling.
As for __int64 definition. __int64 is a non-standard Visual-C-specific
type used in win32/jni_md.h. It is defined by other Win32 compilers in
one way or another, obviously for compatibility. It's more appropriate
to give the compiler a chance to make necessary arrangements instead
of reinventing the wheel. This, giving a chance, can be achieved by
including virtually any standard header. Since jni.h includes stdio.h,
defining __int64 in javahead.swg is redundant. Since doing so actually
triggers compilation errors on MinGW if a system header is included
in the %begin section, it's arguably appropriate to omit it.

As for #undef _LP64 removal. Undefining a pre-defined macro, which
_LP64 is, is bad style, and if followed by inclusion of systems
headers, it's actually error-prone. Log suggests that it was added
to resolve a warning. I'm inclined to believe that it rather was a
misunderstanding of some kind. Or a bug in warning subsystem of
some particular compiler version, in which case it would have been
more appropriate to advise users to ignore the warning.
2021-03-19 16:29:48 +01:00
William S Fulton
2861f01e3d Restore MinGW testing on Appveyor
Replace Python-2.7 testing with Java testing on MinGW
2021-03-19 09:25:52 +00:00
Olly Betts
fd96627b2f Temporary hack so testsuite passes for PHP8 2021-03-19 19:30:27 +13:00
Olly Betts
3584c7d49c Add initial support for PHP8
Testcase director_overload2 is failing, but the rest of the testsuite
passes.
2021-03-19 19:30:27 +13:00
William S Fulton
3b822ee60c Upgrade osx on Travis to fix unsupported platform errors 2021-03-18 23:42:09 +00:00
William S Fulton
cf639b2794
Merge pull request #1909 from treitmayr/ruby-additional-tests
Add and improve Ruby test cases in the context of nesting and namespaces
2021-03-18 23:09:20 +00:00
Olly Betts
71475b0af9 Improve PHP object creation
Reportedly the code we were using in the directorin case gave segfaults
in PHP 7.2 and later - we've been unable to reproduce these, but the new
approach is also simpler and should be bit faster too.

Fixes #1527, #1975
2021-03-19 08:45:33 +13:00
Olly Betts
b7dedecfdd php: Fix char* typecheck typemap to accept Null
The corresponding in typemap already does.

Fixes #1655, reported by CJSlominski.
2021-03-19 08:34:15 +13:00
William S Fulton
157465f65b Test latest Go 1.16 on Travis 2021-03-17 22:55:35 +00:00
William S Fulton
2504354489 Add ruby 3.0 testing
testflags tweak for C standard > c90

Only add -Wdeclaration-after-statement for > c90 as c99 allows
declarations after a statement.
2021-03-17 22:55:35 +00:00
William S Fulton
34acf2cea6 Travis: update ruby rvm installation for ruby-3.0 2021-03-17 22:55:35 +00:00
Olly Betts
2e7da86b2c php: Fix overloaded directed methods with non-void return
We were treating  such methods like constructors and assigning to the
internal _cPtr, which just seems bizarrely wrong.

Fixes #1900
2021-03-18 10:58:44 +13:00
Olly Betts
57cb95318a [ci] Remove PHP 7.2 from allow_failures
The comment says "seg fault in director_basic testcase" but the
this build is passing now.
2021-03-17 14:10:13 +13:00
Olly Betts
6b5b682eed Add php7.4 to list configure checks for 2021-03-17 12:40:14 +13:00
Olly Betts
1b9d51b925 [ci] Add build for PHP 7.4 2021-03-17 12:34:45 +13:00
Thomas Reitmayr
505ffde655 Add justification for suppressing warnings in Ruby test case
In the same file removed a useless class for comparing versions.
2021-03-16 22:09:50 +01:00
Olly Betts
4e0997cd5a Conditionalise math.i for PHP
PHP already provides all the wrapped constants and all the wrapped
functions except fabs() (PHP provides abs() instead).  Rewrapping
the constants causes warnings or errors (depending on PHP version)
and the rewrapped functions seem to be hidden by the built-in
versions, so only wrap fabs() for PHP.

(Even a wrapper for fabs() seems of little use since abs() is already
provided, but really math.i seems of little use more generally since
any general purpose programming language will provide its own maths
functions and constants - the key motivation here is to eliminate
warnings and errors from running the testsuite.)
2021-03-17 09:43:15 +13:00
Olly Betts
6afc3e3504 Update PHP director_basic expected classes+funcs
Fixes warnings from test suite introduced in
c259702314.
2021-03-17 09:35:39 +13:00
William S Fulton
3f391478c4 Merge branch 'v8-context-aware-race-free-preparation'
* v8-context-aware-race-free-preparation:
  Lib/javascript/v8: use ::Cast instead of To* when possible.
  Lib/javascript/v8/javascriptrun.swg: clean up pre-processor conditions.
  Lib/javascript/jsc/javascriptinit.swg: shortcut JSGlobalContextRef casts.
  Examples/test-suite/grouping.i: resolve compiler warning.
2021-03-11 22:48:38 +00:00
William S Fulton
6aef217438 Add Javascript (JSC) support for type conversion
Fix types_directive testcase to ensure the %types code is actually
called and not just cast from one type to the other.
2021-03-11 20:18:58 +00:00
William S Fulton
9739be60d0 Add two Javascript testcases converted from Python 2021-03-11 20:10:18 +00:00
William S Fulton
04b46cc8a3 Javascript type conversion support
Add testcase for previous commit.
Add missing assert for future type conversions support that will use
the heap instead of pointer casts (for smart pointer type conversions).

Closes #1963
2021-03-11 20:10:13 +00:00
Andy Polyakov
2870e750f0 Lib/javascript/v8: use ::Cast instead of To* when possible.
If type is checked with Is*, it's safe to use corresponding ::Cast,
which is more optimal.
2021-03-10 14:51:08 +01:00
Andy Polyakov
b56814ce08 Lib/javascript/v8/javascriptrun.swg: clean up pre-processor conditions.
Harmonize javascriptcode.swg javascripthelpers.swg and clarify
documentation.
2021-03-10 14:51:08 +01:00
Andy Polyakov
0c10c0596f Lib/javascript/jsc/javascriptinit.swg: shortcut JSGlobalContextRef casts. 2021-03-10 14:48:18 +01:00
Andy Polyakov
3edccb615d Examples/test-suite/grouping.i: resolve compiler warning. 2021-03-10 14:48:18 +01:00