home *** CD-ROM | disk | FTP | other *** search
/ ftp.shrubbery.net / 2015-02-07.ftp.shrubbery.net.tar / ftp.shrubbery.net / pub / astraceroute / astraceroute-1.4.a12.2.tar.gz / astraceroute-1.4.a12.2.tar / astraceroute-1.4.a12.2 / lbl / gnuc.h next >
C/C++ Source or Header  |  2007-01-24  |  763b  |  44 lines

  1. /* @(#) $Header: /home/heas/.CVS/src/utils/astraceroute/lbl/gnuc.h,v 1.1.1.1 2007/01/25 03:32:19 heas Exp $ (LBL) */
  2.  
  3. /* Define __P() macro, if necessary */
  4. #ifndef __P
  5. #if __STDC__
  6. #define __P(protos) protos
  7. #else
  8. #define __P(protos) ()
  9. #endif
  10. #endif
  11.  
  12. /* inline foo */
  13. #ifdef __GNUC__
  14. #define inline __inline
  15. #else
  16. #define inline
  17. #endif
  18.  
  19. /*
  20.  * Handle new and old "dead" routine prototypes
  21.  *
  22.  * For example:
  23.  *
  24.  *    __dead void foo(void) __attribute__((volatile));
  25.  *
  26.  */
  27. #ifdef __GNUC__
  28. #ifndef __dead
  29. #define __dead volatile
  30. #endif
  31. #if __GNUC__ < 2  || (__GNUC__ == 2 && __GNUC_MINOR__ < 5)
  32. #ifndef __attribute__
  33. #define __attribute__(args)
  34. #endif
  35. #endif
  36. #else
  37. #ifndef __dead
  38. #define __dead
  39. #endif
  40. #ifndef __attribute__
  41. #define __attribute__(args)
  42. #endif
  43. #endif
  44.