gcc compat fix and warning suppression

by Joe Krahn <krahn AT niehs.nih.gov>
This commit is contained in:
Denis Vlasenko 2008-03-20 13:13:09 +00:00
parent 027271e5a9
commit 0f3a580c4f
2 changed files with 6 additions and 2 deletions

View File

@ -517,7 +517,10 @@ static action*** parse_params(char **argv)
unsigned cur_action = 0; unsigned cur_action = 0;
USE_FEATURE_FIND_NOT( bool invert_flag = 0; ) USE_FEATURE_FIND_NOT( bool invert_flag = 0; )
/* 'static' doesn't work here! (gcc 4.1.2) */ /* This is the only place in busybox where we use nested function.
* So far more standard alternatives were bigger. */
/* Suppress a warning "func without a prototype" */
auto action* alloc_action(int sizeof_struct, action_fp f);
action* alloc_action(int sizeof_struct, action_fp f) action* alloc_action(int sizeof_struct, action_fp f)
{ {
action *ap; action *ap;

View File

@ -52,7 +52,8 @@
# define ATTRIBUTE_NORETURN __attribute__ ((__noreturn__)) # define ATTRIBUTE_NORETURN __attribute__ ((__noreturn__))
# define ATTRIBUTE_PACKED __attribute__ ((__packed__)) # define ATTRIBUTE_PACKED __attribute__ ((__packed__))
# define ATTRIBUTE_ALIGNED(m) __attribute__ ((__aligned__(m))) # define ATTRIBUTE_ALIGNED(m) __attribute__ ((__aligned__(m)))
# if __GNUC_PREREQ (3,0) /* __NO_INLINE__: some gcc's do not honor inlining! :( */
# if __GNUC_PREREQ (3,0) && !defined(__NO_INLINE__)
# define ALWAYS_INLINE __attribute__ ((always_inline)) inline # define ALWAYS_INLINE __attribute__ ((always_inline)) inline
/* I've seen a toolchain where I needed __noinline__ instead of noinline */ /* I've seen a toolchain where I needed __noinline__ instead of noinline */
# define NOINLINE __attribute__((__noinline__)) # define NOINLINE __attribute__((__noinline__))