mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-22 04:17:44 +00:00
d55f0b8172
to sensibly list here, but http://gcc.gnu.org/gcc-4.6/changes.html has a nice overview. Some highlights include - a new quad-precision library that's used by the Fortran frontend (on x86 and amd64); - new -Wunused-but-set-variable and -Wunused-but-set-parameter warnings for C family languages (enabled by -Wall and -Wall -Wextra, too); - new -Wdouble-promotion warning for implicit promotions to double; - a new general optimization level -Ofast combines -O3 with options that can affect standards compliance but result in better optimized code; - link-time optimizations (LTO) now scaling to large input sizes, using better heuristics, and optimizing more aggressively; - new command-line options -fstack-usage and -fstrict-volatile-bitfields (for precisely defining and accessing memory-mapped peripheral registers); - function attribute leaf that allows for more aggressive optimizations; - new data type __int128 for targets having wide enough machine-mode support; - support for selectively enabling and disabling warnings via #pragma GCC diagnostic has been added. For instance: #pragma GCC diagnostic error "-Wuninitialized" foo(a); /* error is given for this one */ #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wuninitialized" foo(b); /* no diagnostic for this one */ #pragma GCC diagnostic pop foo(c); /* error is given for this one */ #pragma GCC diagnostic pop foo(d); /* depends on command line options */ - new command-line option-fmax-errors=N; - experimental support for some features from the upcoming ISO C1X; - similarly for ISO C++0x including constexpr, nullptr, noexcept, unrestricted unions, range-based for loops, opaque enums, implicitly deleted functions, and implicit move constructors; - default warning when integers are cast to larger pointer types, to disable via -Wno-int-to-pointer-cast; - signficiantly better diagnostics for C++ code; - loads and loads and loads of improvements to the Fortran frontend; - a new Go frontend and run-time library; - massive work on Objective-C and Objective-C++; notably extensive support for Objective-C 2.0 (not enabled by this port yet); - support for Intel Core 2 processors (-march=core2, -mtune=core2), Intel Core i3/i5/i7 processors /with AVS (-march=corei7, -mtune=corei7, -march=corei7-avx, -mtune=corei7-avx); - support for AMD Bobcat (fam 14) processors (-march=btver1, -mtune=btver1); Caveat: - Most libstdc++ standard headers have been changed to no longer include the cstddef header as an implementation detail. |
||
---|---|---|
.. | ||
files | ||
distinfo | ||
Makefile | ||
pkg-descr | ||
pkg-plist |