<!-- Contributing to the gccgo frontend -->

<h2>Introduction</h2>

<p>
These are some notes on contributing to the <code>gccgo</code>
frontend for GCC.  For information on contributing to parts of Go other
than <code>gccgo</code>, see <a href="contribute.html">Contributing to
the Go project</a>.  For information on building <code>gccgo</code>
for yourself, see <a href="gccgo_install.html">Setting up and using
gccgo</a>.
</p>

<h2>Legal Prerequisites</h2>

<p>
You must follow the <a href="contribute.html#copyright">Go copyright
rules.</a>
</p>

<h2>Code</h2>

<p>
The source code for the <code>gccgo</code> frontend may be found at
<a href="http://code.google.com/p/gofrontend">http://code.google.com/p/gofrontend</a>.
Changes made to that project are routinely merged into the source code
hosted at <code>gcc.gnu.org</code>.  The <code>gofrontend</code>
project includes only the Go frontend proper.  These are the files
which in the <code>gcc</code> sources may be found in the
directories <code>gcc/go</code> and <code>libgo</code>.
The <code>gcc</code> sources also include a copy of
the <code>test</code> directory
from <a href="http://code.google.com/p/go">the main Go repository</a>.

<p>
The frontend is written in C++ and as such the GNU coding standards do
not entirely apply; in writing code for the frontend, follow the
formatting of the surrounding code.  Although the frontend is
currently closely tied to the rest of the <code>gcc</code> codebase,
we plan to make it more independent.  Any new code that uses other
parts of <code>gcc</code> should be placed in an appropriate file,
such as <code>gogo-tree.cc</code>.  Eventually
all <code>gcc</code>-specific code should migrate to
a <code>gcc-interface</code> subdirectory.
</p>

<p>
The runtime library for <code>gccgo</code> is mostly the same as the
library in <a href="http://code.google.com/p/go">the main Go
repository</a>.  The library code in the Go repository is periodically
copied into the <code>gofrontend</code> and the <code>gcc</code>
repositories.  Accordingly, most library changes should be made in the
main Go repository.  Changes to the few <code>gccgo</code>-specific
parts of the library should follow the process described here.
The <code>gccgo</code>-specific parts of the library are everything in
the <code>libgo</code> directory except for the <code>libgo/go</code>
subdirectory.
</p>

<h2>Testing</h2>

<p>
All patches must be tested.  There are two test suites.  A patch that
introduces new failures is not acceptable.
</p>

<p>
To run the compiler test suite, run <code>make check-go</code> in the
<code>gcc</code> subdirectory of your build directory.  This will run
various tests underneath <code>gcc/testsuite/go.*</code>.  This
includes a copy of the tests in the main Go repository, which are run
using the DejaGNU script found in
in <code>gcc/testsuite/go.test/go-test.exp</code>.  Many of the
compiler tests may be run without the Go library, but some do require
the library to built first.
</p>

<p>
To run the library test suite, run <code>make
check-target-libgo</code> in the top level of your build directory.
</p>

<p>
Most new tests should be submitted to the main Go repository for
copying into the <code>gccgo</code> repository.  If there is a need
for specific tests for <code>gccgo</code>, they should go in
the <code>gcc/testsuite/go.go-torture</code>
or <code>gcc/testsuite/go.dg</code> directories in
the <code>gcc.gnu.org</code> repository.
</p>

<h2>Submitting Changes</h2>

<p>
Changes to the Go frontend should follow the same process as for the
main Go repository, only for the <code>gofrontend</code> project
rather than the <code>go</code> project.  Those changes will then be
merged into the <code>gcc</code> sources.
</p>
