From 56bafc49a02cbff82b628e83c35e36d1872fdcc8 Mon Sep 17 00:00:00 2001 From: Than McIntosh Date: Fri, 23 Sep 2016 19:36:45 +0000 Subject: compiler: better abstraction layer for diagnostics. Introduce an abstraction layer for reporting diagnostics, so as to avoid directly using the native GCC interfaces such as "error_at", "warning_at", "open_quote", "close_quote", etc. The new interfaces have the same look and feel as the GCC equivalents, but make calls into back-end functions to allow the back end to select the proper final reporting routine. Reviewed-on: https://go-review.googlesource.com/29191 * go-gcc-diagnostics.cc: New file. * go-location.h (Location): Remove operator source_location. Add operator==. * go-system.h: #include . * Make-lang.in (GO_OBJS): Add go/go-diagnostics.o and go/go-gcc-diagnostics.o. (CFLAGS-go/go-gcc-diagnostics.o): New variable. From-SVN: r240453 --- gcc/go/Make-lang.in | 3 +++ 1 file changed, 3 insertions(+) (limited to 'gcc/go/Make-lang.in') diff --git a/gcc/go/Make-lang.in b/gcc/go/Make-lang.in index e7011f9..7235f19 100644 --- a/gcc/go/Make-lang.in +++ b/gcc/go/Make-lang.in @@ -54,8 +54,10 @@ GO_OBJS = \ go/export.o \ go/expressions.o \ go/go-backend.o \ + go/go-diagnostics.o \ go/go-dump.o \ go/go-gcc.o \ + go/go-gcc-diagnostics.o \ go/go-lang.o \ go/go-linemap.o \ go/go-optimize.o \ @@ -227,6 +229,7 @@ GOINCLUDES = -I $(srcdir)/go -I $(srcdir)/go/gofrontend CFLAGS-go/go-gcc.o += $(GOINCLUDES) CFLAGS-go/go-linemap.o += $(GOINCLUDES) CFLAGS-go/go-sha1.o += $(GOINCLUDES) +CFLAGS-go/go-gcc-diagnostics.o += $(GOINCLUDES) go/%.o: go/gofrontend/%.cc $(COMPILE) $(GOINCLUDES) $< -- cgit v1.1