diff --git a/Source/CParse/parser.y b/Source/CParse/parser.y index e36e5bd45..76137ebc6 100644 --- a/Source/CParse/parser.y +++ b/Source/CParse/parser.y @@ -3116,6 +3116,8 @@ cpp_forward_class_decl : storage_class cpptype idcolon SEMI { $$ = 0; } else { $$ = new_node("classforward"); + Setfile($$,cparse_file); + Setline($$,cparse_line); Setattr($$,"kind",$2); Setattr($$,"name",$3); Setattr($$,"sym:weak", "1"); @@ -5053,6 +5055,8 @@ base_list : base_specifier { base_specifier : opt_virtual idcolon { $$ = NewHash(); + Setfile($$,cparse_file); + Setline($$,cparse_line); Setattr($$,"name",$2); if (last_cpptype && (Strcmp(last_cpptype,"struct") != 0)) { Setattr($$,"access","private"); @@ -5064,6 +5068,8 @@ base_specifier : opt_virtual idcolon { } | opt_virtual access_specifier opt_virtual idcolon { $$ = NewHash(); + Setfile($$,cparse_file); + Setline($$,cparse_line); Setattr($$,"name",$4); Setattr($$,"access",$2); if (Strcmp($2,"public") != 0) { diff --git a/Source/Modules/typepass.cxx b/Source/Modules/typepass.cxx index a3d2b3c65..d3fd23799 100644 --- a/Source/Modules/typepass.cxx +++ b/Source/Modules/typepass.cxx @@ -180,7 +180,8 @@ class TypePass : private Dispatcher { if (Strcmp(nodeType(bcls),"classforward") != 0) { Swig_error(Getfile(bname),Getline(bname),"'%s' is not a class. \n",bname); } else { - Swig_warning(WARN_TYPE_INCOMPLETE,Getfile(bname),Getline(bname),"Base class '%s' is incomplete.\n", bname); + Swig_warning(WARN_TYPE_INCOMPLETE,Getfile(cls),Getline(cls),"Base class '%s' is incomplete.\n", bname); + Swig_warning(WARN_TYPE_INCOMPLETE,Getfile(bcls),Getline(bcls),"Only forward declaration '%s' was found.\n", bname); clsforward = 1; } bcls = 0;