diff --git a/findutils/find.c b/findutils/find.c index 634fbd189..f75bc9ef9 100644 --- a/findutils/find.c +++ b/findutils/find.c @@ -517,7 +517,10 @@ static action*** parse_params(char **argv) unsigned cur_action = 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 *ap; diff --git a/include/platform.h b/include/platform.h index bfe631506..51934853b 100644 --- a/include/platform.h +++ b/include/platform.h @@ -52,7 +52,8 @@ # define ATTRIBUTE_NORETURN __attribute__ ((__noreturn__)) # define ATTRIBUTE_PACKED __attribute__ ((__packed__)) # 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 /* I've seen a toolchain where I needed __noinline__ instead of noinline */ # define NOINLINE __attribute__((__noinline__))