This is the mail archive of the gcc@gcc.gnu.org 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]

Re: slow V3 configures (was Re: ICE during bootstrap.)



| On Tue, Dec 05, 2000 at 11:53:57AM -0800, Benjamin Kosnik wrote:
| >
| > Following phil's advice and changing to
| > 
| >    test-for-cached-answer-oh-it's-there-never-mind
| >    else
| >      push-current-language-on-stack
| >      set-current-language-to-C++
| >      test and cache
| >      pop-language-from-stack
| >    end   
| > 
| > seems like the best approach.
| 
| The odd thing is...  this is what should be happening now.  All the
| push-set-test-cache-pop stuff is done inside the list of commands "to be
| run if the value isn't cached".  We still get serious pauses.
| 
| Anyhow, I patched all the math tests to explictly do the same test that
| AC_CACHE_VAL does before calling AC_CACHE_VAL itself.  The speedup is
| /considerable/.  The config.cache and bits/c++config.h results are identical.

Hi!

Could you detail this a little bit?  I don't understand what you
mean.  You seem to say your wrapped AC_CACHE_VAL within AC_CACHE_VAL,
right?

I never saw the code you are referring too, so I might say something
stupid, but:

1. One huge AC_LANG_PUSH/POP pair is definitely the best way to go
2. If you can't, be sure to put them *inside* the AC_CACHE_VAL, don't
   wrap it.

| One downside:  it's AC_CACHE_VAL that does the printing of "(cached)".
| My change means that a cached value still shows on the screen as
| 
|     checking for _expf declaration... no
|     checking for _fabsf declaration... no
|     checking for _floorf declaration... no
|     checking for _fmodf declaration... no
|     checking for _frexpf declaration... no
|     checking for _ldexpf declaration... no
| 
| etc, like regular tests.  Just a /lot/ faster.  :-)  This may not be
| acceptable; what do y'all think?  I'm hesitant to try and use the $ac_*
| variables controlling echo(1)'s no-newline behavior, for some reason.

You're right not to depend on these, their name changed in CVS
Autoconf.


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