diff options
author | Than McIntosh <thanm@google.com> | 2016-10-11 00:11:43 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@gcc.gnu.org> | 2016-10-11 00:11:43 +0000 |
commit | 3c061ac0525eebec030eee46aab6671023177eea (patch) | |
tree | 2cb8646afabaf58b7f77d2990aa7cd375f662850 /gcc/go/go-gcc.h | |
parent | abe08b7d909d27884e9f5f2cb879739e2c909106 (diff) | |
download | gcc-3c061ac0525eebec030eee46aab6671023177eea.zip gcc-3c061ac0525eebec030eee46aab6671023177eea.tar.gz gcc-3c061ac0525eebec030eee46aab6671023177eea.tar.bz2 |
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
Diffstat (limited to 'gcc/go/go-gcc.h')
-rw-r--r-- | gcc/go/go-gcc.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/gcc/go/go-gcc.h b/gcc/go/go-gcc.h new file mode 100644 index 0000000..0dfd392 --- /dev/null +++ b/gcc/go/go-gcc.h @@ -0,0 +1,33 @@ +/* go-gcc.h -- Header file for go backend-specific interfaces. + Copyright (C) 2016 Free Software Foundation, Inc. + +This file is part of GCC. + +GCC is free software; you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free +Software Foundation; either version 3, or (at your option) any later +version. + +GCC is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received a copy of the GNU General Public License +along with GCC; see the file COPYING3. If not see +<http://www.gnu.org/licenses/>. */ + +#ifndef GO_GO_GCC_BACKEND_H +#define GO_GO_GCC_BACKEND_H + +class Backend; + +// Create and return a Backend object for use with the GCC backend. + +extern Backend *go_get_backend(); + +// Create and return a Linemap object for use with the GCC backend. + +extern Linemap *go_get_linemap(); + +#endif // !defined(GO_GCC_BACKEND_H) |