Commit graph

19,791 commits

Author SHA1 Message Date
Vadim Zeitlin
4e7dad2b76 Get rid of meaningless return type of DoxygenParser methods
The return value of methods handling various Doxygen commands was never
actually used, so just get rid of it and don't return anything, this makes the
code slightly simpler without any change of functionality.

It also makes the question about why all these functions return "int" (which
should have been "bool" from the beginning) obsolete.
2017-02-01 01:53:31 +01:00
Vadim Zeitlin
71c4e55fd9 Return enum, not untyped int, when classifying Doxygen commands
This makes the purpose of DoxygenParser::commandBelongs() more clear and also
allows the compiler to check that we handle all of its possible return values.
And it actually turns out that we didn't, so add the missing values now to
avoid changing the behaviour in any way in this commit, but they will be dealt
with later.
2017-02-01 01:43:11 +01:00
Vadim Zeitlin
87ae580d75 Get rid of unnecessary "typedef enum" in C++ code
No real changes, just remove this C-ism from C++ DoxygenParser class code.
2017-02-01 01:38:43 +01:00
Vadim Zeitlin
14b28f5923 Use slash, not backslash, in "C/C++" in the documentation
No real changes, but using backslashes here was really too weird.
2017-01-20 17:08:38 +01:00
Vadim Zeitlin
0fa55e4e80 Replace literal "<" with "&lt;" in HTML documentation
Even though browsers manage to display unpaired "<"s correctly, using them is
still wrong and they confuse other tools, e.g. syntax highlighting in the
editors.
2017-01-20 17:06:20 +01:00
Vadim Zeitlin
2b7bf3c850 Fix broken link to java.sun.com in Doxygen documentation
Link to the reference documentation of Javadoc at oracle.com instead, it is
more useful than the overview article (which can still be found on Oracle web
site searching for its title).
2017-01-09 13:29:03 +01:00
Vadim Zeitlin
04a5215665 Fix using com.sun.tools.javadoc package under macOS
Export JAVA_HOME found by configure, so that the Java test suite makefile
could find this package under this directory.
2016-12-13 16:08:17 +01:00
Vadim Zeitlin
31fcda945c Fix error reporting for special characters in Doxygen parsing code
Don't use "+" with a "const char*" and "char", this doesn't do what the code
intended to happen.

Thanks clang for the -Wstring-plus-int warning.
2016-12-12 22:13:25 +01:00
Vadim Zeitlin
148bcab7a0 Switch Python Doxygen unit tests to use inspect.getdoc()
Using the standard inspect module instead of accessing __doc__ directly allows
the tests to pass both when using and not using -builtin, as whitespace-only
differences between the docstrings don't matter then because inspect.getdoc()
removes the indentation and the leading and trailing spaces.

This is similar to what had been already done for python_docstring unit test
in fa282b3540.
2016-12-12 01:26:05 +01:00
Vadim Zeitlin
e668c47b70 Merge branch 'master' into doxygen
The way Python docstrings are indented has changed on master, so use the
standard inspect module in Python autodoc unit test to ignore the differences
in their indentation level between -builtin and non-builtin cases to make the
test still pass with the branch version, which avoids the use of different
(but almost identical) values in the test itself.
2016-12-12 01:24:17 +01:00
William S Fulton
3546d096a7 Test php 7.0 and 7.1 on Travis
- php-7.1 set as failing for now due to one broken example (references)
- Look for php 7.1 in configure.ac.
2016-12-04 22:48:09 +00:00
William S Fulton
f632ed34f7 Fix python_moduleimport test for -builtn 2016-12-03 16:07:59 +00:00
William S Fulton
2d8ce2a5d7 Slight tweak to empty lines generated in python proxy file 2016-12-03 15:56:09 +00:00
William S Fulton
bed5e5c105 Fix previous commit adding moduleimports option 2016-12-03 15:28:18 +00:00
Olly Betts
efa0c1de36 Fix travis for php->php5 rename 2016-12-02 13:25:28 +13:00
William S Fulton
2a42031b08 Custom Python module importing code
Add optional moduleimport attribute to %module so that the
default module import code can be overridden. See the
"Searching for the wrapper module" documentation in Python.html.
Example:

  %module(moduleimport="import _foo") foo

$module also expands to the low-level C/C++ module name, so
the following is the same as above

  %module(moduleimport="import $module") foo

Issue https://github.com/swig/swig/issues/769
2016-12-01 18:59:33 +00:00
Olly Betts
da1dd2ffd2 [PHP] Pick a default dtor which can't collide 2016-12-01 15:09:53 +13:00
Olly Betts
76a98b0b1a [PHP] Emit at most one copy of the default dtor
Can reduce the wrapper source size significantly, though at least
with recent GCC the stripped compiled size seems unchanged.
2016-12-01 14:21:29 +13:00
Olly Betts
659116a1b2 Fix memory leaks introduced by previous commit 2016-12-01 14:04:10 +13:00
Olly Betts
4993991d28 [PHP] Only emit one copy of each distinct arginfo
Previously we emitted a separate one for every wrapped function,
but typically many functions have the same number of parameters
and combinations of parameters passed by reference or not.

