This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Discussion about merging Go frontend
- From: Ian Lance Taylor <iant at google dot com>
- To: gcc at gcc dot gnu dot org
- Date: Sat, 23 Oct 2010 22:40:46 -0700
- Subject: Discussion about merging Go frontend
The Go frontend was approved for inclusion with gcc by the steering
committee a while back: http://gcc.gnu.org/ml/gcc/2010-01/msg00500.html .
Assuming it is OK with the release managers, I would like to get it into
the gcc 4.6 release. I have been running behind my intended schedule,
for which I apologize. However, the code is almost ready to merge, in
the sense that the only remaining changes are Go specific and should not
affect other languages. The only thing I hope to clean up further
before the merge is additional separation between the Go frontend proper
and the gcc-specific interface. I'm not going to have time to do the
full planned separation, which I will continue to work on, but I hope to
have the proper framework in place for future work.
There are three new source code directories: gcc/go, libgo, and elfcpp.
The last is currently part of the src repository, where it is used by
gold. I propose moving the master copy of elfcpp to gcc, and handling
it like libiberty.
There are three new testsuite directories: gcc/testsuite/go.dg,
gcc/testsuite/go.go-torture, gcc/testsuite/go.test. The last is mostly
a copy of the testsuite for the gc compiler.
The following other files are changed:
gcc/opts.c
gcc/toplev.c
gcc/debug.h
gcc/flag-types.h
gcc/c-family/c-lex.c
gcc/Makefile.in
Add support for -ggo, used when building runtime library.
gcc/common.opt
Add -ggo and also -static-libgo.
gcc/gcc.c
Recognize .go files.
gcc/configure.ac
Check whether -static-libstdc++ is supported.
gcc/testsuite/lib/go-dg.exp
gcc/testsuite/lib/go.exp
gcc/testsuite/lib/go-torture.exp
Go testsuite support.
gcc/testsuite/lib/target-supports.exp
Recognize Go code.
configure.ac
Add libgo. If building Go, build C++ as a boot language. If building
libgo, build libffi.
Makefile.def
Makefile.tpl
Add libgo and Go environment variables.
config-ml.in
Pass down some Go environment variables.
libtool.m4
ltmain.sh
Add Go support; patch sent upstream.
gcc/acinclude.m4
config/go.m4
Add Go support; patch sent upstream.
configure
Makefile.in
gcc/configure
Regenerate.
Ian