Re: preliminary experiences with egcs 1.1 on linux

From: Christoph Borgmeier (borg@mail.desy.de)
Date: Wed Sep 16 1998 - 10:51:57 MEST


Here are the changes, which I needed to compile Root with egcs 1.1:

* NEW_NewDelete.cxx

Defines `void *operator new(size_t size, void *vp)' for all compilers
except KCC, which appearantly provides it already. egcs 1.1 also does,
so the preprocessor condition had to be changed.

* ROOT_rootx.cxx

The macro WIFSTOPPED in `void WaitChild(int childpid)' does not work
any more on my machine (Linux elmo 2.0.32 #5 Mon Jun 29 15:12:59 CEST
1998 i686 unknown), which is a non-glibc (SuSE) Linux. The problem
seems to be in sys/wait.h:

#ifdef  __GNUC__
#define __WAIT_INT(status)\
  (__extension__ ({ union { __typeof(status) __in; int __i; } __u;\
                    __u.__in = (status); __u.__i; }))
#else
#define __WAIT_INT(status)      (*(int *) &(status))
#endif

The GNUC part seems not to work any more with egcs 1.1. (I undef'd
___GNUC__ for that part.) Maybe someone understands it a little bit
better than I do?

Christoph



-- 
 Christoph Borgmeier    Mail:  DESY F15/HERA-B, Geb. 61/117
                               Notkestr. 85, 22607 Hamburg
 Humboldt Univ Berlin   Phone: +49 40 8998 4850
                        Email: Christoph.Borgmeier@desy.de



This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:34:37 MET