aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2007-06-12 20:54:54 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2007-06-12 20:54:54 +0000
commit3ad5d0cbbe3c6debc8d3431fadf973eff04b27bf (patch)
treeea3c3db1efdd618bf819f97d73f93f276f309137 /include
parentfdcbc4e7095c225a8586dcb96a7a99c2d1007aeb (diff)
downloadbusybox-w32-3ad5d0cbbe3c6debc8d3431fadf973eff04b27bf.tar.gz
busybox-w32-3ad5d0cbbe3c6debc8d3431fadf973eff04b27bf.tar.bz2
busybox-w32-3ad5d0cbbe3c6debc8d3431fadf973eff04b27bf.zip
diff: shrink code (-85 bytes):
function old new delta fiddle_sum 8 - -8 diffreg 2717 2690 -27 prepare 334 284 -50 ------------------------------------------------------------------------------ (add/remove: 0/1 grow/shrink: 0/2 up/down: 0/-85) Total: -85 bytes s/ATTRIBUTE_ALWAYS_INLINE/ALWAYS_INLINE/g
Diffstat (limited to 'include')
-rw-r--r--include/libbb.h6
-rw-r--r--include/platform.h6
-rw-r--r--include/xatonum.h44
3 files changed, 28 insertions, 28 deletions
diff --git a/include/libbb.h b/include/libbb.h
index d42ce5f39..c4743cf0f 100644
--- a/include/libbb.h
+++ b/include/libbb.h
@@ -379,9 +379,9 @@ extern char *safe_strncpy(char *dst, const char *src, size_t size);
379extern char *xasprintf(const char *format, ...) __attribute__ ((format (printf, 1, 2))); 379extern char *xasprintf(const char *format, ...) __attribute__ ((format (printf, 1, 2)));
380// gcc-4.1.1 still isn't good enough at optimizing it 380// gcc-4.1.1 still isn't good enough at optimizing it
381// (+200 bytes compared to macro) 381// (+200 bytes compared to macro)
382//static ATTRIBUTE_ALWAYS_INLINE 382//static ALWAYS_INLINE
383//int LONE_DASH(const char *s) { return s[0] == '-' && !s[1]; } 383//int LONE_DASH(const char *s) { return s[0] == '-' && !s[1]; }
384//static ATTRIBUTE_ALWAYS_INLINE 384//static ALWAYS_INLINE
385//int NOT_LONE_DASH(const char *s) { return s[0] != '-' || s[1]; } 385//int NOT_LONE_DASH(const char *s) { return s[0] != '-' || s[1]; }
386#define LONE_DASH(s) ((s)[0] == '-' && !(s)[1]) 386#define LONE_DASH(s) ((s)[0] == '-' && !(s)[1])
387#define NOT_LONE_DASH(s) ((s)[0] != '-' || (s)[1]) 387#define NOT_LONE_DASH(s) ((s)[0] != '-' || (s)[1])
@@ -611,7 +611,7 @@ int write_pidfile(const char *path);
611#define remove_pidfile(f) ((void)unlink(f)) 611#define remove_pidfile(f) ((void)unlink(f))
612#else 612#else
613/* Why? #defining it to 1 gives "warning: statement with no effect"... */ 613/* Why? #defining it to 1 gives "warning: statement with no effect"... */
614static ATTRIBUTE_ALWAYS_INLINE int write_pidfile(const char *path) { return 1; } 614static ALWAYS_INLINE int write_pidfile(const char *path) { return 1; }
615#define remove_pidfile(f) ((void)0) 615#define remove_pidfile(f) ((void)0)
616#endif 616#endif
617 617
diff --git a/include/platform.h b/include/platform.h
index c2013b39d..9c93efb53 100644
--- a/include/platform.h
+++ b/include/platform.h
@@ -53,14 +53,14 @@
53# define ATTRIBUTE_PACKED __attribute__ ((__packed__)) 53# define ATTRIBUTE_PACKED __attribute__ ((__packed__))
54# define ATTRIBUTE_ALIGNED(m) __attribute__ ((__aligned__(m))) 54# define ATTRIBUTE_ALIGNED(m) __attribute__ ((__aligned__(m)))
55# if __GNUC_PREREQ (3,0) 55# if __GNUC_PREREQ (3,0)
56# define ATTRIBUTE_ALWAYS_INLINE __attribute__ ((always_inline)) inline 56# define ALWAYS_INLINE __attribute__ ((always_inline)) inline
57# if !ENABLE_WERROR 57# if !ENABLE_WERROR
58# define ATTRIBUTE_DEPRECATED __attribute__ ((__deprecated__)) 58# define ATTRIBUTE_DEPRECATED __attribute__ ((__deprecated__))
59# else 59# else
60# define ATTRIBUTE_DEPRECATED /* n/a */ 60# define ATTRIBUTE_DEPRECATED /* n/a */
61# endif 61# endif
62# else 62# else
63# define ATTRIBUTE_ALWAYS_INLINE inline 63# define ALWAYS_INLINE inline
64# define ATTRIBUTE_DEPRECATED /* n/a */ 64# define ATTRIBUTE_DEPRECATED /* n/a */
65# endif 65# endif
66 66
@@ -238,7 +238,7 @@ typedef unsigned smalluint;
238#endif 238#endif
239 239
240#if defined(__dietlibc__) 240#if defined(__dietlibc__)
241static ATTRIBUTE_ALWAYS_INLINE char* strchrnul(const char *s, char c) 241static ALWAYS_INLINE char* strchrnul(const char *s, char c)
242{ 242{
243 while (*s && *s != c) ++s; 243 while (*s && *s != c) ++s;
244 return (char*)s; 244 return (char*)s;
diff --git a/include/xatonum.h b/include/xatonum.h
index cf088a49e..e613fce6b 100644
--- a/include/xatonum.h
+++ b/include/xatonum.h
@@ -33,46 +33,46 @@ DECLARE_STR_CONV(long long, ll, ull)
33/* (useful for mapping them to the type of the same width) */ 33/* (useful for mapping them to the type of the same width) */
34#define DEFINE_EQUIV_STR_CONV(narrow, N, W, UN, UW) \ 34#define DEFINE_EQUIV_STR_CONV(narrow, N, W, UN, UW) \
35\ 35\
36static ATTRIBUTE_ALWAYS_INLINE \ 36static ALWAYS_INLINE \
37unsigned narrow xstrto##UN##_range_sfx(const char *str, int b, unsigned narrow l, unsigned narrow u, const struct suffix_mult *sfx) \ 37unsigned narrow xstrto##UN##_range_sfx(const char *str, int b, unsigned narrow l, unsigned narrow u, const struct suffix_mult *sfx) \
38{ return xstrto##UW##_range_sfx(str, b, l, u, sfx); } \ 38{ return xstrto##UW##_range_sfx(str, b, l, u, sfx); } \
39static ATTRIBUTE_ALWAYS_INLINE \ 39static ALWAYS_INLINE \
40unsigned narrow xstrto##UN##_range(const char *str, int b, unsigned narrow l, unsigned narrow u) \ 40unsigned narrow xstrto##UN##_range(const char *str, int b, unsigned narrow l, unsigned narrow u) \
41{ return xstrto##UW##_range(str, b, l, u); } \ 41{ return xstrto##UW##_range(str, b, l, u); } \
42static ATTRIBUTE_ALWAYS_INLINE \ 42static ALWAYS_INLINE \
43unsigned narrow xstrto##UN##_sfx(const char *str, int b, const struct suffix_mult *sfx) \ 43unsigned narrow xstrto##UN##_sfx(const char *str, int b, const struct suffix_mult *sfx) \
44{ return xstrto##UW##_sfx(str, b, sfx); } \ 44{ return xstrto##UW##_sfx(str, b, sfx); } \
45static ATTRIBUTE_ALWAYS_INLINE \ 45static ALWAYS_INLINE \
46unsigned narrow xstrto##UN(const char *str, int b) \ 46unsigned narrow xstrto##UN(const char *str, int b) \
47{ return xstrto##UW(str, b); } \ 47{ return xstrto##UW(str, b); } \
48static ATTRIBUTE_ALWAYS_INLINE \ 48static ALWAYS_INLINE \
49unsigned narrow xato##UN##_range_sfx(const char *str, unsigned narrow l, unsigned narrow u, const struct suffix_mult *sfx) \ 49unsigned narrow xato##UN##_range_sfx(const char *str, unsigned narrow l, unsigned narrow u, const struct suffix_mult *sfx) \
50{ return xato##UW##_range_sfx(str, l, u, sfx); } \ 50{ return xato##UW##_range_sfx(str, l, u, sfx); } \
51static ATTRIBUTE_ALWAYS_INLINE \ 51static ALWAYS_INLINE \
52unsigned narrow xato##UN##_range(const char *str, unsigned narrow l, unsigned narrow u) \ 52unsigned narrow xato##UN##_range(const char *str, unsigned narrow l, unsigned narrow u) \
53{ return xato##UW##_range(str, l, u); } \ 53{ return xato##UW##_range(str, l, u); } \
54static ATTRIBUTE_ALWAYS_INLINE \ 54static ALWAYS_INLINE \
55unsigned narrow xato##UN##_sfx(const char *str, const struct suffix_mult *sfx) \ 55unsigned narrow xato##UN##_sfx(const char *str, const struct suffix_mult *sfx) \
56{ return xato##UW##_sfx(str, sfx); } \ 56{ return xato##UW##_sfx(str, sfx); } \
57static ATTRIBUTE_ALWAYS_INLINE \ 57static ALWAYS_INLINE \
58unsigned narrow xato##UN(const char *str) \ 58unsigned narrow xato##UN(const char *str) \
59{ return xato##UW(str); } \ 59{ return xato##UW(str); } \
60static ATTRIBUTE_ALWAYS_INLINE \ 60static ALWAYS_INLINE \
61narrow xstrto##N##_range_sfx(const char *str, int b, narrow l, narrow u, const struct suffix_mult *sfx) \ 61narrow xstrto##N##_range_sfx(const char *str, int b, narrow l, narrow u, const struct suffix_mult *sfx) \
62{ return xstrto##W##_range_sfx(str, b, l, u, sfx); } \ 62{ return xstrto##W##_range_sfx(str, b, l, u, sfx); } \
63static ATTRIBUTE_ALWAYS_INLINE \ 63static ALWAYS_INLINE \
64narrow xstrto##N##_range(const char *str, int b, narrow l, narrow u) \ 64narrow xstrto##N##_range(const char *str, int b, narrow l, narrow u) \
65{ return xstrto##W##_range(str, b, l, u); } \ 65{ return xstrto##W##_range(str, b, l, u); } \
66static ATTRIBUTE_ALWAYS_INLINE \ 66static ALWAYS_INLINE \
67narrow xato##N##_range_sfx(const char *str, narrow l, narrow u, const struct suffix_mult *sfx) \ 67narrow xato##N##_range_sfx(const char *str, narrow l, narrow u, const struct suffix_mult *sfx) \
68{ return xato##W##_range_sfx(str, l, u, sfx); } \ 68{ return xato##W##_range_sfx(str, l, u, sfx); } \
69static ATTRIBUTE_ALWAYS_INLINE \ 69static ALWAYS_INLINE \
70narrow xato##N##_range(const char *str, narrow l, narrow u) \ 70narrow xato##N##_range(const char *str, narrow l, narrow u) \
71{ return xato##W##_range(str, l, u); } \ 71{ return xato##W##_range(str, l, u); } \
72static ATTRIBUTE_ALWAYS_INLINE \ 72static ALWAYS_INLINE \
73narrow xato##N##_sfx(const char *str, const struct suffix_mult *sfx) \ 73narrow xato##N##_sfx(const char *str, const struct suffix_mult *sfx) \
74{ return xato##W##_sfx(str, sfx); } \ 74{ return xato##W##_sfx(str, sfx); } \
75static ATTRIBUTE_ALWAYS_INLINE \ 75static ALWAYS_INLINE \
76narrow xato##N(const char *str) \ 76narrow xato##N(const char *str) \
77{ return xato##W(str); } \ 77{ return xato##W(str); } \
78 78
@@ -96,7 +96,7 @@ DECLARE_STR_CONV(int, i, u)
96/* Specialized */ 96/* Specialized */
97 97
98int BUG_xatou32_unimplemented(void); 98int BUG_xatou32_unimplemented(void);
99static ATTRIBUTE_ALWAYS_INLINE uint32_t xatou32(const char *numstr) 99static ALWAYS_INLINE uint32_t xatou32(const char *numstr)
100{ 100{
101 if (UINT_MAX == 0xffffffff) 101 if (UINT_MAX == 0xffffffff)
102 return xatou(numstr); 102 return xatou(numstr);
@@ -111,10 +111,10 @@ unsigned long long bb_strtoull(const char *arg, char **endp, int base);
111long long bb_strtoll(const char *arg, char **endp, int base); 111long long bb_strtoll(const char *arg, char **endp, int base);
112 112
113#if ULONG_MAX == ULLONG_MAX 113#if ULONG_MAX == ULLONG_MAX
114static ATTRIBUTE_ALWAYS_INLINE 114static ALWAYS_INLINE
115unsigned long bb_strtoul(const char *arg, char **endp, int base) 115unsigned long bb_strtoul(const char *arg, char **endp, int base)
116{ return bb_strtoull(arg, endp, base); } 116{ return bb_strtoull(arg, endp, base); }
117static ATTRIBUTE_ALWAYS_INLINE 117static ALWAYS_INLINE
118long bb_strtol(const char *arg, char **endp, int base) 118long bb_strtol(const char *arg, char **endp, int base)
119{ return bb_strtoll(arg, endp, base); } 119{ return bb_strtoll(arg, endp, base); }
120#else 120#else
@@ -123,17 +123,17 @@ long bb_strtol(const char *arg, char **endp, int base);
123#endif 123#endif
124 124
125#if UINT_MAX == ULLONG_MAX 125#if UINT_MAX == ULLONG_MAX
126static ATTRIBUTE_ALWAYS_INLINE 126static ALWAYS_INLINE
127unsigned bb_strtou(const char *arg, char **endp, int base) 127unsigned bb_strtou(const char *arg, char **endp, int base)
128{ return bb_strtoull(arg, endp, base); } 128{ return bb_strtoull(arg, endp, base); }
129static ATTRIBUTE_ALWAYS_INLINE 129static ALWAYS_INLINE
130int bb_strtoi(const char *arg, char **endp, int base) 130int bb_strtoi(const char *arg, char **endp, int base)
131{ return bb_strtoll(arg, endp, base); } 131{ return bb_strtoll(arg, endp, base); }
132#elif UINT_MAX == ULONG_MAX 132#elif UINT_MAX == ULONG_MAX
133static ATTRIBUTE_ALWAYS_INLINE 133static ALWAYS_INLINE
134unsigned bb_strtou(const char *arg, char **endp, int base) 134unsigned bb_strtou(const char *arg, char **endp, int base)
135{ return bb_strtoul(arg, endp, base); } 135{ return bb_strtoul(arg, endp, base); }
136static ATTRIBUTE_ALWAYS_INLINE 136static ALWAYS_INLINE
137int bb_strtoi(const char *arg, char **endp, int base) 137int bb_strtoi(const char *arg, char **endp, int base)
138{ return bb_strtol(arg, endp, base); } 138{ return bb_strtol(arg, endp, base); }
139#else 139#else
@@ -142,7 +142,7 @@ int bb_strtoi(const char *arg, char **endp, int base);
142#endif 142#endif
143 143
144int BUG_bb_strtou32_unimplemented(void); 144int BUG_bb_strtou32_unimplemented(void);
145static ATTRIBUTE_ALWAYS_INLINE 145static ALWAYS_INLINE
146uint32_t bb_strtou32(const char *arg, char **endp, int base) 146uint32_t bb_strtou32(const char *arg, char **endp, int base)
147{ 147{
148 if (sizeof(uint32_t) == sizeof(unsigned)) 148 if (sizeof(uint32_t) == sizeof(unsigned))