This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [C++/Obj-C++ PATCH] Fix Objective-C++ breakage
On Thu, 27 Mar 2008, Richard Guenther wrote:
> On Thu, Mar 27, 2008 at 11:34 PM, Kaveh R. GHAZI <ghazi@caip.rutgers.edu> wrote:
> > On Thu, 27 Mar 2008, Mark Mitchell wrote:
> >
> > > I think that having all GCC developers build/test all languages all the
> > > time is overkill. I'm all for testing, and I certainly think that
> > > people should make an effort to test languages that it seems like their
> > > paches might be likely to impact (e.g., major C++ changes are likely to
> > > affect Objectie-C++), but adding hours to everyones build/test cycles
> > > seems like a bad tradeoff. Instead, people who break Ada,
> > > Objective-C++, etc., should be responsible to requests to fix the
> > > breakage, and willing to revert their patches if no fix is immediately
> > > found.
> >
> >
> > I think a middle ground could be that we enable building objc++ by
> > default, but not run its testsuite unless it is specifically enabled.
> >
> > This would catch the type of bootstrap errors we've seen several times
> > recently without causing significant extra time in the overall build time.
> > I think there's like three extra .o files necessary to link cc1objcplus,
> > the remainder are reused modules from the C and C++ frontends. It
> > certainly wouldn't be "adding hours" to everyone's test cycle. And
> > there's no objc++ specific target library AFAICT, so it's really cheap to
> > activate.
> >
> > Does this sound like a balanced and fair compromise?
>
> Even the 130 tests of the objc++ testsuite won't hurt anyone. Building
> and testing libjava is what is most of the pain ;)
> Richard.
I guess you're right :-) we might as well throw in the few tests that it
has. After all, there are thousands of tests in the other directories.
I double running the obj-c++ tests will make a dent.
I'll do a bootstrap --enable-langauges=all and run the testsuite with and
without the patch below to see what the actual timing difference is.
Assuming it's "really small" I hope no one objects to this patch?
--Kaveh
2008-03-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* config-lang.in (build_by_default): Build obj-c++ by default.
diff -rup orig/egcc-SVN20080327/gcc/objcp/config-lang.in egcc-SVN20080327/gcc/objcp/config-lang.in
--- orig/egcc-SVN20080327/gcc/objcp/config-lang.in 2008-03-14 00:34:31.000000000 +0100
+++ egcc-SVN20080327/gcc/objcp/config-lang.in 2008-03-28 00:58:54.000000000 +0100
@@ -28,9 +28,6 @@ language="obj-c++"
compilers="cc1objplus\$(exeext)"
-# Per GCC Steering Committee.
-build_by_default="no"
-
# By building the Objective-C and C++ front-ends, we will get
# the object files we need, along with the libraries (libstdc++,
# libobjc).