aboutsummaryrefslogtreecommitdiff
path: root/lang/Makefile
diff options
context:
space:
mode:
authorGerald Pfeifer <gerald@FreeBSD.org>2018-07-14 21:59:21 +0000
committerGerald Pfeifer <gerald@FreeBSD.org>2018-07-14 21:59:21 +0000
commita2226726bfba08585cc369bab34ffcd64b7c5d50 (patch)
treed642fa80fbe4ac0837634c49f5f629849a37f222 /lang/Makefile
parent9a631e331caf0591493c8061f60e4b43f9012666 (diff)
downloadports-a2226726bfba08585cc369bab34ffcd64b7c5d50.tar.gz
ports-a2226726bfba08585cc369bab34ffcd64b7c5d50.zip
Welcome GCC 8.1, the first release of the GCC 8 series!
https://gcc.gnu.org/gcc-8/changes.html has a comprehensive overview of many changes in this release and https://gcc.gnu.org/gcc-8/porting_to.html addresses issues you may encounter porting to this new version. To provide a brief overview of some of the more noticable changes: On the optimization front inter-procedural optimizations (IPO) and profile driven optimizations (PDO) have been further improved and some classic loop nest optimization passes have been added: -floop-unroll-and-jam performs outer loop unrolling and fusing of the inner loop copies, while -floop-interchange exchanges loops in a loop nest to improve data locality. These, as well as an improved -ftree-loop-distribution pass are enabled by default at -O3 and above. A new pragma "GCC unroll" has been implemented in the C family of languages as well as Fortran to provide finer-grained control over loop unrolling. DWARF debugging information in the presence of link-time optimization now properly preserves language-specific information. The -gcolumn-info option is now enabled by default, so column information is part of DWARF debugging information in addition to filenames and line numbers. The C family compilers have gained options -Wmultistatement-macros (warning about unsafe macros expanding to multiple statements used as a body of a statement such as if, else, while, switch, or for), -Wstringop-truncation (warning for calls to bounded string manipulation functions such as strncat, strncpy, and stpncpy that might either truncate the copied string or leave the destination unchanged), -Wcast-function-type (warning when a function pointer is cast to an incompatible function pointer, enabled by -Wextra), and -Wsizeof-pointer-div (warning for suspicious divisions of the size of a pointer by the size of the elements it points to, which usually is an indication of a mistaken way to calculate the number of elements in an array, enabled by -Wall), among others. The existing -Warray-bounds and -Wrestrict options have been enhanced to detect many more instances, as have -Wformat-overflow and -Wformat-truncation. Error messages and warnings better highlight the locations of issues in many cases, and helpful "fix it" hints are provided more often. The C++ ABI (-fabi-version=12) introduces minor changes in a few fringe cases. The GCC 7 ABI can still be selected with -fabi-version=11. The C++ frontend as well as libstdc++ feature experimental support for many C++2a features and Fortran has seen a large number of improvements. Lots and lots of improvements for Arm and AArch64 targets, as well as the usual dose on x86 and powerpc. PR: 229681
Notes
Notes: svn path=/head/; revision=474650
Diffstat (limited to 'lang/Makefile')
-rw-r--r--lang/Makefile1
1 files changed, 1 insertions, 0 deletions
diff --git a/lang/Makefile b/lang/Makefile
index defc3c0c5d11..efffa6dd85a1 100644
--- a/lang/Makefile
+++ b/lang/Makefile
@@ -110,6 +110,7 @@
SUBDIR += gcc6-devel
SUBDIR += gcc7
SUBDIR += gcc7-devel
+ SUBDIR += gcc8
SUBDIR += gcc8-devel
SUBDIR += gcc9-devel
SUBDIR += gforth