diff options
Diffstat (limited to 'doc/gccgo_contribute.html')
-rw-r--r-- | doc/gccgo_contribute.html | 112 |
1 files changed, 0 insertions, 112 deletions
diff --git a/doc/gccgo_contribute.html b/doc/gccgo_contribute.html deleted file mode 100644 index 395902d7cb..0000000000 --- a/doc/gccgo_contribute.html +++ /dev/null @@ -1,112 +0,0 @@ -<!--{ - "Title": "Contributing to the gccgo frontend" -}--> - -<h2>Introduction</h2> - -<p> -These are some notes on contributing to the gccgo frontend for GCC. -For information on contributing to parts of Go other than gccgo, -see <a href="/doc/contribute.html">Contributing to the Go project</a>. For -information on building gccgo for yourself, -see <a href="/doc/gccgo_install.html">Setting up and using gccgo</a>. -For more of the gritty details on the process of doing development -with the gccgo frontend, -see <a href="https://go.googlesource.com/gofrontend/+/master/HACKING">the -file HACKING</a> in the gofrontend repository. -</p> - -<h2>Legal Prerequisites</h2> - -<p> -You must follow the <a href="/doc/contribute.html#copyright">Go copyright -rules</a> for all changes to the gccgo frontend and the associated -libgo library. Code that is part of GCC rather than gccgo must follow -the general <a href="https://gcc.gnu.org/contribute.html">GCC -contribution rules</a>. -</p> - -<h2>Code</h2> - -<p> -The master sources for the gccgo frontend may be found at -<a href="https://go.googlesource.com/gofrontend">https://go.googlesource.com/gofrontend</a>. -They are mirrored -at <a href="https://github.com/golang/gofrontend">https://github.com/golang/gofrontend</a>. -The master sources are not buildable by themselves, but only in -conjunction with GCC (in the future, other compilers may be -supported). Changes made to the gccgo frontend are also applied to -the GCC source code repository hosted at <code>gcc.gnu.org</code>. In -the <code>gofrontend</code> repository, the <code>go</code> directory -is mirrored to the <code>gcc/go/gofrontend</code> directory in the GCC -repository, and the <code>gofrontend</code> <code>libgo</code> -directory is mirrored to the GCC <code>libgo</code> directory. In -addition, the <code>test</code> directory -from <a href="//go.googlesource.com/go">the main Go repository</a> -is mirrored to the <code>gcc/testsuite/go.test/test</code> directory -in the GCC repository. -</p> - -<p> -Changes to these directories always flow from the master sources to -the GCC repository. The files should never be changed in the GCC -repository except by changing them in the master sources and mirroring -them. -</p> - -<p> -The gccgo frontend is written in C++. -It follows the GNU and GCC coding standards for C++. -In writing code for the frontend, follow the formatting of the -surrounding code. -Almost all GCC-specific code is not in the frontend proper and is -instead in the GCC sources in the <code>gcc/go</code> directory. -</p> - -<p> -The run-time library for gccgo is mostly the same as the library -in <a href="//go.googlesource.com/go">the main Go repository</a>. -The library code in the Go repository is periodically merged into -the <code>libgo/go</code> directory of the <code>gofrontend</code> and -then the GCC repositories, using the shell -script <code>libgo/merge.sh</code>. Accordingly, most library changes -should be made in the main Go repository. The files outside -of <code>libgo/go</code> are gccgo-specific; that said, some of the -files in <code>libgo/runtime</code> are based on files -in <code>src/runtime</code> in the main Go repository. -</p> - -<h2>Testing</h2> - -<p> -All patches must be tested. A patch that introduces new failures is -not acceptable. -</p> - -<p> -To run the gccgo test suite, run <code>make check-go</code> in your -build directory. This will run various tests -under <code>gcc/testsuite/go.*</code> and will also run -the <code>libgo</code> testsuite. This copy of the tests from the -main Go repository is run using the DejaGNU script found -in <code>gcc/testsuite/go.test/go-test.exp</code>. -</p> - -<p> -Most new tests should be submitted to the main Go repository for later -mirroring into the GCC repository. If there is a need for specific -tests for gccgo, they should go in -the <code>gcc/testsuite/go.go-torture</code> -or <code>gcc/testsuite/go.dg</code> directories in the GCC 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 and -the <code>gofrontend-dev@googlegroups.com</code> mailing list -rather than the <code>go</code> project and the -<code>golang-dev@googlegroups.com</code> mailing list. Those changes -will then be merged into the GCC sources. -</p> |