pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: pkg/38364: Patches to allow gmp to build on IRIX



The following reply was made to PR pkg/38364; it has been noted by GNATS.

From: Joerg Sonnenberger <joerg%britannica.bec.de@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc: 
Subject: Re: pkg/38364: Patches to allow gmp to build on IRIX
Date: Fri, 4 Apr 2008 19:25:23 +0200

 On Fri, Apr 04, 2008 at 05:05:01PM +0000, srcshelton%gmail.com@localhost wrote:
 >  /* gmp_uint_least32_t is an unsigned integer type with at least 32 bits. */
 >  #if HAVE_UINT_LEAST32_T
 > +#ifdef __sgi
 > +typedef unsigned int            uint_least32_t;
 > +#endif
 >  typedef uint_least32_t      gmp_uint_least32_t;
 >  #else
 >  #if SIZEOF_UNSIGNED_SHORT >= 4
 
 This looks just wrong. Why does the else part not work? Or is the type
 used somewhere else unconditionally?
 
 > +#ifdef __sgi
 > +typedef char *va_list;
 > +#endif
 >  #ifdef va_start
 >  #define _GMP_H_HAVE_VA_LIST 1
 >  #endif
 
 This looks wrong as well.
 
 > @@ -516,9 +519,11 @@
 >  
 >  #if defined (__cplusplus)
 >  extern "C" {
 > +#ifndef __sgi
 >  #ifdef _GMP_H_HAVE_FILE
 >  using std::FILE;
 >  #endif
 > +#endif
 >  #endif
 
 Sounds like a miss detection, whatever sets _GMP_H_HAVE_FILE should be
 fixed instead, I bet.
 
 > uint_least32_t is defined in <stdint.h> (which is C(99) only) but not
 > any C++ headers.
 
 Your system compiler disallows including stdint.h (or inttypes.h for
 that matter) for C++?
 
 > I have no idea at all why va_list has to be defined: If you don't
 > define it, the build fails saying that va_list is an unknown
 > identifier... but if you do define it (as above) you get a warning that
 > you're redefining an existing value!
 
 Can you check stdarg.h for conditional includes on C99 or C++?
 
 Joerg
 


Home | Main Index | Thread Index | Old Index