acos, acosh,
    asin, asinh, atan,
    atan2, atanh, cbrt,
    cos, cosh, erf,
    erfc, exp, exp10,
    exp2, expm1, fdim,
    fma, fmax, fmin,
    hypot, log, log10,
    log1p, log2, pow,
    pow10, sin, sincos,
    sinh, tan, tanh and
    tgamma.  The float and long
    double variants of these functions (e.g. sinf
    and sinl) are also handled.  The sqrt
    and cabs functions with constant arguments were
    already optimized in prior GCC releases.  Now they also use MPFR. -frecord-gcc-switches has been
    added to GCC, although it is only enabled for some targets.  The switch
    causes the command line that was used to invoke the compiler to be recorded
    into the object file that is being created.  The exact format of this
    recording is target and binary file format dependent, but it usually takes
    the form of a note section containing ASCII text.  The switch is related to
    the -fverbose-asm switch, but that one only records the
    information in the assembler output file as comments, so the information
    never reaches the object file.
    --param large-stack-frame
    and --param large-stack-frame-growth
    can be used to limit stack frame size growth caused by inlining.memcpy, memset and bzero
    functions operate on is discovered and for cases of commonly used small
    sizes, specialized inline code is generated.__builtin_expect no longer requires its argument to be
    a compile time constant.int may not be implicitly converted to a vector
    type with element type unsigned int.)
    This restriction, which is in line with specifications for SIMD
    architectures such as AltiVec, may be relaxed using the
    flag -flax-vector-conversions.
    This flag is intended only as a compatibility measure and should not
    be used for new code.
    -Warray-bounds has been added and is now enabled by
      default for -Wall . It produces warnings for array
      subscripts that can be determined at compile time to be always 
      out of bounds. -Wno-array-bounds will disable the
      warning.
    constructor and destructor function
     attributes now accept optional priority arguments which control
     the order in which the constructor and destructor functions are
     run. 
    -std=c++0x or -std=gnu++0x compiler
  options. The following C++0x features are enabled by this
  experimental mode: 
  
  -Wc++0x-compat has been added and is now enabled by
  default for -Wall. It produces warnings for constructs
  whose meaning differs between ISO C++ 1998 and C++0x.-Wparentheses option now works for C++ as it
  does for C.  It warns if parentheses are omitted when operators with
  confusing precedence are nested.  It also warns about ambiguous else
  statements.  Since -Wparentheses is enabled by
  -Wall, this may cause additional warnings with existing
  C++ code which uses -Wall.  These new warnings may be
  disabled by using -Wall -Wno-parentheses.-Wmissing-declarations now works for C++ as it
  does for C.
    -fexternal-blas option has been added, which
    generates calls to BLAS routines for intrinsic matrix operations such
    as matmul rather than using the built-in algorithms.VOLATILE and IMPORTISO_ENV_FORTRANjv-scan tool has been
     removed.  gcjh has been replaced by the new
     gjavah, which has similar functionality but
     different command line options.  grmic and
     grmiregistry have been rewritten.  The new tools
     gjar, gjarsigner,
     gkeytool, gorbd, grmid,
     gserialver, and gtnameserv are now
     installed. -mtune=core2 and -march=core2.-mtune=geode and -march=geode.memcpy) and block set
	(memset) was rewritten.  GCC can now pick the best
        algorithm (loop, unrolled loop, instruction with rep
        prefix or a library call) based on the size of the block being
        copied and the CPU being optimized for.  A new option
        -minline-stringops-dynamically has been added.  With
        this option string operations of unknown size are expanded such
        that small blocks are copied by in-line code, while for
	large blocks a library call is used.  This results in faster code than
	-minline-all-stringops when the library implementation is
	capable of using cache hierarchy hints.  The heuristic choosing
	the particular algorithm can be overwritten via
	-mstringop-strategy.  Newly also memset of
	values different from 0 is inlined.cld instruction before string
	operations.  Both i386 and x86-64 ABI documents mandate the direction
	flag to be clear at the entry of a function.  It is now invalid to
	set the flag in asm statement without reseting it
	afterward.-mssse3.The compiler's --help command line option has
    been extended so that it now takes an optional set of arguments.
    These arguments restrict the information displayed to specific
    classes of command line options, and possibly only a subset of
    those options.  It is also now possible to replace the descriptive
    text associated with each displayed option with an indication of
    its current value, or for binary options, whether it has been
    enabled or disabled.
Here are some examples. The following will display all the options controlling warning messages:
      --help=warnings
    
	
    Whereas this will display all the undocumented, target specific options:
      --help=target,undocumented
    
    This sequence of commands will display the binary
    optimizations that are enabled by -O3:
      gcc -c -Q -O3 --help=optimizers > /tmp/O3-opts
      gcc -c -Q -O2 --help=optimizers > /tmp/O2-opts
      diff /tmp/O2-opts /tmp/O3-opts | grep enabled
    
    Please send FSF & GNU inquiries & questions to gnu@gnu.org. There are also other ways to contact the FSF.
These pages are maintained by the GCC team.
For questions related to the use of GCC, please consult these web pages and the GCC manuals. If that fails, the gcc-help@gcc.gnu.org mailing list might help.Copyright (C) Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
| Last modified 2007-02-26 |  |