Commit 48d13b44 authored by Yang Tse's avatar Yang Tse
Browse files

headers: require GCC 2.7 or newer in order to allow attribute GCC'isms usage

Usage in other code paths already protected and requiring even newer versions.
parent 8b63b486
Loading
Loading
Loading
Loading
+10 −6
Original line number Diff line number Diff line
@@ -605,13 +605,17 @@ int netware_init(void);
#define S_ISREG(m) (((m) & S_IFMT) == S_IFREG)
#endif

/* Provide a mechanism to silence picky compilers, such as gcc 4.6+.
   Parameters should of course normally not be unused, but for example when we
   have multiple implementations of the same interface it may happen. */
#ifndef __GNUC__
#define UNUSED_PARAM /*NOTHING*/
#else
/*
 * Provide a mechanism to silence picky compilers, such as gcc 4.6+.
 * Parameters should of course normally not be unused, but for example when
 * we have multiple implementations of the same interface it may happen.
 */

#if defined(__GNUC__) && ((__GNUC__ >= 3) || \
  ((__GNUC__ == 2) && defined(__GNUC_MINOR__) && (__GNUC_MINOR__ >= 7)))
#  define UNUSED_PARAM __attribute__((__unused__))
#else
#  define UNUSED_PARAM /*NOTHING*/
#endif

/*
+6 −3
Original line number Diff line number Diff line
@@ -28,8 +28,11 @@

#define SEGSIZE 512 /* data segment size */

#ifndef __GNUC__
#define __attribute__(x)
#if defined(__GNUC__) && ((__GNUC__ >= 3) || \
  ((__GNUC__ == 2) && defined(__GNUC_MINOR__) && (__GNUC_MINOR__ >= 7)))
#  define PACKED_STRUCT __attribute__((__packed__))
#else
#  define PACKED_STRUCT /*NOTHING*/
#endif

/* Using a packed struct as binary in a program is begging for problems, but
@@ -40,7 +43,7 @@ struct tftphdr {
  short th_opcode;         /* packet type */
  unsigned short th_block; /* all sorts of things */
  char th_data[1];         /* data or error string */
} __attribute__ ((__packed__));
} PACKED_STRUCT;

#define th_stuff th_block
#define th_code  th_block