aboutsummaryrefslogtreecommitdiff
path: root/lang/gcc6/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* ${RM} already has -f.Mathieu Arnold2016-10-211-4/+4
| | | | | | | | | | PR: 213570 Submitted by: mat Exp-run by: antoine Sponsored by: Absolight Notes: svn path=/head/; revision=424411
* Update to the GCC 6.2 release with a fair number of fixes.Gerald Pfeifer2016-08-221-2/+5
| | | | | | | | | | | | | | | | | | | | | | | files/patch-armv6-hf-support has been accepted upstream, even on the GCC 6-branch this release comes from, so remove it. Backport the following from lang/gcc6-devel: GCC uses an AWK script to generate source code that helps process command-line options. According to POSIX, string comparisons (and hence sorting) are to be performed based on the locale's collating order. Alas GNU AWK only does so in POSIX mode, whereas starting with FreeBSD 11 we do so by default, running into a bug (or false assumption) with that script used by GCC. Setting MAKE_ARGS such that AWK is always invoked in the C locale works around this bug. [1] PR: 210122 [1], 211742 [1] Submitted by: jkim [1] Notes: svn path=/head/; revision=420613
* Welcome to the GCC 6.1 release, the first release of the GCC 6 series.Gerald Pfeifer2016-06-101-0/+177
The default mode for C++ is now -std=gnu++14 instead of -std=gnu++98. Type-based alias analysis now disambiguates accesses to different pointers. This improves precision of the alias oracle by about 20-30% on higher-level C++ programs. Programs doing invalid type punning of pointer types may now need -fno-strict-aliasing to work correctly. Value range propagation now assumes that the this pointer of C++ member functions is non-null. This eliminates common null pointer checks but also breaks some non-conforming code-bases (such as Qt-5, Chromium, KDevelop). As a temporary work-around -fno-delete-null-pointer-checks can be used. Wrong code can be identified by using -fsanitize=undefined. There have been significant improvements around link-time optimization and inter-procedural optimization and some support for OpenACC (though probably not tested on FreeBSD) and version 4.5 of the OpenMP specification. Source locations for the C and C++ compilers are now tracked as ranges and diagnostics can now contain "fix-it hints". New command-line options include -Wshift-negative-value, -Wshift-overflow, -Wtautological-compare, -Wnull-dereference, -Wduplicated-cond, and -Wmisleading-indentation. C++ Concepts are now supported when compiling with -fconcepts, and there are several other improvements around support for newer C++ features as well as in the libstdc++ library. Fortran now features Fortran 2008 SUBMODULE support, Fortran 2015 EVENT_TYPE, EVENT_POST, EVENT_WAIT, and EVENT_QUERY support, and improved support for OpenMP and OpenACC. A lot has happened on the AArch64 and ARM fronts, on x86-64 there is now Skylake with AVX-512 support, AMD instructions monitorx and mwaitx, and support for address spaces __seg_fs, __seg_gs, and __seg_tl, as well as AMD Zen (family 17h) processors, and basic support has been added for POWER9. https://gcc.gnu.org/gcc-6/changes.html has a more extensive set of changes and https://gcc.gnu.org/gcc-6/porting_to.html has a solid overview of issue you may encountering porting to this new version. Notes: svn path=/head/; revision=416661