From: SourceForge.net <no...@so...> - 2012-11-01 03:02:32
|
Bugs item #3582381, was opened at 2012-10-31 20:02 Message generated for change (Tracker Item Submitted) made by You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=101645&aid=3582381&group_id=1645 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: code generation (general) Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: https://me.yahoo.com/mike_rovne () Assigned to: Nobody/Anonymous (nobody) Summary: %new_copy may generate invalid C++ Initial Comment: Generated code static uint8* *copy_uint8pp(uint8* value) { return (new uint8*(static_cast< const uint8*& >(value))); } is invalid (clang error): error: non-const lvalue reference to type 'const uint8 *' (aka 'const unsigned char *') cannot bind to a value of unrelated type 'uint8 *' (aka 'unsigned char *') return (new uint8*(static_cast< const uint8*& >(value))); ^ ~~~~~ error: cannot initialize a new value of type 'uint8 *' (aka 'unsigned char *') with an lvalue of type 'const uint8 *' (aka 'const unsigned char *') return (new uint8*(static_cast< const uint8*& >(value))); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2 errors generated. called from cpointer.i: %define %pointer_functions(TYPE,NAME) ... static TYPE *copy_##NAME(TYPE value) { return %new_copy(value, TYPE); } when wrapping f(uint8* source, int file_size, int* width, int* height, uint8** dest) Fix by ==== Lib/typemaps/swigmacros.swg - my/Lib/typemaps/swigmacros.swg ==== 161c161 < # define %new_copy(val,Type...) (new Type(%static_cast(val, const Type&))) --- > # define %new_copy(val,Type...) (new Type(%static_cast(val, Type const&))) ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=101645&aid=3582381&group_id=1645 |