From patchwork Mon Mar 14 17:32:50 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jakub Jelinek X-Patchwork-Id: 86781 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) by ozlabs.org (Postfix) with SMTP id A7FEFB6F12 for ; Tue, 15 Mar 2011 04:33:24 +1100 (EST) Received: (qmail 25071 invoked by alias); 14 Mar 2011 17:33:19 -0000 Received: (qmail 24941 invoked by uid 22791); 14 Mar 2011 17:33:04 -0000 X-SWARE-Spam-Status: No, hits=-5.1 required=5.0 tests=AWL, BAYES_50, RCVD_IN_DNSWL_HI, SPF_HELO_PASS, T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 14 Mar 2011 17:32:53 +0000 Received: from int-mx12.intmail.prod.int.phx2.redhat.com (int-mx12.intmail.prod.int.phx2.redhat.com [10.5.11.25]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id p2EHWqMk023819 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Mon, 14 Mar 2011 13:32:52 -0400 Received: from tyan-ft48-01.lab.bos.redhat.com (tyan-ft48-01.lab.bos.redhat.com [10.16.42.4]) by int-mx12.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id p2EHWph6010266 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Mon, 14 Mar 2011 13:32:52 -0400 Received: from tyan-ft48-01.lab.bos.redhat.com (localhost.localdomain [127.0.0.1]) by tyan-ft48-01.lab.bos.redhat.com (8.14.4/8.14.4) with ESMTP id p2EHWpB5025991 for ; Mon, 14 Mar 2011 18:32:51 +0100 Received: (from jakub@localhost) by tyan-ft48-01.lab.bos.redhat.com (8.14.4/8.14.4/Submit) id p2EHWoZO025989 for gcc-patches@gcc.gnu.org; Mon, 14 Mar 2011 18:32:50 +0100 Date: Mon, 14 Mar 2011 18:32:50 +0100 From: Jakub Jelinek To: gcc-patches@gcc.gnu.org Subject: [DOC PATCH] 4.6 branching changes Message-ID: <20110314173250.GP30899@tyan-ft48-01.lab.bos.redhat.com> Reply-To: Jakub Jelinek MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.5.21 (2010-09-15) X-IsSubscribed: yes Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Hi! I've committed these changes to reflect the creation of 4.6 branch. Jakub --- c99status.html 6 Apr 2010 11:34:44 -0000 1.55 +++ c99status.html 14 Mar 2011 13:52:00 -0000 1.56 @@ -21,6 +21,7 @@ paragraph 6) do not count as library iss

This page describes the C99 support in mainline GCC, not in any particular release. Information is also available on C99 support in GCC 4.5, C99 support in GCC 4.5, C99 support in GCC 4.4, C99 support in GCC 4.3, --- index.html 7 Mar 2011 10:53:25 -0000 1.778 +++ index.html 14 Mar 2011 17:25:47 -0000 1.780 @@ -108,6 +108,23 @@ Any additions? Don't be shy, send them

Current release series: + GCC 4.6.0 (changes) +
+ Status: + + 2011-03-14 + + (regression fixes and docs only, RM approval required). +
+ Serious + regressions. + All + regressions. +
+ +
Previous release series: GCC 4.5.2 (changes)
@@ -125,7 +142,7 @@ Any additions? Don't be shy, send them regressions.
-
Previous release series: +
Older maintained release series: GCC 4.4.5 (changes)
@@ -159,19 +176,19 @@ Any additions? Don't be shy, send them
Active development: - GCC 4.6.0 (changes) + GCC 4.7.0 (changes)
Status: - - 2011-03-07 - - (regression fixes and docs only). + + 2011-03-14 + + Stage 1, open for development.
Serious + href="http://gcc.gnu.org/bugzilla/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=4.7&target_milestone=4.3.6&target_milestone=4.4.6&target_milestone=4.5.3&target_milestone=4.6.0&target_milestone=4.7.0&known_to_fail_type=allwordssubstr&known_to_work_type=allwordssubstr&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&gcchost_type=allwordssubstr&gcchost=&gcctarget_type=allwordssubstr&gcctarget=&gccbuild_type=allwordssubstr&gccbuild=&keywords_type=allwords&keywords=&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=SUSPENDED&bug_status=WAITING&bug_status=REOPENED&priority=P1&priority=P2&priority=P3&emailtype1=substring&email1=&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0=">Serious regressions. All + href="http://gcc.gnu.org/bugzilla/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=4.7&target_milestone=4.3.6&target_milestone=4.4.6&target_milestone=4.5.3&target_milestone=4.6.0&target_milestone=4.7.0&known_to_fail_type=allwordssubstr&known_to_work_type=allwordssubstr&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&gcchost_type=allwordssubstr&gcchost=&gcctarget_type=allwordssubstr&gcctarget=&gccbuild_type=allwordssubstr&gccbuild=&keywords_type=allwords&keywords=&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=SUSPENDED&bug_status=WAITING&bug_status=REOPENED&emailtype1=substring&email1=&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0=">All regressions.
--- gcc-4.6/buildstat.html 1 Jan 1970 00:00:00 -0000 +++ gcc-4.6/buildstat.html 14 Mar 2011 13:52:00 -0000 1.1 @@ -0,0 +1,24 @@ + + + +Build status for GCC 4.6 + + + +

Build status for GCC 4.6

+ +

This list summarizes build reports for GCC 4.6.x, with links to the +archived mail messages that reported the builds and to test result +summaries.

+ +

Instructions for running the test suite and for submitting test results +are part of + +Installing GCC: Testing. +Instructions for reporting a successful "make bootstrap", +including a list of information to include in such a report, are part of + +Installing GCC: Final Installation.

+ + + --- gcc-4.6/c99status.html 1 Jan 1970 00:00:00 -0000 +++ gcc-4.6/c99status.html 14 Mar 2011 13:52:00 -0000 1.1 @@ -0,0 +1,372 @@ + + + +Status of C99 features in GCC 4.6 + + + +

Status of C99 features in GCC 4.6

+ +

This table is based on the list in the foreword to N1256 +(ISO/IEC 9899:1999 (E), consolidated with ISO/IEC 9899:1999/Cor.1:2001 +(E), ISO/IEC 9899:1999/Cor.2:2004 (E) and ISO/IEC 9899:1999/Cor.3:2007 +(E)).

+ +

Where "Library Issue" is listed in conjunction with some other +status, this means that some compiler support is needed for the +library support, or desirable in conjunction with it. Note that the +headers required of conforming freestanding implementations (clause 4 +paragraph 6) do not count as library issues.

+ +

This page describes the C99 support in GCC 4.6. Information on C99 support in mainline GCC is also +available.

+ +

See below the table for further notes on some issues.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FeatureLibrary IssueDoneBrokenMissing
restricted character set support via digraphs and +
<iso646.h> (originally specified in AMD1)
Done
wide character library support in + <wchar.h>
and <wctype.h> + (originally specified in AMD1)
Library IssueMissing
more precise aliasing rules via effective typeDone
restricted pointersDone
variable-length arraysDone
flexible array membersDone
static and type qualifiers
in parameter array declarators
Done
complex (and imaginary) support in <complex.h>Done
type-generic math macros in <tgmath.h>Library IssueDone
the long long int type and library functionsDone
increased minimum translation limitsDone
additional floating-point characteristics
in <float.h>
Done
remove implicit intDone
reliable integer divisionDone
universal character names (\u and \U)Done
extended identifiersMissing
hexadecimal floating-point constants and + %a
and %A + printf/scanf conversion specifiers
Library IssueDone
compound literalsDone
designated initializersDone
// commentsDone
library functions in <inttypes.h>Library Issue
extended integer types in <stdint.h>Missing
remove implicit function declarationDone
preprocessor arithmetic
done in intmax_t/uintmax_t
Done
mixed declarations and codeDone
new block scopes for selection
and iteration statements
Done
integer constant type rulesDone
integer promotion rulesDone
macros with a variable number of argumentsDone
the vscanf family of functions + in
<stdio.h> and <wchar.h>
Library IssueDone
additional math library functions in <math.h>Library Issue
treatment of error conditions by math library functions (math_errhandling)Library IssueMissing
floating-point environment access
in <fenv.h>
Library Issue
IEC 60559 (also known as
IEC 559 or IEEE arithmetic) support
Broken
trailing comma allowed in enum declarationDone
%lf conversion specifier
allowed in printf
Library IssueDone
inline functionsDone
the snprintf family of functions in <stdio.h>Library IssueDone
boolean type in <stdbool.h>Done
idempotent type qualifiersDone
empty macro argumentsDone
new struct type compatibility
rules (tag compatibility)
Done
additional predefined macro namesMissing
_Pragma preprocessing operatorDone
standard pragmasMissing
__func__ predefined identifierDone
va_copy macroDone
additional strftime conversion specifiersLibrary IssueDone
deprecate ungetc at the
beginning of a binary file
Library Issue
remove deprecation of
aliased array parameters
Done
conversion of array to pointer not limited to lvaluesDone
relaxed constraints on aggregate
and union initialization
Done
relaxed restrictions on portable header namesDone
return without expression not permitted + in
function that returns a value (and vice versa)
Done
FeatureLibrary IssueDoneBrokenMissing
+ +

Further notes

+ +
    + +
  • cpp has limited support for multibyte character sets.
  • + +
  • IEC 60559 is IEEE 754 floating point. This works if and only if +the hardware is perfectly compliant, but GCC does not define +__STDC_IEC_559__ or implement the associated standard +pragmas; nor do some options such as -frounding-math to +enable the pragmas globally work in all cases (for example, required +exceptions may not be generated) and contracting expressions (e.g., +using fused multiply-add) is not restricted to source-language +expressions as required by C99.
  • + +
  • Compiler support is needed for thorough support of math_errhandling; see +messages 1, +2, +3 +on this subject to libc-hacker. The compiler needs to mark its output +from compilations using -fno-trapping-math +or -fno-math-errno, possibly using +the .gnu_attribute mechanism, to indicate that built-in +function optimizations may have been applied that mean that not all +calls report error status in a particular way; the static linker +needs to put this information in executables and shared libraries and +the C library needs to use it to set math_errhandling at +startup to a conservatively correct value based on the information +from the compiler. There is currently some limited GNU C Library +support that only conforms as long as the above options are not used +anywhere in the program.
  • + +
  • GCC doesn't have wprintf, wscanf and +wcsftime format checking support.
  • + +
  • GCC does not support the Annex G imaginary types and complex +multiplication and division have excess overflows at runtime (although +not beyond those permitted by C99).
  • + +
  • <stdint.h> is provided by GCC, or fixed where +the system headers provide a nonconforming version, on some but not +yet all systems. On systems where types in this header have been +defined as char, GCC retains this definition although it +is not permitted by C99.
  • + +
  • Some of the C99 predefined macros represent properties of the +compiler and library together and so defining them for the whole +translation unit requires cooperation with the library; +a GNU +C Library patch for this is pending review.
  • + +
  • const-qualified compound literals could share storage +with each other and with string literals, but currently don't.
  • + +
  • The information provided by static in parameter array +declarators is not used for optimization. It might make sense to use +it in future in conjunction with work +on prefetching.
  • + +
  • The list above differs from that in N1256 as follows: +"LIA compatibility annex" is removed, since it refers to C99's +conformance to another standard rather than something for C +implementations to do. The <stdint.h> and +<inttypes.h> entries have been separated, but are a +single entry in C99.
  • + +
+ + + --- gcc-4.7/changes.html 1 Jan 1970 00:00:00 -0000 +++ gcc-4.7/changes.html 14 Mar 2011 13:52:00 -0000 1.1 @@ -0,0 +1,56 @@ + + + +GCC 4.7 Release Series — Changes, New Features, and Fixes + + + + + +

GCC 4.7 Release Series
Changes, New Features, and Fixes

+ +

Caveats

+ +
    +
  • ...
  • +
+ +

General Optimizer Improvements

+ +
    +
  • ...
  • +
+ +

New Languages and Language specific improvements

+ +

Ada

+ +

C family

+ +

C++

+ +

Runtime Library (libstdc++)

+ +

Fortran

+ +

Java (GCJ)

+ +

New Targets and Target Specific Improvements

+ +

IA-32/x86-64

+
    +
  • ...
  • +
+ +

MIPS

+ +

picochip

+ +

Documentation improvements

+ +

Other significant improvements

+ + + --- gcc-4.7/criteria.html 1 Jan 1970 00:00:00 -0000 +++ gcc-4.7/criteria.html 14 Mar 2011 13:52:00 -0000 1.1 @@ -0,0 +1,145 @@ + + + +GCC 4.7 Release Criteria + + + +

GCC 4.7 Release Criteria

+ +

This page provides the release criteria for GCC 4.7.

+ +

The GCC team (and, in particular, the Release Manager) will attempt +to meet these criteria before the release of GCC 4.7.

+ +

In all cases, these criteria represent the minimum functionality +required in order to make the release. If this level of minimum +functionality is not provided by a release candidate, then that +candidate will probably not become the eventual release. However, a +release candidate that does meet these criteria may not necessarily +become the official release; there may be other unforeseen issues that +prevent release. For example, if support for the Intel Pentium II is +required by the release criteria, it is nevertheless unlikely that GCC +would be released even though it did not support the Intel Pentium.

+ +

Because the development of GCC is largely dependent on volunteers, +the Release Manager and/or Steering Committee may eventually have to +decide whether to make a release, even if the criteria here are not +met. For example, if no volunteer can be found to verify correct +operation of a particular application program on a particular system, +then that criterion may be abandoned.

+ +

Languages

+ +

GCC supports several programming languages, including Ada, C, C++, +Objective-C, Fortran, and Java. For the purposes of making releases, +however, we will consider primarily C and C++, as those are the +languages used by the vast majority of users. Therefore, if, below, +the criteria indicate, for example, that there should be no DejaGNU +regressions on a particular platform, that criteria should be read as +applying only to DejaGNU regressions within the C, C++, and C++ +runtime library testsuites.

+ +

Primary and Secondary Platforms

+ +

GCC targets a vast number of platforms. We have classified these +platforms into three categories: primary, secondary, and tertiary. +Primary platforms are popular systems, both in the sense that there +are many such systems in existence and in the sense that GCC is used +frequently on those systems. Secondary platforms are also popular +systems, but are either somewhat less popular than the primary +systems, or are considered duplicative from a testing perspective. +All platforms that are neither primary nor secondary are tertiary +platforms.

+ +

Our release criteria for primary platforms is:

+
    + +
  • +

    All regressions open in Bugzilla have been analyzed, and all are +deemed as either unlikely to affect most users, or are determined to +have a minimal impact on affected users. For example, a +typographical error in a diagnostic might be relatively common, but +also has minimal impact on users.

    + +

    In general, regressions where the compiler generates incorrect +code, or refuses to compile a valid program, will be considered to +be sufficiently severe to block the release, unless there are +substantial mitigating factors.

    +
  • + +
  • The DejaGNU testsuite has been run, and compared with a run of +the testsuite on the previous release of GCC, and no regressions are +observed.
  • +
+ +

Our release criteria for the secondary platforms is:

+
    +
  • The compiler bootstraps successfully, and the C++ runtime library +builds.
  • + +
  • The DejaGNU testsuite has been run, and a substantial majority of +the tests pass.
  • +
+ +

There are no release criteria for tertiary platforms.

+ +

In contrast to previous releases, we have removed all mention of +explicit application testing. It is our experience that, with the +resources available, it is very difficult to methodically carry out +such testing. However, we expect that interested users will submit +bug reports for problems encountered building and using popular +packages. Therefore, we do not intend the elimination of application +testing from our criteria to imply that we will not pay attention to +application testing.

+ +

Primary Platform List

+ +

The primary platforms are:

+
    +
  • arm-linux-gnueabi
  • +
  • i386-unknown-freebsd
  • +
  • i686-pc-linux-gnu
  • +
  • mipsisa64-elf
  • +
  • powerpc64-unknown-linux-gnu
  • +
  • sparc-sun-solaris2.10
  • +
  • x86_64-unknown-linux-gnu
  • +
+ +

Secondary Platform List

+ +

The secondary platforms are:

+
    +
  • hppa2.0w-hp-hpux11.11
  • +
  • powerpc-ibm-aix5.3.0.0
  • +
  • i686-apple-darwin
  • +
  • i686-pc-cygwin
  • +
  • i686-mingw32
  • +
  • ia64-unknown-linux-gnu
  • +
  • s390x-linux-gnu
  • +
+ +

Code Quality and Compilation Time

+ +

In addition to correctness issues (e.g., generating incorrect code, +or issuing an invalid diagnostic, or refusing to compile valid code), +we will also consider code quality (i.e., the speed with which the +generated code executes) and compilation time (i.e., the speed with +which the compiler executes).

+ +

It is difficult, if not impossible, to set out specific criteria +for determining what level of regression is acceptable for these issues. +In contrast to most correctness issues, where nothing short of correct +is acceptable, it is reasonable to trade off behavior for code quality +and compilation time. For example, it may be acceptable, when +compiling with optimization, if the compiler is slower, but generates +superior code. It may also be acceptable for the compiler to generate +inferior code on some test cases if it generates substantially +superior code on other test cases. Therefore, the Release Manager, or +parties to whom he or she delegates responsibility, will make +determinations on a case-by-case basis as to whether or not a code +quality or compilation time regression is sufficiently severe as to +merit blocking the release.

+ + +