1/* 2 Include the internal swig macro codes. These macros correspond to 3 the one found in Source/Include/swigwarn.h plus the 'SWIG' prefix. 4 5 For example, in the include file 'swigwarn.h' you will find 6 7 #define WARN_TYPEMAP_CHARLEAK ... 8 9 and in the 'swigwarn.swg' interface, you will see 10 11 %define SWIGWARN_TYPEMAP_CHARLEAK ... 12 13 This code can be used in warning filters as follows: 14 15 %warnfilter(SWIGWARN_TYPEMAP_CHARLEAK); 16 17 Warnings messages used in typemaps. Message names will be the same 18 as those in Lib/swigwarn.swg but with the suffix _MSG. 19 20 For example, for the code SWIGWARN_TYPEMAP_CHARLEAK, once you use 21 22 %typemapmsg(CHARLEAK,<msg>); 23 24 you use the message in your typemap as 25 26 %typemap(varin,warning=SWIGWARN_TYPEMAP_CHARLEAK_MSG) char * 27 28 while you suppress the warning using 29 30 %warnfilter(SWIGWARN_TYPEMAP_CHARLEAK); 31 32 as described above. 33*/ 34 35/* ----------------------------------------------------------------------------- 36 * SWIG warning codes 37 * ----------------------------------------------------------------------------- */ 38 39%include <swigwarn.swg> 40 41/* ----------------------------------------------------------------------------- 42 * Auxiliary macros 43 * ----------------------------------------------------------------------------- */ 44 45/* Macro to define warning messages */ 46#define %_warningmsg(Val, Msg...) `Val`":"Msg 47#define %warningmsg(Val, Msg...) %_warningmsg(Val, Msg) 48 49/* ----------------------------------------------------------------------------- 50 * Typemap related warning messages 51 * ----------------------------------------------------------------------------- */ 52 53%define SWIGWARN_TYPEMAP_CHARLEAK_MSG "451:Setting a const char * variable may leak memory." %enddef 54%define SWIGWARN_TYPEMAP_SWIGTYPELEAK_MSG "454:Setting a pointer/reference variable may leak memory." %enddef 55%define SWIGWARN_TYPEMAP_THREAD_UNSAFE_MSG "470:Thread/reentrant unsafe wrapping, consider returning by value instead." %enddef 56%define SWIGWARN_TYPEMAP_DIRECTOROUT_PTR_MSG "473:Returning a pointer or reference in a director method is not recommended." %enddef 57 58/* ----------------------------------------------------------------------------- 59 * Operator related warning messages 60 * ----------------------------------------------------------------------------- */ 61 62%define SWIGWARN_IGNORE_OPERATOR_NEW_MSG "350:operator new ignored" %enddef 63%define SWIGWARN_IGNORE_OPERATOR_DELETE_MSG "351:operator delete ignored" %enddef 64%define SWIGWARN_IGNORE_OPERATOR_PLUS_MSG "352:operator+ ignored" %enddef 65%define SWIGWARN_IGNORE_OPERATOR_MINUS_MSG "353:operator- ignored" %enddef 66%define SWIGWARN_IGNORE_OPERATOR_MUL_MSG "354:operator* ignored" %enddef 67%define SWIGWARN_IGNORE_OPERATOR_DIV_MSG "355:operator/ ignored" %enddef 68%define SWIGWARN_IGNORE_OPERATOR_MOD_MSG "356:operator% ignored" %enddef 69%define SWIGWARN_IGNORE_OPERATOR_XOR_MSG "357:operator^ ignored" %enddef 70%define SWIGWARN_IGNORE_OPERATOR_AND_MSG "358:operator& ignored" %enddef 71%define SWIGWARN_IGNORE_OPERATOR_OR_MSG "359:operator| ignored" %enddef 72%define SWIGWARN_IGNORE_OPERATOR_NOT_MSG "360:operator~ ignored" %enddef 73%define SWIGWARN_IGNORE_OPERATOR_LNOT_MSG "361:operator! ignored" %enddef 74%define SWIGWARN_IGNORE_OPERATOR_EQ_MSG "362:operator= ignored" %enddef 75%define SWIGWARN_IGNORE_OPERATOR_LT_MSG "363:operator< ignored" %enddef 76%define SWIGWARN_IGNORE_OPERATOR_GT_MSG "364:operator> ignored" %enddef 77%define SWIGWARN_IGNORE_OPERATOR_PLUSEQ_MSG "365:operator+= ignored" %enddef 78%define SWIGWARN_IGNORE_OPERATOR_MINUSEQ_MSG "366:operator-= ignored" %enddef 79%define SWIGWARN_IGNORE_OPERATOR_MULEQ_MSG "367:operator*= ignored" %enddef 80%define SWIGWARN_IGNORE_OPERATOR_DIVEQ_MSG "368:operator/= ignored" %enddef 81%define SWIGWARN_IGNORE_OPERATOR_MODEQ_MSG "369:operator%= ignored" %enddef 82%define SWIGWARN_IGNORE_OPERATOR_XOREQ_MSG "370:operator^= ignored" %enddef 83%define SWIGWARN_IGNORE_OPERATOR_ANDEQ_MSG "371:operator&= ignored" %enddef 84%define SWIGWARN_IGNORE_OPERATOR_OREQ_MSG "372:operator|= ignored" %enddef 85%define SWIGWARN_IGNORE_OPERATOR_LSHIFT_MSG "373:operator<< ignored" %enddef 86%define SWIGWARN_IGNORE_OPERATOR_RSHIFT_MSG "374:operator>> ignored" %enddef 87%define SWIGWARN_IGNORE_OPERATOR_LSHIFTEQ_MSG "375:operator<<= ignored" %enddef 88%define SWIGWARN_IGNORE_OPERATOR_RSHIFTEQ_MSG "376:operator>>= ignored" %enddef 89%define SWIGWARN_IGNORE_OPERATOR_EQUALTO_MSG "377:operator== ignored" %enddef 90%define SWIGWARN_IGNORE_OPERATOR_NOTEQUAL_MSG "378:operator!= ignored" %enddef 91%define SWIGWARN_IGNORE_OPERATOR_LTEQUAL_MSG "379:operator<= ignored" %enddef 92%define SWIGWARN_IGNORE_OPERATOR_GTEQUAL_MSG "380:operator>= ignored" %enddef 93%define SWIGWARN_IGNORE_OPERATOR_LAND_MSG "381:operator&& ignored" %enddef 94%define SWIGWARN_IGNORE_OPERATOR_LOR_MSG "382:operator|| ignored" %enddef 95%define SWIGWARN_IGNORE_OPERATOR_PLUSPLUS_MSG "383:operator++ ignored" %enddef 96%define SWIGWARN_IGNORE_OPERATOR_MINUSMINUS_MSG "384:operator-- ignored" %enddef 97%define SWIGWARN_IGNORE_OPERATOR_COMMA_MSG "385:operator-- ignored" %enddef 98%define SWIGWARN_IGNORE_OPERATOR_ARROWSTAR_MSG "386:operator->* ignored" %enddef 99%define SWIGWARN_IGNORE_OPERATOR_ARROW_MSG "387:operator-> ignored" %enddef 100%define SWIGWARN_IGNORE_OPERATOR_CALL_MSG "388:operator() ignored" %enddef 101%define SWIGWARN_IGNORE_OPERATOR_INDEX_MSG "389:operator[] ignored (consider using %%extend)" %enddef 102%define SWIGWARN_IGNORE_OPERATOR_UPLUS_MSG "390:operator+ ignored" %enddef 103%define SWIGWARN_IGNORE_OPERATOR_UMINUS_MSG "391:operator- ignored" %enddef 104%define SWIGWARN_IGNORE_OPERATOR_UMUL_MSG "392:operator* ignored" %enddef 105%define SWIGWARN_IGNORE_OPERATOR_UAND_MSG "393:operator& ignored" %enddef 106%define SWIGWARN_IGNORE_OPERATOR_NEWARR_MSG "394:operator new[] ignored" %enddef 107%define SWIGWARN_IGNORE_OPERATOR_DELARR_MSG "395:operator delete[] ignored" %enddef 108%define SWIGWARN_IGNORE_OPERATOR_REF_MSG "396:operator*() ignored" %enddef 109 110#define %ignoreoperator(Oper) %ignorewarn(SWIGWARN_IGNORE_OPERATOR_##Oper##_MSG) 111 112/* ----------------------------------------------------------------------------- 113 * Macros for keyword and built-in names 114 * ----------------------------------------------------------------------------- */ 115 116#define %keywordwarn(msg...) %namewarn(%warningmsg(SWIGWARN_PARSE_KEYWORD, msg)) 117#define %builtinwarn(msg...) %namewarn(%warningmsg(SWIGWARN_PARSE_BUILTIN_NAME, msg), %$isfunction) 118 119 120/* ----------------------------------------------------------------------------- 121 * Warning filter feature 122 * ----------------------------------------------------------------------------- */ 123 124#define %_warnfilter(filter...) %feature("warnfilter",`filter`) 125#define %warnfilter(filter...) %_warnfilter(filter) 126 127 128 129