Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 26 Mar 2011 01:33:11 +0000 (UTC)
From:      Gerald Pfeifer <gerald@FreeBSD.org>
To:        ports-committers@FreeBSD.org, cvs-ports@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: ports/lang/gcc46 Makefile distinfo
Message-ID:  <201103260133.p2Q1XBFq019054@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
gerald      2011-03-26 01:33:11 UTC

  FreeBSD ports repository

  Modified files:
    lang/gcc46           Makefile distinfo 
  Log:
  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.
  
  Revision  Changes    Path
  1.485     +1 -1      ports/lang/gcc46/Makefile
  1.350     +10 -10    ports/lang/gcc46/distinfo



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201103260133.p2Q1XBFq019054>