Hi! I've committed these changes to reflect the creation of 4.6 branch.
--- 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 <p>This page describes the C99 support in mainline GCC, not in any particular release. Information is also available on <a +href="gcc-4.6/c99status.html">C99 support in GCC 4.5</a>, <a href="gcc-4.5/c99status.html">C99 support in GCC 4.5</a>, <a href="gcc-4.4/c99status.html">C99 support in GCC 4.4</a>, <a href="gcc-4.3/c99status.html">C99 support in GCC 4.3</a>, <a --- develop.html 16 Dec 2010 12:08:36 -0000 1.112 +++ develop.html 14 Mar 2011 13:52:00 -0000 1.113 @@ -436,6 +436,12 @@ stages of development, branch points, an | v | GCC 4.5.2 release (2010-12-16) | + +-- GCC 4.6 branch created ------+ + | \ + v v + GCC 4.7 Stage 1 (starts 2011-03-14) + | + | v </pre> --- 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 <dl class="status"> <dt><strong>Current release series:</strong> + GCC 4.6.0 (<a href="gcc-4.6/changes.html">changes</a>) +</dt><dd> + Status: + <!--GCC 4.6 status below--> + <a href="http://gcc.gnu.org/ml/gcc/2011-03/msg00176.html">2011-03-14</a> + <!--GCC 4.6 status above--> + (regression fixes and docs only, RM approval required). + <br /> + <a + href="http://gcc.gnu.org/bugzilla/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=4.6&target_milestone=4.3.6&target_milestone=4.4.6&target_milestone=4.5.3&target_milestone=4.6.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</a>. + <a + href="http://gcc.gnu.org/bugzilla/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=4.6&target_milestone=4.3.6&target_milestone=4.4.6&target_milestone=4.5.3&target_milestone=4.6.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</a>. +</dd> + +<dt><strong>Previous release series:</strong> <a href="gcc-4.5/">GCC 4.5.2</a> (<a href="gcc-4.5/changes.html">changes</a>) </dt><dd> @@ -125,7 +142,7 @@ Any additions? Don't be shy, send them regressions</a>. </dd> -<dt><strong>Previous release series:</strong> +<dt><strong>Older maintained release series:</strong> <a href="gcc-4.4/">GCC 4.4.5</a> (<a href="gcc-4.4/changes.html">changes</a>) </dt><dd> @@ -159,19 +176,19 @@ Any additions? Don't be shy, send them </dd> <dt><strong>Active development:</strong> - GCC 4.6.0 (<a href="gcc-4.6/changes.html">changes</a>) + GCC 4.7.0 (<a href="gcc-4.7/changes.html">changes</a>) </dt><dd> Status: - <!--GCC 4.6 status below--> - <a href="http://gcc.gnu.org/ml/gcc/2011-03/msg00081.html">2011-03-07</a> - <!--GCC 4.6 status above--> - (regression fixes and docs only). + <!--GCC 4.7 status below--> + <a href="http://gcc.gnu.org/ml/gcc/2011-03/msg00178.html">2011-03-14</a> + <!--GCC 4.7 status above--> + Stage 1, open for development. <br /> <a - href="http://gcc.gnu.org/bugzilla/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=4.6&target_milestone=4.3.6&target_milestone=4.4.6&target_milestone=4.5.3&target_milestone=4.6.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 + 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</a>. <a - href="http://gcc.gnu.org/bugzilla/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=4.6&target_milestone=4.3.6&target_milestone=4.4.6&target_milestone=4.5.3&target_milestone=4.6.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 + 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</a>. </dd> --- 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 @@ +<html> + +<head> +<title>Build status for GCC 4.6</title> +</head> + +<body> +<h1>Build status for GCC 4.6</h1> + +<p>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.</p> + +<p>Instructions for running the test suite and for submitting test results +are part of +<a href="http://gcc.gnu.org/install/test.html"> +Installing GCC: Testing</a>. +Instructions for reporting a successful "make bootstrap", +including a list of information to include in such a report, are part of +<a href="http://gcc.gnu.org/install/finalinstall.html"> +Installing GCC: Final Installation</a>.</p> + +</body> +</html> --- 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 @@ +<html> + +<head> +<title>Status of C99 features in GCC 4.6</title> +</head> + +<body> +<h1>Status of C99 features in GCC 4.6</h1> + +<p>This table is based on the list in the foreword to <a +href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf">N1256</a> +(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)).</p> + +<p>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.</p> + +<p>This page describes the C99 support in GCC 4.6. Information on <a +href="../c99status.html">C99 support in mainline GCC</a> is also +available.</p> + +<p>See below the table for further notes on some issues.</p> + +<table border="1"> +<tr><th>Feature</th> + <th>Library Issue</th> + <th>Done</th> + <th>Broken</th> + <th>Missing</th> +</tr> + +<tr><td><em>restricted character set support via digraphs and + <br /><code><iso646.h></code> (originally specified in AMD1)</em></td> + <td></td> + <td>Done</td><td></td><td></td> +</tr> + +<tr><td><em>wide character library support in + <code><wchar.h></code><br />and <code><wctype.h></code> + (originally specified in AMD1)</em></td> + <td>Library Issue</td> + <td></td><td></td><td>Missing</td> +</tr> + +<tr><td><em>more precise aliasing rules via effective type</em></td> + <td></td><td>Done</td> + <td></td><td></td> +</tr> + +<tr><td><em>restricted pointers</em></td> + <td></td><td>Done</td> + <td></td><td></td> +</tr> + +<tr><td><em>variable-length arrays</em></td> + <td></td><td>Done</td><td></td> + <td></td> +</tr> + +<tr><td><em>flexible array members</em></td> + <td></td><td>Done</td><td></td><td></td> +</tr> + +<tr><td><em><code>static</code> and type qualifiers<br />in parameter array declarators</em></td> + <td></td><td>Done</td><td></td><td></td> +</tr> + +<tr><td><em>complex (and imaginary) support in <code><complex.h></code></em></td> + <td></td><td>Done</td><td></td><td></td> +</tr> + +<tr><td><em>type-generic math macros in <code><tgmath.h></code></em></td> + <td>Library Issue</td> + <td>Done</td><td></td><td></td> +</tr> + +<tr><td><em>the <code>long long int</code> type and library functions</em></td> + <td></td><td>Done</td> + <td></td><td></td> +</tr> + +<tr><td><em>increased minimum translation limits</em></td> + <td></td><td>Done</td> + <td></td><td></td> +</tr> + +<tr><td><em>additional floating-point characteristics<br />in <code><float.h></code></em></td> + <td></td><td>Done</td> + <td></td><td></td> +</tr> + +<tr><td><em>remove implicit <code>int</code></em></td> + <td></td><td>Done</td> + <td></td><td></td> +</tr> + +<tr><td><em>reliable integer division</em></td> + <td></td><td>Done</td><td></td><td></td> +</tr> + +<tr><td><em>universal character names (<code>\u</code> and <code>\U</code>)</em></td> + <td></td><td>Done</td><td></td><td></td> +</tr> + +<tr><td><em>extended identifiers</em></td> + <td></td><td></td><td></td><td>Missing</td> +</tr> + +<tr><td><em>hexadecimal floating-point constants and + <code>%a</code><br /> and <code>%A</code> + <code>printf</code>/<code>scanf</code> conversion specifiers</em></td> + <td>Library Issue</td><td>Done</td> + <td></td><td></td> +</tr> + +<tr><td><em>compound literals</em></td> + <td></td><td>Done</td><td></td> + <td></td> +</tr> + +<tr><td><em>designated initializers</em></td> + <td></td><td>Done</td><td></td> + <td></td> +</tr> + +<tr><td><em><code>//</code> comments</em></td> + <td></td><td>Done</td> + <td></td><td></td> +</tr> + +<tr><td><em>library functions in <code><inttypes.h></code></em></td> + <td>Library Issue</td> + <td></td><td></td><td></td> +</tr> + +<tr><td><em>extended integer types in <code><stdint.h></code></em></td> + <td></td> + <td></td><td></td><td>Missing</td> +</tr> + +<tr><td><em>remove implicit function declaration</em></td> + <td></td><td>Done</td> + <td></td><td></td> +</tr> + +<tr><td><em>preprocessor arithmetic<br />done in <code>intmax_t</code>/<code>uintmax_t</code></em></td> + <td></td><td>Done</td><td></td><td></td> +</tr> + +<tr><td><em>mixed declarations and code</em></td> + <td></td><td>Done</td><td></td><td></td> +</tr> + +<tr><td><em>new block scopes for selection<br />and iteration statements</em></td> + <td></td><td>Done</td><td></td><td></td> +</tr> + +<tr><td><em>integer constant type rules</em></td> + <td></td><td>Done</td><td></td><td></td> +</tr> + +<tr><td><em>integer promotion rules</em></td> + <td></td><td>Done</td><td></td><td></td> +</tr> + +<tr><td><em>macros with a variable number of arguments</em></td> + <td></td><td>Done</td> + <td></td><td></td> +</tr> + +<tr><td><em>the <code>vscanf</code> family of functions + in<br /><code><stdio.h></code> and <code><wchar.h></code></em></td> + <td>Library Issue</td> + <td>Done</td><td></td><td></td> +</tr> + +<tr><td><em>additional math library functions in <code><math.h></code></em></td> + <td>Library Issue</td> + <td></td><td></td><td></td> +</tr> + +<tr><td><em>treatment of error conditions by math library functions (<code>math_errhandling</code>)</em></td> + <td>Library Issue</td> + <td></td><td></td><td>Missing</td> +</tr> + +<tr><td><em>floating-point environment access<br />in <code><fenv.h></code></em></td> + <td>Library Issue</td> + <td></td><td></td><td></td> +</tr> + +<tr><td><em>IEC 60559 (also known as<br />IEC 559 or IEEE arithmetic) support</em></td> + <td></td><td></td><td>Broken</td><td></td> +</tr> + +<tr><td><em>trailing comma allowed in <code>enum</code> declaration</em></td> + <td></td><td>Done</td> + <td></td><td></td> +</tr> + +<tr><td><em><code>%lf</code> conversion specifier<br />allowed in <code>printf</code></em></td> + <td>Library Issue</td><td>Done</td><td></td><td></td> +</tr> + +<tr><td><em>inline functions</em></td> + <td></td><td>Done</td><td></td> + <td></td> +</tr> + +<tr><td><em>the <code>snprintf</code> family of functions in <code><stdio.h></code></em></td> + <td>Library Issue</td> + <td>Done</td><td></td><td></td> +</tr> + +<tr><td><em>boolean type in <code><stdbool.h></code></em></td> + <td></td> + <td>Done</td><td></td><td></td> +</tr> + +<tr><td><em>idempotent type qualifiers</em></td> + <td></td><td>Done</td><td></td><td></td> +</tr> + +<tr><td><em>empty macro arguments</em></td> + <td></td><td>Done</td><td></td><td></td> +</tr> + +<tr><td><em>new struct type compatibility<br />rules (tag compatibility)</em></td> + <td></td><td>Done</td><td></td><td></td> +</tr> + +<tr><td><em>additional predefined macro names</em></td> + <td></td><td></td><td></td><td>Missing</td> +</tr> + +<tr><td><em><code>_Pragma</code> preprocessing operator</em></td> + <td></td><td>Done</td><td></td><td></td> +</tr> + +<tr><td><em>standard pragmas</em></td> + <td></td><td></td><td></td><td>Missing</td> +</tr> + +<tr><td><em><code>__func__</code> predefined identifier</em></td> + <td></td><td>Done</td> + <td></td><td></td> +</tr> + +<tr><td><em><code>va_copy</code> macro</em></td> + <td></td><td>Done</td><td></td><td></td> +</tr> + +<tr><td><em>additional <code>strftime</code> conversion specifiers</em></td> + <td>Library Issue</td><td>Done</td><td></td><td></td> +</tr> + +<tr><td><em>deprecate <code>ungetc</code> at the<br />beginning of a binary file</em></td> + <td>Library Issue</td> + <td></td><td></td><td></td> +</tr> + +<tr><td><em>remove deprecation of<br />aliased array parameters</em></td> + <td></td><td>Done</td> + <td></td><td></td> +</tr> + +<tr><td><em>conversion of array to pointer not limited to lvalues</em></td> + <td></td><td>Done</td> + <td></td><td></td> +</tr> + +<tr><td><em>relaxed constraints on aggregate<br />and union initialization</em></td> + <td></td><td>Done</td> + <td></td><td></td> +</tr> + +<tr><td><em>relaxed restrictions on portable header names</em></td> + <td></td><td>Done</td> + <td></td><td></td> +</tr> + +<tr><td><em><code>return</code> without expression not permitted + in<br />function that returns a value (and vice versa)</em></td> + <td></td><td>Done</td> + <td></td><td></td> +</tr> + +<tr><th>Feature</th> + <th>Library Issue</th> + <th>Done</th> + <th>Broken</th> + <th>Missing</th> +</tr> +</table> + +<h2>Further notes</h2> + +<ul> + +<li>cpp has limited support for multibyte character sets.</li> + +<li>IEC 60559 is IEEE 754 floating point. This works if and only if +the hardware is perfectly compliant, but GCC does not define +<code>__STDC_IEC_559__</code> or implement the associated standard +pragmas; nor do some options such as <code>-frounding-math</code> 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.</li> + +<li>Compiler support is needed for thorough support of <code>math_errhandling</code>; see +messages <a +href="http://sources.redhat.com/ml/libc-hacker/2000-06/msg00008.html">1</a>, +<a +href="http://sources.redhat.com/ml/libc-hacker/2000-06/msg00014.html">2</a>, +<a +href="http://sources.redhat.com/ml/libc-hacker/2000-06/msg00015.html">3</a> +on this subject to libc-hacker. The compiler needs to mark its output +from compilations using <code>-fno-trapping-math</code> +or <code>-fno-math-errno</code>, possibly using +the <code>.gnu_attribute</code> 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 <code>math_errhandling</code> 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.</li> + +<li>GCC doesn't have <code>wprintf</code>, <code>wscanf</code> and +<code>wcsftime</code> format checking support.</li> + +<li>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).</li> + +<li><code><stdint.h></code> 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 <code>char</code>, GCC retains this definition although it +is not permitted by C99.</li> + +<li>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 <a href="http://sourceware.org/ml/libc-alpha/2009-04/msg00005.html">GNU +C Library patch</a> for this is pending review.</li> + +<li><code>const</code>-qualified compound literals could share storage +with each other and with string literals, but currently don't.</li> + +<li>The information provided by <code>static</code> in parameter array +declarators is not used for optimization. It might make sense to use +it in future in conjunction with <a href="../projects/prefetch.html">work +on prefetching</a>.</li> + +<li>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 <code><stdint.h></code> and +<code><inttypes.h></code> entries have been separated, but are a +single entry in C99.</li> + +</ul> + +</body> +</html> --- 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 @@ +<html> + +<head> +<title>GCC 4.7 Release Series — Changes, New Features, and Fixes</title> +</head> + +<!-- GCC maintainers, please do not hesitate to update/contribute entries + concerning those part of GCC you maintain! 2002-03-23, Gerald. +--> + +<body> +<h1>GCC 4.7 Release Series<br />Changes, New Features, and Fixes</h1> + +<h2>Caveats</h2> + + <ul> + <li>...</li> + </ul> + +<h2>General Optimizer Improvements</h2> + + <ul> + <li>...</li> + </ul> + +<h2>New Languages and Language specific improvements</h2> + +<h3>Ada</h3> + +<h3>C family</h3> + +<h3>C++</h3> + + <h4>Runtime Library (libstdc++)</h4> + +<h3>Fortran</h3> + +<h3>Java (GCJ)</h3> + +<h2 id="targets">New Targets and Target Specific Improvements</h2> + +<h3>IA-32/x86-64</h3> + <ul> + <li>...</li> + </ul> + +<h3>MIPS</h3> + +<h3 id="picochip">picochip</h3> + +<h2>Documentation improvements</h2> + +<h2>Other significant improvements</h2> + +</body> +</html> --- 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 @@ +<html> + +<head> +<title>GCC 4.7 Release Criteria</title> </head> + +<body> + +<h1>GCC 4.7 Release Criteria</h1> + +<p>This page provides the release criteria for GCC 4.7.</p> + +<p>The GCC team (and, in particular, the Release Manager) will attempt +to meet these criteria before the release of GCC 4.7.</p> + +<p>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.</p> + +<p>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.</p> + +<h1>Languages</h1> + +<p>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.</p> + +<h1>Primary and Secondary Platforms</h1> + +<p>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.</p> + +<p>Our release criteria for primary platforms is:</p> +<ul> + +<li> +<p>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.</p> + +<p>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.</p> +</li> + +<li>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.</li> +</ul> + +<p>Our release criteria for the secondary platforms is:</p> +<ul> +<li>The compiler bootstraps successfully, and the C++ runtime library +builds.</li> + +<li>The DejaGNU testsuite has been run, and a substantial majority of +the tests pass.</li> +</ul> + +<p>There are no release criteria for tertiary platforms.</p> + +<p>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.</p> + +<h2>Primary Platform List</h2> + +<p>The primary platforms are:</p> +<ul> +<li>arm-linux-gnueabi</li> +<li>i386-unknown-freebsd</li> +<li>i686-pc-linux-gnu</li> +<li>mipsisa64-elf</li> +<li>powerpc64-unknown-linux-gnu</li> +<li>sparc-sun-solaris2.10</li> +<li>x86_64-unknown-linux-gnu</li> +</ul> + +<h2>Secondary Platform List</h2> + +<p>The secondary platforms are:</p> +<ul> +<li>hppa2.0w-hp-hpux11.11</li> +<li>powerpc-ibm-aix5.3.0.0</li> +<li>i686-apple-darwin</li> +<li>i686-pc-cygwin</li> +<li>i686-mingw32</li> +<li>ia64-unknown-linux-gnu</li> +<li>s390x-linux-gnu</li> +</ul> + +<h1>Code Quality and Compilation Time</h1> + +<p>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).</p> + +<p>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.</p> + +</body> +</html> Jakub