diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md new file mode 100644 index 0000000000000..9f5edd5efa733 --- /dev/null +++ b/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,54 @@ + + + + + + + + + + +Please make sure to put any logs, terminal output, or code in +[fenced code blocks]. + +# Defect/Bug Report # + + +The title of the issue should start with `Defect:` followed by a +succinct title. + + + +- GCC fork release tag or git hash: +- GCC version used to build this fork: +- Output of `uname -a`: +- Machine architecture and number of physical cores: + +## Observed Behavior ## + +## Expected Behavior ## + +## Steps to Reproduce ## + +# Question # + + +The title of the issue should start with `Question:` followed by a +succinct title. Add the text of your question here. Be specific. Search for +answers on [Google] and [Stack Overflow] +before asking a new question + +# Request for Enhancement (RFE) # + + +The title of the issue should start with `RFE:` followed by a succinct +title. If you are willing to help out, please review the [Contributing to GCC] +page. + +[links]:# +[Google]: https://www.google.com +[Stack Overflow]: https://stackoverflow.com +[fenced codeblocks]: https://help.github.com/articles/creating-and-highlighting-code-blocks/ +[CONTRIBUTING.md]: https://github.com/sourceryinstitute/OpenCoarrays/blob/master/CONTRIBUTING.md +[Helping Out]: https://github.com/sourceryinstitute/OpenCoarrays/blob/master/CONTRIBUTING.md#helping-out +[Contributing to GCC]: https://gcc.gnu.org/contribute.html diff --git a/.gitignore b/.gitignore index b53f60db79205..ae3432d5480f8 100644 --- a/.gitignore +++ b/.gitignore @@ -55,3 +55,5 @@ REVISION /mpc* /gmp* /isl* +/mpich* +/opencoarrays* diff --git a/README.md b/README.md new file mode 100644 index 0000000000000..0a0a979b31fbc --- /dev/null +++ b/README.md @@ -0,0 +1,89 @@ +Overview +======== +This repository exists as a staging ground for developing candidate +contributions to the GNU Compiler Collection ([GCC]). + +Candidate features currently on this site are listed below. The checked items indicate features +that are deemed sufficiently functional submitted to the relevant GCC developer mailing list for review. +We welcome user feedback from testing these features. Unchecked itmes are insufficiently mature to +submit to GCC. We welcome code via [pull request] for any listed features or other unsupported +features of the draft Fortran 2015 standard: + +- [X] The [teams branch] with experimental support for Fortran 2015 teams. +- [X] The [download-opencoarrays-mpich branch] modifying GCC's prequisites download script + to add [OpenCoarrays] and [MPICH] to the list of downloade software. +- [ ] The [issue-#6-iso-fortran-binding-h branch] providing gthe Fortran 2015 `iso_fortran_binding.h` file. + +Installation +============ +This fork's [releases] are produced from the [teams branch], which expect will be of +most interest to users. We recommend building releses usin the [OpenCoarrays] +installation script as follows: +```bash +git clone https://github.com/sourceryinstitute/opencoarrays +cd oppencoarrays +./install.sh --package gcc \ + --from-url https://github.com/sourceryinstitute/gcc/archive/.tar.gz \ + --install-version teams-20170921 +``` +where and must be replaced with the appropriate strings such as +1.9.2 and teams-20170921, respectively. The final command above peforms the safest but slowest +build, which could take several hours to complete. For a speedier build, add the `--disable-bootstrap`, +which might fail if the GCC you are using to build is too old. Also, for an interactive build, +add `--yes-to-all` to instruct the installer to assume affirmative answers to any queries. If successful, +the above steps will install GCC in the prerequisites/installations subdirectory. To see additional +installation options, including choosing another installation path, execute `./install.sh --help`. + +For access to any Fortran 2015 parallel features, including teams and failed images, build the [MPICH] +and the [opencoarrays-teams branch]: +of OpenCoarrays: +```bash +git checkout opencoarrays-teams +export LD_LIBRARY_PATH=/lib64:$LD_LIBRARY_PATH +./install.sh --package mpich \ + --with-fortran /bin/gfortarn \ + --with-c /bin/gcc \ + --with-cpp /bin/g++ +./install.sh \ + --with-mpi +``` +with appropriate substitutions for the values between angular brackdets (<...>). Please report +any problems with the above steps on our [issues page]. + + +[GCC mirror] README +=================== + +This directory contains the GNU Compiler Collection (GCC). + +The GNU Compiler Collection is free software. See the files whose +names start with COPYING for copying permission. The manuals, and +some of the runtime libraries, are under different terms; see the +individual source files for details. + +The directory INSTALL contains copies of the installation information +as HTML and plain text. The source of this information is +gcc/doc/install.texi. The installation information includes details +of what is included in the GCC sources and what files GCC installs. + +See the file gcc/doc/gcc.texi (together with other files that it +includes) for usage and porting information. An online readable +version of the manual is in the files gcc/doc/gcc.info*. + +See http://gcc.gnu.org/bugs/ for how to report bugs usefully. + +Copyright years on GCC source files may be listed using range +notation, e.g., 1987-2012, indicating that every year in the range, +inclusive, is a copyrightable year that could otherwise be listed +individually. + +[GCC mirror]: https://github.com/gcc-mirror/gcc +[GCC]: https://gcc.gnu.org/gcc +[OpenCoarrays]: https://www.opendcoarrays.org +[MPICH]: https://www.mpich.org +[teams branch]: https://github.com/sourceryinstitute/gcc/tree/teams +[issue-#6-iso-fortran-binding-h branch]: https://github.com/sourceryinstitute/gcc/tree/issue-#6-iso-fortran-binding-h +[download-opencoarrays-mpich branch]: https://github.com/sourceryinstitute/gcc/tree/download-opencoarrays-mpich +[releases] https://github.com/sourceryinstitute/gcc/releases/ +[issues page] https://github.com/sourceryinstitute/gcc/issues/ +[opencoarrays-teams branch]: https://github.com/sourceryinstitute/opencoarrays/tree/opencoarrays-teams diff --git a/contrib/download_prerequisites b/contrib/download_prerequisites index ae0b5ffeb3227..87b74c8357e1c 100755 --- a/contrib/download_prerequisites +++ b/contrib/download_prerequisites @@ -31,6 +31,8 @@ gmp='gmp-6.1.0.tar.bz2' mpfr='mpfr-3.1.4.tar.bz2' mpc='mpc-1.0.3.tar.gz' isl='isl-0.18.tar.bz2' +mpich='mpich-3.2.tar.gz' +opencoarrays='opencoarrays-1.9.0.tar.gz' base_url='ftp://gcc.gnu.org/pub/gcc/infrastructure/' @@ -38,9 +40,12 @@ echo_archives() { echo "${gmp}" echo "${mpfr}" echo "${mpc}" + if [ ${fortran} -gt 0 ]; then echo "${mpich}"; fi + if [ ${fortran} -gt 0 ]; then echo "${opencoarrays}"; fi if [ ${graphite} -gt 0 ]; then echo "${isl}"; fi } +fortran=1 graphite=1 verify=1 force=0 @@ -83,6 +88,7 @@ The following options are available: --md5 use MD5 checksum to verify package integrity --help show this text and exit --version show version information and exit + --no-fortran do not download Fortran prerequisites " versiontext="${program} ${version} @@ -95,6 +101,14 @@ die() { exit 1 } +if type wget > /dev/null ; then + fetch='wget' +elif type curl > /dev/null ; then + fetch='curl -LO -u anonymous:' +else + die "Neither wget nor curl found, cannot download tarballs." +fi + for arg in "$@" do case "${arg}" in @@ -146,6 +160,9 @@ do --no-force) force=0 ;; + --no-fortran) + fortran=0 + ;; --isl|--graphite) graphite=1 ;; diff --git a/contrib/prerequisites.md5 b/contrib/prerequisites.md5 index cc71e0f4de68a..36c94292c5354 100644 --- a/contrib/prerequisites.md5 +++ b/contrib/prerequisites.md5 @@ -2,3 +2,5 @@ b8a2f6b0e68bef46e53da2ac439e1cf4 mpfr-3.1.4.tar.bz2 d6a1d5f8ddea3abd2cc3e98f58352d26 mpc-1.0.3.tar.gz 11436d6b205e516635b666090b94ab32 isl-0.18.tar.bz2 +f414cfa77099cd1fa1a5ae4e22db508a mpich-3.2.tar.gz +1e2b05f71d3b1a9f3cdd2ceb4b46b7a0 opencoarrays-1.9.0.tar.gz diff --git a/contrib/prerequisites.sha512 b/contrib/prerequisites.sha512 index cf6b93b8d6b81..1f496389442bc 100644 --- a/contrib/prerequisites.sha512 +++ b/contrib/prerequisites.sha512 @@ -2,3 +2,5 @@ 51066066ff2c12ed2198605ecf68846b0c96b548adafa5b80e0c786d0df488411a5e8973358fce7192dc977ad4e68414cf14500e3c39746de62465eb145bb819 mpfr-3.1.4.tar.bz2 0028b76df130720c1fad7de937a0d041224806ce5ef76589f19c7b49d956071a683e2f20d154c192a231e69756b19e48208f2889b0c13950ceb7b3cfaf059a43 mpc-1.0.3.tar.gz 85d0b40f4dbf14cb99d17aa07048cdcab2dc3eb527d2fbb1e84c41b2de5f351025370e57448b63b2b8a8cf8a0843a089c3263f9baee1542d5c2e1cb37ed39d94 isl-0.18.tar.bz2 +083c51655b4355827bd7fa4fe528046e2bc77b7747d869ff87b79fa324c3cc2a9b5640ccb7271490ccc0dd627e354a33a449bbab448501bbfddcfe5f999ee717 mpich-3.2.tar.gz +ff081d5fbde411075a221920b6d6e2ba5698d99d4536441450cc47ba2c713fdb6d7bcf0040d1b4076059973d32892d674218b281a7fcab991282448bad0b0aad opencoarrays-1.9.0.tar.gz