This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: testing policy for C/C++ front end changes

On 11/10/2014 05:03 AM, Richard Biener wrote:
On Mon, Nov 10, 2014 at 5:50 AM, Jeff Law <> wrote:
On 11/09/14 16:13, Sandra Loosemore wrote:

and noticed that the policy is to require a complete bootstrap for C
changes, but not for C++.  Given that GCC's implementation language is
now C++, isn't that backwards?  I'm not trying to weasel out of the
extra work for my patch, just curious if the web site guidelines have
gotten bit-rotten after the switch to C++, or if the SC did indeed
consider the issue already and the published policy is accurate.

They've bit-rotted a bit.  Interested in cons-ing up an update?

Bootstrap should now be required for both C and C++ FE changes
_and_ for libstdc++ changes as well given we start to pull in
libstdc++ headers during bootstrap.

Hmmmm. How about the attached patch? I also added a blurb about target-specific patches that I think reflects current practice.


? htdocs/contribute.html.~1.85.~
Index: htdocs/contribute.html
RCS file: /cvs/gcc/wwwdocs/htdocs/contribute.html,v
retrieving revision 1.85
diff -u -p -r1.85 contribute.html
--- htdocs/contribute.html	27 Jun 2014 11:12:18 -0000	1.85
+++ htdocs/contribute.html	10 Nov 2014 15:19:37 -0000
@@ -100,9 +100,13 @@ list</a>.</p>
 <h3>Which tests to perform</h3>
 <p>If your change is to code that is not in a front end, or is to the
-C front end, you must perform a complete build of GCC and the runtime
+C or C++ front ends or <code>libgcc</code> or <code>libstdc++</code>
+libraries, you must perform a complete build of GCC and the runtime
 libraries included with it, on at least one target.  You must
-bootstrap all default languages, not just C, and run all testsuites.
+build all default languages, not just C, and run all testsuites.
+If your change is specific to a particular target back end, you need only
+build and test that target; otherwise a complete bootstrap on a 
+primary platform designated in the current release criteria is required.
 For a normal native configuration, running</p>
 make bootstrap
@@ -111,19 +115,9 @@ make -k check
 <p>from the top level of the GCC tree (<strong>not</strong> the
 <code>gcc</code> subdirectory) will accomplish this.</p>
-<p>If your change is to the C++ front end, you should rebuild the compiler,
-<code>libstdc++</code>, <code>libjava</code> and run the C++ testsuite.
-If you already did a complete C,C++,Java bootstrap from your build
-directory before, you can use the following:</p>
-make clean-target-libstdc++-v3                    # clean libstdc++ and ...
-test -d */libjava &amp;&amp; make -C */libjava clean-nat  # ... parts of libjava
-make all-target-libstdc++-v3 all-target-libjava   # rebuild compiler and libraries
-make -k check-c++                                 # run C++/libstdc++ testsuite
 <p>If your change is to a front end other than the C or C++ front end,
-or a runtime library other than <code>libgcc</code>, you need to verify
+or a runtime library other than <code>libgcc</code> or
+<code>libstdc++</code>, you need to verify
 only that the runtime library for that language still builds and the
 tests for that language have not regressed.  (Most languages have
 tests stored both in the <code>gcc</code> subdirectory, and in the

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]