This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]