From: William S F. <ws...@fu...> - 2006-01-05 22:19:59
|
I now have just one more java/c# issue to sort out before starting on windows testing. Is %include working as expected? Some testcases like director_string.i use %include <stl.i>. Lib/stl.i then has a %include <std_common.i> and Lib/java/std_common.i has a %include <std_except.i>. Surely this should pick up the one in Lib/java/std_except.i, not Lib/std_except.i. I've modified Lib/std_except.i to hack around this for Java and C#, not sure about the other languages until the current behaviour is deemed good/bad. I mentioned before that the typewrapper class names (descriptors) changed for templated classes. Is it not possible to change them back to the original name, otherwise user code will get broken as the C# and Java class names have changed? I see that SWIGVERSION is in the generated code. Is this intended, surely there is nothing in the generated code that depends on the version of SWIG? #error behaves like #warning, it produces a warning. Surely it should halt swig in its tracks? Marcelo, for any warnings you suppress in the testcase .i file, would you mind following the convention of putting the text of the warning in a comment so the source is easier to read? Would be appreciated. Checking testcase namespace_class (with run test) under python namespace_class_wrap.cxx: In function `PyObject* _wrap_EulerT3D_lessint(PyObject*, PyObject*)': namespace_class_wrap.cxx:3521: error: `operator<' not defined namespace_class_wrap.cxx: In function `PyObject* _wrap_EulerT3D_lessfooi(PyObject*, PyObject*)': namespace_class_wrap.cxx:3581: error: `operator<' not defined make[1]: *** [python_cpp] Error 1 make: *** [namespace_class.cpptest] Error 2 It looks like you need to change (arg1)->SWIGTEMPLATEDISAMBIGUATOR operator < <int >(*arg2); to (arg1)->SWIGTEMPLATEDISAMBIGUATOR operator < (*arg2); for all operator types in templates, not just the ones in the testcase. Some more python failures on my box: (python 2.4, gcc-3.3.5 on suse) Checking testcase director_wstring (with run test) under python director_wstring_wrap.cxx: In function `PyObject* _wrap_StringVector_pop(PyObject*, PyObject*)': director_wstring_wrap.cxx:5335: error: syntax error before `}' token director_wstring_wrap.cxx: In function `PyObject* _wrap_StringVector___getslice__(PyObject*, PyObject*)': director_wstring_wrap.cxx:5379: error: syntax error before `}' token director_wstring_wrap.cxx: In function `PyObject* _wrap_StringVector___setslice__(PyObject*, PyObject*)': director_wstring_wrap.cxx:5436: error: syntax error before `}' token director_wstring_wrap.cxx:5439: error: syntax error before `}' token director_wstring_wrap.cxx: In function `PyObject* _wrap_StringVector___delslice__(PyObject*, PyObject*)': director_wstring_wrap.cxx:5484: error: syntax error before `}' token director_wstring_wrap.cxx: In function `PyObject* _wrap_StringVector___delitem__(PyObject*, PyObject*)': director_wstring_wrap.cxx:5518: error: syntax error before `}' token director_wstring_wrap.cxx: In function `PyObject* _wrap_StringVector___getitem__(PyObject*, PyObject*)': director_wstring_wrap.cxx:5556: error: syntax error before `}' token director_wstring_wrap.cxx: In function `PyObject* _wrap_StringVector___setitem__(PyObject*, PyObject*)': director_wstring_wrap.cxx:5604: error: syntax error before `}' token make[2]: *** [python_cpp] Error 1 make[1]: *** [director_wstring.cpptest] Error 2 Checking testcase implicittest under python Unable to find 'implicittest.i' make[2]: *** [python_cpp] Error 1 make[1]: *** [implicittest.cpptest] Error 2 Checking testcase li_std_set (with run test) under python Traceback (most recent call last): File "./li_std_set_runme.py", line 37, in ? sum += b.next() StopIteration make[1]: *** [li_std_set.cpptest] Error 1 Checking testcase director_string (with run test) under python director_string_wrap.cxx: In function `PyObject* _wrap_StringVector_pop(PyObject*, PyObject*)': director_string_wrap.cxx:5372: error: syntax error before `}' token director_string_wrap.cxx: In function `PyObject* _wrap_StringVector___getslice__(PyObject*, PyObject*)': director_string_wrap.cxx:5416: error: syntax error before `}' token director_string_wrap.cxx: In function `PyObject* _wrap_StringVector___setslice__(PyObject*, PyObject*)': director_string_wrap.cxx:5473: error: syntax error before `}' token director_string_wrap.cxx:5476: error: syntax error before `}' token director_string_wrap.cxx: In function `PyObject* _wrap_StringVector___delslice__(PyObject*, PyObject*)': director_string_wrap.cxx:5521: error: syntax error before `}' token director_string_wrap.cxx: In function `PyObject* _wrap_StringVector___delitem__(PyObject*, PyObject*)': director_string_wrap.cxx:5555: error: syntax error before `}' token director_string_wrap.cxx: In function `PyObject* _wrap_StringVector___getitem__(PyObject*, PyObject*)': director_string_wrap.cxx:5593: error: syntax error before `}' token director_string_wrap.cxx: In function `PyObject* _wrap_StringVector___setitem__(PyObject*, PyObject*)': director_string_wrap.cxx:5641: error: syntax error before `}' token make[2]: *** [python_cpp] Error 1 make[1]: *** [director_string.cpptest] Error 2 William |