Movatterモバイル変換


[0]ホーム

URL:


GCC 4.8 Release Series
Changes, New Features, and Fixes

Caveats

GCC now uses C++ as its implementation language. This means thatto build GCC from sources, you will need a C++ compiler thatunderstands C++ 2003. For more details on the rationale and specificchanges, please refer to theC++ conversionpage.

To enable the Graphite framework for loop optimizations you nowneed CLooG version 0.18.0 and ISL version 0.11.1. Both can be obtainedfrom theGCC infrastructuredirectory. The installation manual containsmore information about requirements to build GCC.

GCC now uses a more aggressive analysis to derive an upper bound forthe number of iterations of loops using constraints imposed by languagestandards. This may cause non-conforming programs to no longer work asexpected, such as SPEC CPU 2006 464.h264ref and 416.gamess. A newoption,-fno-aggressive-loop-optimizations, was addedto disable this aggressive analysis. In some loops that have knownconstant number of iterations, but undefined behavior is known to occurin the loop before reaching or during the last iteration, GCC will warnabout the undefined behavior in the loop instead of deriving lower upperbound of the number of iterations for the loop. The warningcan be disabled with-Wno-aggressive-loop-optimizations.

On ARM, a bug has been fixed in GCC's implementation of the AAPCSrules for the layout of vectors that could lead to wrong code beinggenerated. Vectors larger than 8 bytes in size are now by defaultaligned to an 8-byte boundary. This is an ABI change: code that makesexplicit use of vector types may be incompatible with binary objectsbuilt with older versions of GCC. Auto-vectorized code is not affectedby this change.

More information on porting to GCC 4.8 from previous versions of GCC can be found in theporting guide for this release.

General Optimizer Improvements (and Changes)

New Languages and Language specific improvements

C family

C++

Runtime Library (libstdc++)

Fortran

Go

New Targets and Target Specific Improvements

AArch64

ARM

AVR

IA-32/x86-64

FRV

MIPS

PowerPC / PowerPC64 / RS6000

RX

S/390, System z

SH

SPARC

TILE-Gx

V850

XStormy16

Operating Systems

OpenBSD

Windows (Cygwin)

GCC 4.8.1

This is thelistof problem reports (PRs) from GCC's bug tracking system that areknown to be fixed in the 4.8.1 release. This list might not becomplete (that is, it is possible that some PRs that have been fixedare not listed here).

The C++11<chrono>std::chrono::system_clock andstd::chrono::steady_clock classes have changed ABI inGCC 4.8.1, they both are now separate (never typedefs of each other),both usestd::chrono::nanoseconds resolution, on mostGNU/Linux configurationsstd::chrono::steady_clock is nowfinally monotonic, and both classes are mangled differently than inthe previous GCC releases.std::chrono::system_clock::now() withstd::chrono::microseconds resp.std::chrono::seconds resolution is still exported for backwardscompatibility with default configured libstdc++. Note that libstdc++configured with--enable-libstdcxx-time= used to be ABIincompatible with default configured libstdc++ for those two classes andno ABI compatibility can be offered for those configurations, so any C++11code that uses those classes and has been compiled and linked againstlibstdc++ configured with the non-default--enable-libstdcxx-time= configuration option needs to berecompiled.

GCC 4.8.2

This is thelistof problem reports (PRs) from GCC's bug tracking system that areknown to be fixed in the 4.8.2 release. This list might not becomplete (that is, it is possible that some PRs that have been fixedare not listed here).

GCC 4.8.3

This is thelistof problem reports (PRs) from GCC's bug tracking system that areknown to be fixed in the 4.8.3 release. This list might not becomplete (that is, it is possible that some PRs that have been fixedare not listed here).

Support for the new powerpc64le-linux platform has been added. Itdefaults to generating code that conforms to the ELFV2 ABI.

GCC 4.8.4

This is thelistof problem reports (PRs) from GCC's bug tracking system that areknown to be fixed in the 4.8.4 release. This list might not becomplete (that is, it is possible that some PRs that have been fixedare not listed here).

GCC 4.8.5

This is thelistof problem reports (PRs) from GCC's bug tracking system that areknown to be fixed in the 4.8.5 release. This list might not becomplete (that is, it is possible that some PRs that have been fixedare not listed here).

For questions related to the use of GCC,please consult these web pages and theGCC manuals. If that fails,thegcc-help@gcc.gnu.orgmailing list might help.Comments on these web pages and the development of GCC are welcome on ourdeveloper list atgcc@gcc.gnu.org.All ofour listshave public archives.

Copyright (C)Free Software Foundation, Inc.Verbatim copying and distribution of this entire article ispermitted in any medium, provided this notice is preserved.

These pages aremaintained by the GCC team.Last modified 2025-10-05.


[8]ページ先頭

©2009-2026 Movatter.jp