This is the mail archive of the libstdc++@sources.redhat.com mailing list for the libstdc++ project.


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

Re: V3 PATCH: Some complex<> cleanup (1/2)


> Yes, stamp-limits exists, though it becomes clearer now that it probably
> should not. :-)

yep. It should not.

> checking <ctype> for Solaris 2.6,7,8... no
> checking <ctype> for Solaris 2.5.1... yes
> checking for strtof... (cached) yes
> checking for strtold declaration... no
> checking for unistd.h... (cached) yes
> checking for getpagesize... (cached) yes
> checking for working mmap... (cached) no
> updating cache ../config.cache
> checking for locale.h... (cached) yes
> checking for LC_MESSAGES... (cached) yes
> checking for interface version number... v3
> checking for --with-gxx-include-dir... no
> checking for --enable-version-specific-runtime-libs... no
> checking for /play/tmp/7/i686-pc-udk/libstdc++-v3/include
> creating ./config.status
> running mkc++config
> running mknumeric_limits
> /play/tmp/7/i686-pc-udk/libstdc++-v3/../../gcc/g++ -B/play/tmp/7/i686-pc-udk/lib
> stdc++-v3/../../gcc/  -I/play/tmp/7/i686-pc-udk/libstdc++-v3/include     -o /pla
> y/tmp/7/i686-pc-udk/libstdc++-v3/src/gen-num-limits /play/egcs/libstdc++-v3/src/
> gen-num-limits.cc      -nodefaultlibs -lgcc -lc
> In file included from /play/egcs/libstdc++-v3/src/gen-num-limits.cc:52:
> /play/tmp/7/gcc/include/stdio.h:402:42: cstdio: No such file or directory
> In file included from /play/egcs/libstdc++-v3/src/gen-num-limits.cc:53:
> /play/tmp/7/gcc/include/signal.h:140:43: csignal: No such file or directory
> In file included from /play/egcs/libstdc++-v3/src/gen-num-limits.cc:54:
> /play/tmp/7/gcc/include/setjmp.h:75:43: csetjmp: No such file or directory
> In file included from /play/egcs/libstdc++-v3/src/gen-num-limits.cc:55:
> /play/tmp/7/gcc/include/math.h:786:41: cmath: No such file or directory
> gen-num-limits failed to build, exiting.
> 

Interesting. Thanks, this is very helpful. Includes like <cstdio> are in 
include/std/

If you're up for it, you may want to add that include path to the compile 
line above and see where that gets you.....

> Chasing this backwards, I can see the vendor <stdio.h> ends with:
> 
> #ifdef __cplusplus
> }
> #ifndef _CFRONT_3_0
> #include <cstdio> /* for namespace std */
> #endif
> #endif /*__cplusplus*/
> 
> #endif /*_STDIO_H*/

psycho.......... so what you could do is try adding it as above, or try 
to add

#define _CFRONT_3_0 1
 
in a config/os/unixware/bits/os_defines.h

Anyway. 

> Since we are C++ and we aren't CFRONT, we look for <cstdio>.  There
> isn't one in libstdc++-v3 and the g++ we just built doesn't know where
> to find the vendor one (/udk/usr/include/CC).  Where should we be
> finding this?  Should we be getting the ones from the above dir?  Should
> we perhaps be fixincluding this away?  It's easy to swing it either way;
> I just need help deciding which way is the Right Way.

ugh. So they have one? I would prefer that we just fixinclude this.

> Since the compilation failed, shouldn't we 'exit 1' somewhere and NOT
> create the stamp file?

definitely. There's already been some mail about it. 'stamp-limits' was a 
step in the right direction, but it only checks for the generation of 
(bld)/include/bits/std_limits.h, blah blah blah....we should error out 
sooner.

-benjamin

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