From 3c061ac0525eebec030eee46aab6671023177eea Mon Sep 17 00:00:00 2001 From: Than McIntosh Date: Tue, 11 Oct 2016 00:11:43 +0000 Subject: compiler: move Backend/Linemap creation out of front end. Push the calls to create Backend and Linemap object out of the front end into the back end, and instead pass pointers to these objects in the go_create_gogo_args struct. This allows for more flexibility in the interfaces used to create the objects. Reviewed-on: https://go-review.googlesource.com/30698 * go-gcc.h: New file. * go-c.h (struct go_create_gogo_args): Add backend and linemap fields. * go-lang.c: Include "go-gcc.h". (go_langhook_init): Set linemap and backend fields of args. * go-gcc.cc: Include "go-gcc.h". * go-linemap.cc: Include "go-gcc.h". From-SVN: r240959 --- gcc/go/go-lang.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'gcc/go/go-lang.c') diff --git a/gcc/go/go-lang.c b/gcc/go/go-lang.c index 88667e0..8d66ee0 100644 --- a/gcc/go/go-lang.c +++ b/gcc/go/go-lang.c @@ -37,6 +37,7 @@ along with GCC; see the file COPYING3. If not see #include #include "go-c.h" +#include "go-gcc.h" /* Language-dependent contents of a type. */ @@ -111,6 +112,8 @@ go_langhook_init (void) args.check_divide_overflow = go_check_divide_overflow; args.compiling_runtime = go_compiling_runtime; args.debug_escape_level = go_debug_escape_level; + args.linemap = go_get_linemap(); + args.backend = go_get_backend(); go_create_gogo (&args); build_common_builtin_nodes (); -- cgit v1.1