Skip to content

Commit

Permalink
headers: require GCC 2.7 or newer in order to allow attribute GCC'ism…
Browse files Browse the repository at this point in the history
…s usage

Usage in other code paths already protected and requiring even newer versions.
  • Loading branch information
yangtse committed Apr 14, 2012
1 parent 8b63b48 commit 48d13b4
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 9 deletions.
16 changes: 10 additions & 6 deletions lib/setup.h
Original file line number Diff line number Diff line change
Expand Up @@ -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*/
/*
* 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 __attribute__((__unused__))
# define UNUSED_PARAM /*NOTHING*/
#endif

/*
Expand Down
9 changes: 6 additions & 3 deletions tests/server/tftp.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand Down

0 comments on commit 48d13b4

Please sign in to comment.