1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-22 04:17:44 +00:00
freebsd-ports/lang/gcc46
Gerald Pfeifer d55f0b8172 Update to the release of GCC 4.6.0 (basically). Really too many changes
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.
2011-03-26 01:33:11 +00:00
..
files Update to the 20110226 snapshot of GCC 4.6.0. The change for code 2011-02-27 01:11:53 +00:00
distinfo Update to the release of GCC 4.6.0 (basically). Really too many changes 2011-03-26 01:33:11 +00:00
Makefile Update to the release of GCC 4.6.0 (basically). Really too many changes 2011-03-26 01:33:11 +00:00
pkg-descr Adjust references to the GCC version to refer to 4.6. 2010-05-07 18:30:06 +00:00
pkg-plist Update to the 20110219 snapshot of GCC 4.6.0. 2011-02-22 18:56:53 +00:00