From patchwork Fri Oct 8 20:49:26 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [gccgo] Tell linemap when leaving a source file Date: Fri, 08 Oct 2010 10:49:26 -0000 From: Ian Taylor X-Patchwork-Id: 67286 Message-Id: To: gcc-patches@gcc.gnu.org, gofrontend-dev@googlegroups.com This fixes the gccgo lexer to tell the linemap library when we are leaving a source file. This avoids weird error messages when reporting an error in the second or subsequent source files in a package. Committed to gccgo branch. Ian diff -r d153c8c1d6f6 go/types.cc --- a/go/types.cc Fri Oct 08 13:42:46 2010 -0700 +++ b/go/types.cc Fri Oct 08 13:44:39 2010 -0700 @@ -12,6 +12,7 @@ extern "C" { +#include "toplev.h" #include "intl.h" #include "tree.h" #include "gimple.h" @@ -2867,7 +2868,6 @@ // name. unsigned int found_depth = 0; Field_reference_expression* ret = NULL; - const Struct_field* parent = NULL; i = 0; for (Struct_field_list::const_iterator pf = fields->begin(); pf != fields->end(); @@ -2895,7 +2895,6 @@ if (ret != NULL) delete ret; ret = sub; - parent = &*pf; found_depth = subdepth; Expression* here = Expression::make_field_reference(struct_expr, i, location);