* 'class_p1' of github.com:v-for-vandal/swig:
Fixing registerClass. No more wrap: unnecessary attributes
Fixed registerMethod to work like registerVariable
Switched to Swig_name_* functions
Return MIN_OPT_LEVEL for elua
add nspace_extend test case
updated documentation following comd options renaming
Options in alphabetical order
Members renaming
target_name -> lua_name
Fixing cmd options, again
Fixing segfault
Removed class_parent_nspace
Fixes to module options
Rename methods to make it clear what 'symbols table' they operate on.
Small documenation fixes
Updating Lua documentation
Eliminating namespaces_hash and using symbols table instead
Attempt to catch unreproducable bug from Travis CI build
Small bugfixes
Bugfixes for eLua. eLua emulation mode
Add compatibility option for old-style inheritance
Add support for C-style enums in C mode. And tests.
Style fixes. Comments fixes. Fixing cmd options. etc
Some fixes for elua
Attempt to fix unreproducable bug (from Travis CI build)
Fixes for examples. Wrapped keywords into guardian in keyword_rename test
Remove some typos
Remove some obsolete code
Manually beautifying luarun.swg
Code beautifier
Valuewrapper test
Removing obsolete debug code
Bugfixes
A few bugfixes
Some class bases iteration improvements
Fixes for elua
Bugfixes
Bugfixes. CMD args handling. Code cleanup
Bugfixes
Preparations before pull request - part 1
More changes. Mostly to the would-be class library
Fixing issuse with v2-compatible static function names
Add pointer guard
Add runtime test
Bugfixes
nspace.i example is working
Initial implementation - everything compiles but might not work
and newer (and some missing ones from 5.3). Reserved PHP constants
names are now checked against enum values and constants, instead
of against function and method names. Built-in PHP function names
no longer match methods added by %extend. Functions and methods
named '__sleep', '__wakeup', 'not', 'parent', or 'virtual' are no
longer needlessly renamed.
I managed to trace a very nasty Python interpreter segfault to an
allocation failure here. Adding this after the tp_new call:
if (PyErr_Occurred()) {
PyErr_Print();
}
results in output of 'TypeError: object() takes no parameters', followed
by a segfault that takes down the Python interpeter.
The 'object' constructor doesn't seem to be suitable for instantiating
SWIG shadow instances in this way, so simply use the constructor
function in the PyTypeObject 'tp_new' slot of data->newargs.
The 'if (inst)' check after this doesn't hurt in as much as it prevented
a segfault immediately after this failed allocation, but it doesn't help
much since the null pointer dereference will probably happen sooner or
later anyway.
* 'master' of https://github.com/gjanssens/swig:
Guile: make scm to string conversion work with non-ascii strings
Guile: illustrate bug in non-ascii string handling
clang++ using -stdlib=libc++ defines const_reference as a class,
to map boolean vectors onto a bit set. Because swig does
not "see" the type as "const &" it generates incorrect code for this case,
generating a declaration like:
const_reference result;
When const_reference is a typedef to 'bool' as is the case with stdlibc++
this works. When this is actually a constant reference, this is clearly
invalid since it is not initialized. For libc++, this is a class
which cannot be default constructed, resulting in an error. The fix
is to explicitly define the various accessor extensions as having a
bool return type for this specialization.
Generated code does not include <string>, which is referenced in templates.
Clang may be incorrectly or aggresively instantiating some template.
E.g.,
import_stl_b_wrap.cxx:3199:51: error: implicit instantiation of undefined template 'std::__1::basic_string<char, std::__1::char_traits<char>