mirror of
https://git.FreeBSD.org/ports.git
synced 2024-11-19 00:13:33 +00:00
a2226726bf
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
34 lines
1.1 KiB
Plaintext
34 lines
1.1 KiB
Plaintext
bin/%%GNU_HOST%%-c++%%SUFFIX%%
|
|
bin/%%GNU_HOST%%-g++%%SUFFIX%%
|
|
bin/%%GNU_HOST%%-gcc%%SUFFIX%%
|
|
bin/%%GNU_HOST%%-gcc-%%GCC_VERSION%%
|
|
bin/%%GNU_HOST%%-gcc-ar%%SUFFIX%%
|
|
bin/%%GNU_HOST%%-gcc-nm%%SUFFIX%%
|
|
bin/%%GNU_HOST%%-gcc-ranlib%%SUFFIX%%
|
|
bin/%%GNU_HOST%%-gfortran%%SUFFIX%%
|
|
bin/c++%%SUFFIX%%
|
|
bin/cpp%%SUFFIX%%
|
|
bin/g++%%SUFFIX%%
|
|
bin/gcc%%SUFFIX%%
|
|
bin/gcc-ar%%SUFFIX%%
|
|
bin/gcc-nm%%SUFFIX%%
|
|
bin/gcc-ranlib%%SUFFIX%%
|
|
bin/gcov%%SUFFIX%%
|
|
bin/gcov-dump%%SUFFIX%%
|
|
bin/gcov-tool%%SUFFIX%%
|
|
bin/gfortran%%SUFFIX%%
|
|
man/man1/cpp%%SUFFIX%%.1.gz
|
|
man/man1/g++%%SUFFIX%%.1.gz
|
|
man/man1/gcc%%SUFFIX%%.1.gz
|
|
man/man1/gcov%%SUFFIX%%.1.gz
|
|
man/man1/gcov-dump%%SUFFIX%%.1.gz
|
|
man/man1/gcov-tool%%SUFFIX%%.1.gz
|
|
man/man1/gfortran%%SUFFIX%%.1.gz
|
|
share/gcc-%%GCC_VERSION%%/python/libstdcxx/__init__.py
|
|
share/gcc-%%GCC_VERSION%%/python/libstdcxx/v6/__init__.py
|
|
share/gcc-%%GCC_VERSION%%/python/libstdcxx/v6/printers.py
|
|
share/gcc-%%GCC_VERSION%%/python/libstdcxx/v6/xmethods.py
|
|
@postexec if type ccache-update-links >/dev/null 2>&1; then ccache-update-links -v; fi
|
|
@postunexec if type ccache-update-links >/dev/null 2>&1; then ccache-update-links -v; fi
|
|
@comment Insert PLIST.lib here
|