summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenis Vlasenko2008-03-20 13:13:09 +0000
committerDenis Vlasenko2008-03-20 13:13:09 +0000
commit0f3a580c4fec98bd4612dce4d77a9ac53a669fd3 (patch)
tree37fa1325f3792e0f37171f522c5f61cf6a6caa4a
parent027271e5a94591da535187fa95d481a1fdbcd9dc (diff)
downloadbusybox-0f3a580c4fec98bd4612dce4d77a9ac53a669fd3.zip
busybox-0f3a580c4fec98bd4612dce4d77a9ac53a669fd3.tar.gz
gcc compat fix and warning suppression
by Joe Krahn <krahn AT niehs.nih.gov>
-rw-r--r--findutils/find.c5
-rw-r--r--include/platform.h3
2 files changed, 6 insertions, 2 deletions
diff --git a/findutils/find.c b/findutils/find.c
index 634fbd1..f75bc9e 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 bfe6315..5193485 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__))