#16634: __gnu_inline__ attribute directive and Apple's gcc ---------------------------------+------------------------------------------ Reporter: jhr@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Port Bugs Component: ports | Version: 1.6.0 Keywords: gmp, inline | Port: gmp ---------------------------------+------------------------------------------ Comment(by jhr@…): I just tried the most recent version of gmp from MacPorts (4.2.4) and the above patch does not work. The following patch fixes the problem for me (NEWgmp.h is the correct file). *** NEWgmp.h 2009-01-02 14:31:02.000000000 -0600 --- gmp.h 2009-01-01 13:58:09.000000000 -0600 *************** *** 421,433 **** GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99 inline semantics, unless -fgnu89-inline is used. */ #ifdef __GNUC__ ! #if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2) #define __GMP_EXTERN_INLINE extern __inline__ __attribute__ ((__gnu_inline__)) ! #define __GMP_INLINE_PROTOTYPES 1 ! #elif !(defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && __STDC_VERSION__ >= 199901L) #define __GMP_EXTERN_INLINE extern __inline__ - #define __GMP_INLINE_PROTOTYPES 1 #endif #endif /* DEC C (eg. version 5.9) supports "static __inline foo()", even in -std1 --- 421,432 ---- GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99 inline semantics, unless -fgnu89-inline is used. */ #ifdef __GNUC__ ! #if (defined __GNUC_STDC_INLINE__) || (__GNUC__ == 4 && __GNUC_MINOR__ == 2) #define __GMP_EXTERN_INLINE extern __inline__ __attribute__ ((__gnu_inline__)) ! #else #define __GMP_EXTERN_INLINE extern __inline__ #endif + #define __GMP_INLINE_PROTOTYPES 1 #endif /* DEC C (eg. version 5.9) supports "static __inline foo()", even in -std1 -- Ticket URL: <http://trac.macports.org/ticket/16634#comment:2> MacPorts <http://www.macports.org/> Ports system for Mac OS