mirror of
https://git.busybox.net/busybox
synced 2026-01-31 16:43:21 +00:00
Defining a function alias with __attribute__ ((alias("evaltree"),__noreturn__))
is not that usual, and clang had a bug which made it misunderstand
this construct.
Switch to:
ALWAYS_INLINE NORETURN evaltreenr() { evaltree(); unreachable(); }
Older gcc's do not know unreachable(), on them we pay the price of having
a few extra calls to abort():
function old new delta
evalsubshell 151 156 +5
evalpipe 357 362 +5
argstr 1141 1144 +3
On newer gcc, code size does not change.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
|
||
|---|---|---|
| .. | ||
| .gitignore | ||
| applet_metadata.h | ||
| applets.h.sh | ||
| applets.src.h | ||
| ar.h | ||
| bb_archive.h | ||
| bb_e2fs_defs.h | ||
| busybox.h | ||
| dump.h | ||
| fix_u32.h | ||
| grp_.h | ||
| inet_common.h | ||
| libbb.h | ||
| liblzo_interface.h | ||
| platform.h | ||
| pwd_.h | ||
| rtc_.h | ||
| shadow_.h | ||
| unicode.h | ||
| usage.src.h | ||
| volume_id.h | ||
| xatonum.h | ||
| xregex.h | ||