diff mbox

Go patch committed: Use backend interface for error detection

Message ID mcry4ymi9bm.fsf@iant-glaptop.roam.corp.google.com
State New
Headers show

Commit Message

Ian Lance Taylor May 1, 2014, 1:20 a.m. UTC
This patch from Chris Manghane changes the Go frontend to use the
backend interface to detect whether any errors have been seen.
Bootstrapped and ran Go testsuite on x86_64-unknown-linux-gnu.
Committed to mainline.

Ian


2014-04-30  Chris Manghane  <cmang@google.com>

	* go-backend.c: #include "diagnostics.h".
	(saw_errors): New function.
	* go-c.h (saw_errors): Declare.
	* Make-lang.in (GO_OBJS): Remove go/gogo-tree.o.
diff mbox

Patch

Index: gcc/go/Make-lang.in
===================================================================
--- gcc/go/Make-lang.in	(revision 209392)
+++ gcc/go/Make-lang.in	(working copy)
@@ -60,7 +60,6 @@  GO_OBJS = \
 	go/go-linemap.o \
 	go/go-optimize.o \
 	go/go.o \
-	go/gogo-tree.o \
 	go/gogo.o \
 	go/import.o \
 	go/import-archive.o \
Index: gcc/go/gofrontend/gogo-tree.cc
===================================================================
--- gcc/go/gofrontend/gogo-tree.cc	(revision 209392)
+++ gcc/go/gofrontend/gogo-tree.cc	(working copy)
@@ -1,37 +0,0 @@ 
-// gogo-tree.cc -- convert Go frontend Gogo IR to gcc trees.
-
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-#include "go-system.h"
-
-#include "toplev.h"
-#include "tree.h"
-#include "stringpool.h"
-#include "stor-layout.h"
-#include "varasm.h"
-#include "gimple-expr.h"
-#include "gimplify.h"
-#include "tree-iterator.h"
-#include "cgraph.h"
-#include "langhooks.h"
-#include "convert.h"
-#include "output.h"
-#include "diagnostic.h"
-#include "go-c.h"
-
-#include "types.h"
-#include "expressions.h"
-#include "statements.h"
-#include "runtime.h"
-#include "backend.h"
-#include "gogo.h"
-
-// Whether we have seen any errors.
-
-bool
-saw_errors()
-{
-  return errorcount != 0 || sorrycount != 0;
-}
Index: gcc/go/go-backend.c
===================================================================
--- gcc/go/go-backend.c	(revision 209392)
+++ gcc/go/go-backend.c	(working copy)
@@ -29,6 +29,7 @@  along with GCC; see the file COPYING3.
 #include "output.h"	/* for assemble_string */
 #include "target.h"
 #include "common/common-target.h"
+#include "diagnostic.h"
 
 #include "go-c.h"
 
@@ -48,6 +49,14 @@  along with GCC; see the file COPYING3.
 /* This file holds all the cases where the Go frontend needs
    information from gcc's backend.  */
 
+/* Return whether or not GCC has reported any errors.  */
+
+bool
+saw_errors (void)
+{
+  return errorcount != 0 || sorrycount != 0;
+}
+
 /* Return the alignment in bytes of a struct field of type T.  */
 
 unsigned int
Index: gcc/go/go-c.h
===================================================================
--- gcc/go/go-c.h	(revision 209945)
+++ gcc/go/go-c.h	(working copy)
@@ -46,6 +46,8 @@  extern void go_write_globals (void);
 
 extern void go_preserve_from_gc (tree);
 
+extern bool saw_errors (void);
+
 extern const char *go_localize_identifier (const char*);
 
 extern unsigned int go_field_alignment (tree);