This change significantly reduces both the size of the generated
wrapper, and of the compiled PHP extension module (e.g. by ~6% for
the stripped extension module for Xapian's PHP7 bindings).
2016-12-01 13:05:41 +13:00
Olly Betts
774311f11e Add explicit check for expected PHP version
Should give a clearer error if PHP7 bindings are compiled against
PHP5 or vice versa.
2016-12-01 12:12:06 +13:00
Olly Betts
0ada392cee [PHP] Fix minor misindentation in generated wrapper 2016-12-01 12:02:52 +13:00
Olly Betts
855b8dfcf6 Fix PHP5 examples to use php5 make targets
Only a subset had been updated.
2016-12-01 11:52:25 +13:00
Olly Betts
c8a5f84cd1 [PHP7] Wrap bool constants as PHP booleans
Leave PHP5 wrapping them as integers as this change could cause
incompatibilities.

Fixes issue https://github.com/swig/swig/issues/686 noted by Nishant
Gupta.
2016-11-30 17:19:11 +13:00
Olly Betts
d6c5f64ec3 Eliminate some differences between -help and the manual 2016-11-30 13:29:40 +13:00
Olly Betts
75a00cd15e [PHP7] Make default C++ extension .cxx
This is SWIG's default for every language except PHP, and now is a
good time to make this change so that once we drop PHP5 support, we'll
have the same default everywhere.  It's easy to override the default
with -cppext cxx to get the PHP5 behaviour.
2016-11-30 13:27:13 +13:00
Olly Betts
c7f593e1b1 Enable li_factory testcase for PHP
It already works and already even has a runtest!
2016-11-30 13:07:36 +13:00
Olly Betts
f4d8a7f78b PHP now generates E_NOTICE for misspelled constant 2016-11-30 13:07:17 +13:00
Olly Betts
1169874f59 [PHP] Add support for PHP7.
PHP5's C extension API has changed substantially so you need to use
-php7 to specify you want PHP7 compatible wrappers.
Fixes https://github.com/swig/swig/issues/571
2016-11-30 13:05:59 +13:00
Olly Betts
bb98147965 Remove 'static' targets from PHP examples
The machinery these targets need to work no longer exists, and as
far as I can make out was removed before the code was put under
version control.
2016-11-30 12:15:42 +13:00
William S Fulton
3b03e6addd Fix a few minor inconsistencies in the STL wrappers
Mainly to use a more normal constructor declaration and to enable
classes with more than one template parameter to be used as container types.
2016-11-29 19:35:09 +00:00
William S Fulton
7268f58c4c Fix %rename override of wildcard %rename for templates
%rename(GlobalIntOperator) *::operator bool; // wildcard %rename
%rename(XIntOperator) X::operator bool; // fix now overrides first %rename above
OR
%rename(XIntOperator) X<int>::operator bool; // fix now overrides first %rename above

template<typename T> struct X {
  operator bool();
  ...
};
%template(Xint) X<int>;
2016-11-28 22:50:52 +00:00
William S Fulton
5d50ebc769 CHANGES file entry for improved python division wrappers 2016-11-26 23:14:50 +00:00
William S Fulton
1079ba7ff8 Merge branch 'm7thon-python23-division-operators'
* m7thon-python23-division-operators:
  [Python] improved wrapping of division operators
2016-11-26 22:00:21 +00:00
William S Fulton
c27b8622bd Update C# compilers 2016-11-25 18:55:52 +00:00
William S Fulton
6109e217aa Merge branch 'q-p-master'
* q-p-master:
  Python: Fix mixed signedness warning for std::array
2016-11-25 07:39:24 +00:00
William S Fulton
9d5e37e7f9 Fix outdated info in Doc Makefile about pdf file generation 2016-11-25 07:39:06 +00:00
Daniel Vollmer
e4c5d82c71 Python: Fix mixed signedness warning for std::array 2016-11-23 22:21:46 +01:00
William S Fulton
0a22fa0df1 Missing transient keywords in Java proxy class
Further security exploit refinements to a1771c
2016-11-13 19:55:50 +00:00
Joseph C Wang
9566d68120 add changes 2016-11-12 08:06:32 +08:00
Joseph C Wang
377f756f49 Fix #555 - Add stdio.h
This corrects for compilers that need stdio.h
2016-11-12 00:28:39 +08:00
Joseph C Wang
bff182d556 fix #697 - miscounting comma in member lists
fix method for counting comma in member list
2016-11-12 00:23:41 +08:00
William S Fulton
6310cdb28a html fix
[skip ci]
2016-11-03 19:26:38 +00:00
William S Fulton
108d82a886 Java doc update for directorin typemaps and Swig::LocalRefGuard
Motivated by fixes in patch #704

[skip ci]
2016-11-03 19:23:29 +00:00
William S Fulton
bdda0a0829 Python - fix compilation error when using -extranative and -builtin.
Closes #816
2016-11-02 22:00:54 +00:00
William S Fulton
20cd562e62 C++11 alias templates doc and changes file update 2016-11-02 10:05:39 +00:00
William S Fulton
c74397bfd0 Merge branch 'liorgold-alias-template'
* liorgold-alias-template:
  Warning header cosmetics
  Fix decl attribute in C++11 alias templates
  Add C++11 alias templates
2016-11-02 09:10:59 +00:00
William S Fulton
257822cc6d Warning header cosmetics
C++11 aliasing warnings are no longer needed as missing functionality
has been implemented.
2016-11-02 09:08:50 +00:00
William S Fulton
eda0779e76 C# std::array changes file addition
Fix C# warnings in test-case too.
2016-10-30 22:35:59 +00:00
William S Fulton
d48b1712a8 Merge branch 'myd7349-master'
* myd7349-master:
  Convert the Java runtime testcase cpp11_li_std_array_runme to C#
  Add C++11 std::array interface file for C#
  SWIG_STD_VECTOR_ENHANCED for std::wstring
2016-10-30 22:27:47 +00:00