This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
gcc-20010108 IRIX 5.3 installation
- To: gcc-bugs at gcc dot gnu dot org
- Subject: gcc-20010108 IRIX 5.3 installation
- From: wem at bruker dot de (Werner Mausshardt)
- Date: Wed, 10 Jan 2001 17:30:57 +0100 (MEZ)
- Reply-To: werner dot mausshardt at bruker dot de
building snapshot gcc-20010108 under IRIX 5.3 (make bootstrap) also
stops with following error message:
make[4]: *** No rule to make target `limitsMEMBERS.cc', needed by `limitsMEMBERS.lo'. Stop.
despite patched libstdc++-v3/src/gen-num-limits.cc (before configure)
according to the suggestion below.
So this seems not to fix the problem, or did I miss something?
--
Werner Mausshardt E-mail: werner.mausshardt@bruker.de
Software Department Tel: +49 721 5161 448
Bruker Analytik GmbH Fax: +49 721 5161 480
On Jan 9, 2001, aoliva@guarana.lsd.ic.unicamp.br (Alexandre Oliva) wrote:
>>On Jan 8, 2001, wem@bruker.de (Werner Mausshardt) wrote:
>
>> building snapshot gcc-20001218 under IRIX 5.3 (make bootstrap) stops
>> with following error message:
>
>> make[4]: *** No rule to make target `limitsMEMBERS.cc', needed by `limitsMEMBERS.lo'. Stop.
>
>I posted a patch that fixes this problem. It was posted about two
>weeks ago, but it wasn't reviewed it. Here it is again, for
>reference:
>
>
>--=-=-=
>Content-Type: text/x-patch
>Content-Disposition: inline; filename=lv3-genlims.patch
>
>Index: libstdc++-v3/ChangeLog
>from Alexandre Oliva <aoliva@redhat.com>
>
> * src/gen-num-limits.cc (signal_adapter): New template function.
> (signal_handler): Use it, instead of signal.
> (traps<T>): Likewise. Install SIGTRAP handler too. Don't
> require both tests to trap to set trap_flag.
>
>Index: libstdc++-v3/src/gen-num-limits.cc
>===================================================================
>RCS file: /cvs/gcc/egcs/libstdc++-v3/src/gen-num-limits.cc,v
>retrieving revision 1.4
>diff -u -p -r1.4 gen-num-limits.cc
>--- libstdc++-v3/src/gen-num-limits.cc 2000/10/30 13:15:24 1.4
>+++ libstdc++-v3/src/gen-num-limits.cc 2000/12/25 21:02:44
>@@ -92,11 +92,23 @@ const int integer_base_rep = 2;
>
> jmp_buf env;
>
>+/* The prototype of signal() may vary. Accomodate variations such as
>+ void(*)(int) and void(*)(...). */
>+template <typename signal_handler_type, typename signal_number_type>
>+inline void (*signal_adapter (signal_handler_type
>+ (*signal_func)(signal_number_type,
>+ signal_handler_type),
>+ signal_number_type arg,
>+ void (*handler)(int)))(int)
>+{
>+ return (void (*)(int))(*signal_func)(arg, (signal_handler_type)handler);
>+}
>+
> void signal_handler(int sig)
> {
> #ifdef __CYGWIN__
> static sigset_t x;
>- signal (sig, signal_handler);
>+ signal_adapter (signal, sig, signal_handler);
> sigemptyset (&x);
> sigprocmask(SIG_SETMASK, &x, NULL);
> #endif /* __CYGWIN__ */
>@@ -137,10 +149,12 @@ template<typename T> struct underflow {}
> // traps
> template<typename T> void traps()
> {
>- signal(SIGFPE, signal_handler);
>+ signal_adapter (signal, SIGFPE, signal_handler);
>+ signal_adapter (signal, SIGTRAP, signal_handler);
> bool trap_flag = trapping(division_by_zero<T>());
>- signal(SIGFPE, signal_handler);
>- trap_flag = trap_flag && trapping(overflow<T>());
>+ signal_adapter (signal, SIGFPE, signal_handler);
>+ signal_adapter (signal, SIGTRAP, signal_handler);
>+ trap_flag = trap_flag || trapping(overflow<T>());
> const char* p = bool_alpha[trap_flag];
> printf("%s%s = %s;\n", tab2, "static const bool traps", p);
> }
>@@ -148,7 +162,8 @@ template<typename T> void traps()
> #define SPECIALIZE_TRAPPING(T) \
> template<> void traps< T >() \
> { \
>- signal(SIGFPE, signal_handler); \
>+ signal_adapter (signal, SIGFPE, signal_handler); \
>+ signal_adapter (signal, SIGTRAP, signal_handler); \
> const char* p = bool_alpha[trapping(division_by_zero<T>())]; \
> printf("%s%s = %s;\n", tab2, "static const bool traps", p); \
> }
>
>--=-=-=
>
>
>--
>Alexandre Oliva Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
>Red Hat GCC Developer aoliva@{cygnus.com, redhat.com}
>CS PhD student at IC-Unicamp oliva@{lsd.ic.unicamp.br, gnu.org}
>Free Software Evangelist *Please* write to mailing lists, not to me