[MacPorts] #16634: __gnu_inline__ attribute directive and Apple's gcc

MacPorts noreply at macports.org
Fri Jan 2 12:34:48 PST 2009


#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


More information about the macports-tickets mailing list