Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Loading…

C nested classes symbol table should be in global space #173

Merged
merged 1 commit into from

2 participants

@wkalinin
Collaborator

No description provided.

@wsfulton wsfulton merged commit 55bda53 into swig:master

1 check passed

Details continuous-integration/travis-ci The Travis CI build passed
@wsfulton
Owner

Thanks. I've added tests using %extend in 9b0e484 which is a good way to test the symbols are correct and is what the original bug reported as being broken (on swig-devel mailing list)

@wkalinin wkalinin deleted the wkalinin:csymbols branch
@wkalinin
Collaborator

Oh, thanks for the test, that's what I should have done.

@wsfulton
Owner

Unfortunately the tests didn't succeed with Octave and Javascript - https://travis-ci.org/swig/swig/builds/24953005. Looks like more needs doing for the cplusplusout feature. I've disabled this test for these languages for the moment, so master passes again.

There is a problem with the contents of the %extend, but a user can fix that up with the appropriate C++ scoping. However, the signatures of the %extend methods are generated incorrectly. Not sure if you fancy tackling that? It isn't the highest of priorities.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
This page is out of date. Refresh to see the latest.
Showing with 3 additions and 0 deletions.
  1. +3 −0  Source/CParse/parser.y
View
3  Source/CParse/parser.y
@@ -3515,6 +3515,9 @@ cpp_class_decl : storage_class cpptype idcolon inherit LBRACE {
} else {
cplus_mode = CPLUS_PUBLIC;
}
+ if (!cparse_cplusplus) {
+ set_scope_to_global();
+ }
Swig_symbol_newscope();
Swig_symbol_setscopename($3);
Swig_inherit_base_symbols(bases);
Something went wrong with that request. Please try again.