From: <wsf...@us...> - 2009-07-30 18:48:21
|
Revision: 11482 http://swig.svn.sourceforge.net/swig/?rev=11482&view=rev Author: wsfulton Date: 2009-07-30 18:48:14 +0000 (Thu, 30 Jul 2009) Log Message: ----------- improved warning code Modified Paths: -------------- trunk/Source/Modules/lang.cxx Modified: trunk/Source/Modules/lang.cxx =================================================================== --- trunk/Source/Modules/lang.cxx 2009-07-30 17:42:18 UTC (rev 11481) +++ trunk/Source/Modules/lang.cxx 2009-07-30 18:48:14 UTC (rev 11482) @@ -881,30 +881,8 @@ if (over) over = first_nontemplate(over); if (over && (over != n)) { - SwigType *tc = Copy(decl); - SwigType *td = SwigType_pop_function(tc); - String *oname; - String *cname; - if (CurrentClass) { - oname = NewStringf("%s::%s", ClassName, name); - cname = NewStringf("%s::%s", ClassName, Getattr(over, "name")); - } else { - oname = NewString(name); - cname = NewString(Getattr(over, "name")); - } - - SwigType *tc2 = Copy(Getattr(over, "decl")); - SwigType *td2 = SwigType_pop_function(tc2); - - Swig_warning(WARN_LANG_OVERLOAD_DECL, input_file, line_number, "Overloaded declaration ignored. %s\n", SwigType_str(td, SwigType_namestr(oname))); - Swig_warning(WARN_LANG_OVERLOAD_DECL, Getfile(over), Getline(over), "Previous declaration is %s\n", SwigType_str(td2, SwigType_namestr(cname))); - - Delete(tc2); - Delete(td2); - Delete(tc); - Delete(td); - Delete(oname); - Delete(cname); + Swig_warning(WARN_LANG_OVERLOAD_DECL, input_file, line_number, "Overloaded declaration ignored. %s\n", Swig_name_decl(n)); + Swig_warning(WARN_LANG_OVERLOAD_DECL, Getfile(over), Getline(over), "Previous declaration is %s\n", Swig_name_decl(over)); return SWIG_NOWRAP; } } @@ -985,7 +963,7 @@ if (Strncmp(symname, "__dummy_", 8) == 0) { SetFlag(n, "feature:ignore"); Swig_warning(WARN_LANG_TEMPLATE_METHOD_IGNORE, input_file, line_number, - "%%template() contains no name. Template method ignored: %s\n", SwigType_str(decl, SwigType_namestr(Getattr(n,"name")))); + "%%template() contains no name. Template method ignored: %s\n", Swig_name_decl(n)); } } if (!GetFlag(n, "feature:ignore")) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wsf...@us...> - 2012-05-23 20:24:30
|
Revision: 13111 http://swig.svn.sourceforge.net/swig/?rev=13111&view=rev Author: wsfulton Date: 2012-05-23 20:24:21 +0000 (Wed, 23 May 2012) Log Message: ----------- Fix some warning messages to correctly show class names. Modified Paths: -------------- trunk/Source/Modules/lang.cxx Modified: trunk/Source/Modules/lang.cxx =================================================================== --- trunk/Source/Modules/lang.cxx 2012-05-23 19:10:44 UTC (rev 13110) +++ trunk/Source/Modules/lang.cxx 2012-05-23 20:24:21 UTC (rev 13111) @@ -2623,7 +2623,7 @@ Delete(expected_name_resolved); } if (illegal_name) { - Swig_warning(WARN_LANG_RETURN_TYPE, input_file, line_number, "Function %s must have a return type. Ignored.\n", SwigType_namestr(name)); + Swig_warning(WARN_LANG_RETURN_TYPE, input_file, line_number, "Function %s must have a return type. Ignored.\n", Swig_name_decl(name)); Swig_restore(n); return SWIG_NOWRAP; } @@ -2760,7 +2760,7 @@ } if (illegal_name) { - Swig_warning(WARN_LANG_ILLEGAL_DESTRUCTOR, input_file, line_number, "Illegal destructor name %s. Ignored.\n", SwigType_namestr(name)); + Swig_warning(WARN_LANG_ILLEGAL_DESTRUCTOR, input_file, line_number, "Illegal destructor name %s. Ignored.\n", Swig_name_decl(name)); Swig_restore(n); Delete(expected_name); return SWIG_NOWRAP; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wsf...@us...> - 2012-08-07 21:58:58
|
Revision: 13554 http://swig.svn.sourceforge.net/swig/?rev=13554&view=rev Author: wsfulton Date: 2012-08-07 21:58:52 +0000 (Tue, 07 Aug 2012) Log Message: ----------- Memory corruption fixes highlighted by DOH_MEMORY_DEBUG_POOL in Python director tests. Modified Paths: -------------- trunk/Source/Modules/lang.cxx Modified: trunk/Source/Modules/lang.cxx =================================================================== --- trunk/Source/Modules/lang.cxx 2012-08-07 20:30:00 UTC (rev 13553) +++ trunk/Source/Modules/lang.cxx 2012-08-07 21:58:52 UTC (rev 13554) @@ -2652,9 +2652,11 @@ int is_abstract = abstract && !is_notabstract; if (is_protected(n) || is_abstract) { director_ctor = director_prot_ctor_code; + abstract = Copy(abstract); Delattr(pn, "abstract"); } else { if (is_notabstract) { + abstract = Copy(abstract); Delattr(pn, "abstract"); } else { abstract = 0; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wsf...@us...> - 2012-10-11 19:22:23
|
Revision: 13869 http://swig.svn.sourceforge.net/swig/?rev=13869&view=rev Author: wsfulton Date: 2012-10-11 19:22:13 +0000 (Thu, 11 Oct 2012) Log Message: ----------- Fix multiply defined symbol in target language scope Modified Paths: -------------- trunk/Source/Modules/lang.cxx Modified: trunk/Source/Modules/lang.cxx =================================================================== --- trunk/Source/Modules/lang.cxx 2012-10-08 18:20:08 UTC (rev 13868) +++ trunk/Source/Modules/lang.cxx 2012-10-11 19:22:13 UTC (rev 13869) @@ -2991,8 +2991,8 @@ } else { Node *c = Getattr(symbols, s); if (c && (c != n)) { - if (scope) - Swig_error(input_file, line_number, "'%s' is multiply defined in the generated target language module in scope %s.\n", s, scope); + if (scope && Len(scope) > 0) + Swig_error(input_file, line_number, "'%s' is multiply defined in the generated target language module in scope '%s'.\n", s, scope); else Swig_error(input_file, line_number, "'%s' is multiply defined in the generated target language module.\n", s); Swig_error(Getfile(c), Getline(c), "Previous declaration of '%s'\n", s); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wsf...@us...> - 2012-11-22 23:21:27
|
Revision: 13927 http://swig.svn.sourceforge.net/swig/?rev=13927&view=rev Author: wsfulton Date: 2012-11-22 23:21:19 +0000 (Thu, 22 Nov 2012) Log Message: ----------- Better handling of null sym:name Modified Paths: -------------- trunk/Source/Modules/lang.cxx Modified: trunk/Source/Modules/lang.cxx =================================================================== --- trunk/Source/Modules/lang.cxx 2012-11-22 23:20:57 UTC (rev 13926) +++ trunk/Source/Modules/lang.cxx 2012-11-22 23:21:19 UTC (rev 13927) @@ -834,10 +834,25 @@ File *f_header = 0; SwigType *ty, *fullty; + if (Getattr(n, "feature:onlychildren")) { + if (GetFlag(n, "feature:ignore")) { + return SWIG_NOWRAP; + } else { + // Found an unignored templated method that has an empty template instantiation (%template()) + // Ignore it unless it has been %rename'd + if (Strncmp(symname, "__dummy_", 8) == 0) { + SetFlag(n, "feature:ignore"); + Swig_warning(WARN_LANG_TEMPLATE_METHOD_IGNORE, input_file, line_number, + "%%template() contains no name. Template method ignored: %s\n", Swig_name_decl(n)); + return SWIG_NOWRAP; + } + } + } + /* discards nodes following the access control rules */ if (cplus_mode != PUBLIC || !is_public(n)) { /* except for friends, they are not affected by access control */ - int isfriend = storage && (Cmp(storage, "friend") == 0); + int isfriend = Cmp(storage, "friend") == 0; if (!isfriend) { /* Check what the director needs. If the method is pure virtual, it is always needed. * Also wrap non-virtual protected members if asked for (allprotected mode). */ @@ -894,7 +909,7 @@ } } - if (symname && !validIdentifier(symname)) { + if (!validIdentifier(symname)) { Swig_warning(WARN_LANG_IDENTIFIER, input_file, line_number, "Can't wrap '%s' unless renamed to a valid identifier.\n", symname); return SWIG_NOWRAP; } @@ -964,17 +979,9 @@ Delete(SwigType_pop_function(ty)); DohIncref(type); Setattr(n, "type", ty); - if (GetFlag(n, "feature:onlychildren") && !GetFlag(n, "feature:ignore")) { - // Found an unignored templated method that has an empty template instantiation (%template()) - // Ignore it unless it has been %rename'd - if (Strncmp(symname, "__dummy_", 8) == 0) { - SetFlag(n, "feature:ignore"); - Swig_warning(WARN_LANG_TEMPLATE_METHOD_IGNORE, input_file, line_number, - "%%template() contains no name. Template method ignored: %s\n", Swig_name_decl(n)); - } - } - if (!GetFlag(n, "feature:ignore")) - functionHandler(n); + + functionHandler(n); + Setattr(n, "type", type); Delete(ty); Delete(type); @@ -2790,7 +2797,7 @@ String *symname = Getattr(n, "sym:name"); String *mrename; char *csymname = Char(symname); - if (csymname && (*csymname == '~')) + if (*csymname == '~') csymname += 1; mrename = Swig_name_destroy(NSpace, csymname); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wsf...@us...> - 2012-11-22 23:22:00
|
Revision: 13928 http://swig.svn.sourceforge.net/swig/?rev=13928&view=rev Author: wsfulton Date: 2012-11-22 23:21:54 +0000 (Thu, 22 Nov 2012) Log Message: ----------- Minor logic fix. Modified Paths: -------------- trunk/Source/Modules/lang.cxx Modified: trunk/Source/Modules/lang.cxx =================================================================== --- trunk/Source/Modules/lang.cxx 2012-11-22 23:21:19 UTC (rev 13927) +++ trunk/Source/Modules/lang.cxx 2012-11-22 23:21:54 UTC (rev 13928) @@ -3503,7 +3503,7 @@ } else { return 1; } - return dirabstract ? 1 : 0; + return 0; } void Language::setSubclassInstanceCheck(String *nc) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wsf...@us...> - 2012-11-22 23:22:40
|
Revision: 13929 http://swig.svn.sourceforge.net/swig/?rev=13929&view=rev Author: wsfulton Date: 2012-11-22 23:22:34 +0000 (Thu, 22 Nov 2012) Log Message: ----------- Remove some useless code Modified Paths: -------------- trunk/Source/Modules/lang.cxx Modified: trunk/Source/Modules/lang.cxx =================================================================== --- trunk/Source/Modules/lang.cxx 2012-11-22 23:21:54 UTC (rev 13928) +++ trunk/Source/Modules/lang.cxx 2012-11-22 23:22:34 UTC (rev 13929) @@ -1138,18 +1138,12 @@ String *type = Getattr(n, "type"); String *name = Getattr(n, "name"); String *parms = Getattr(n, "parms"); - String *cb = GetFlagAttr(n, "feature:callback"); String *cbname = Getattr(n, "feature:callback:name"); String *calltype = NewStringf("(%s (*)(%s))(%s)", SwigType_str(type, 0), ParmList_str(parms), SwigType_namestr(name)); SwigType *cbty = Copy(type); SwigType_add_function(cbty, parms); SwigType_add_pointer(cbty); - if (!cbname) { - cbname = NewStringf(cb, symname); - Setattr(n, "feature:callback:name", cbname); - } - Setattr(n, "sym:name", cbname); Setattr(n, "type", cbty); Setattr(n, "value", calltype); @@ -1158,7 +1152,6 @@ if (!ns) constantWrapper(n); - Delete(cbname); Delete(cbty); Swig_restore(n); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wsf...@us...> - 2012-11-22 23:23:22
|
Revision: 13930 http://swig.svn.sourceforge.net/swig/?rev=13930&view=rev Author: wsfulton Date: 2012-11-22 23:23:15 +0000 (Thu, 22 Nov 2012) Log Message: ----------- Minor logic and memory leak fix. Modified Paths: -------------- trunk/Source/Modules/lang.cxx Modified: trunk/Source/Modules/lang.cxx =================================================================== --- trunk/Source/Modules/lang.cxx 2012-11-22 23:22:34 UTC (rev 13929) +++ trunk/Source/Modules/lang.cxx 2012-11-22 23:23:15 UTC (rev 13930) @@ -3470,6 +3470,7 @@ String *check_item = Getattr(item, "vmid"); if (Strcmp(method_id, check_item) == 0) { exists_item = true; + Delete(method_id); break; } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wsf...@us...> - 2012-11-23 07:36:16
|
Revision: 13931 http://swig.svn.sourceforge.net/swig/?rev=13931&view=rev Author: wsfulton Date: 2012-11-23 07:36:10 +0000 (Fri, 23 Nov 2012) Log Message: ----------- Remove incorrect Delete Modified Paths: -------------- trunk/Source/Modules/lang.cxx Modified: trunk/Source/Modules/lang.cxx =================================================================== --- trunk/Source/Modules/lang.cxx 2012-11-22 23:23:15 UTC (rev 13930) +++ trunk/Source/Modules/lang.cxx 2012-11-23 07:36:10 UTC (rev 13931) @@ -3470,7 +3470,6 @@ String *check_item = Getattr(item, "vmid"); if (Strcmp(method_id, check_item) == 0) { exists_item = true; - Delete(method_id); break; } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <wsf...@us...> - 2012-12-02 18:12:02
|
Revision: 13948 http://swig.svn.sourceforge.net/swig/?rev=13948&view=rev Author: wsfulton Date: 2012-12-02 18:11:56 +0000 (Sun, 02 Dec 2012) Log Message: ----------- Remove some pointless code creating implicit constructors Modified Paths: -------------- trunk/Source/Modules/lang.cxx Modified: trunk/Source/Modules/lang.cxx =================================================================== --- trunk/Source/Modules/lang.cxx 2012-12-02 14:33:41 UTC (rev 13947) +++ trunk/Source/Modules/lang.cxx 2012-12-02 18:11:56 UTC (rev 13948) @@ -2172,8 +2172,7 @@ String *name = Swig_scopename_last(cname); String *cc = NewStringf("r.q(const).%s", type); String *decl = NewStringf("f(%s).", cc); - String *csymname = Getattr(n, "sym:name"); - String *oldname = csymname; + String *oldname = Getattr(n, "sym:name"); if (Getattr(n, "allocate:has_constructor")) { // to work properly with '%rename Class', we must look @@ -2196,9 +2195,6 @@ String *symname = Swig_name_make(cn, cname, name, decl, oldname); if (Strcmp(symname, "$ignore") != 0) { - if (!symname) { - symname = Copy(csymname); - } Parm *p = NewParm(cc, "other", n); Setattr(cn, "name", name); @@ -2242,14 +2238,9 @@ String *cname = Getattr(n, "name"); String *name = Swig_scopename_last(cname); String *decl = NewString("f()."); - String *csymname = Getattr(n, "sym:name"); - String *oldname = csymname; + String *oldname = Getattr(n, "sym:name"); String *symname = Swig_name_make(cn, cname, name, decl, oldname); if (Strcmp(symname, "$ignore") != 0) { - if (!symname) { - symname = Copy(csymname); - } - Setattr(cn, "name", name); Setattr(cn, "sym:name", symname); SetFlag(cn, "feature:new"); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |