|
Message-Id: <20170704195312.24387-1-amonakov@ispras.ru> Date: Tue, 4 Jul 2017 22:53:12 +0300 From: Alexander Monakov <amonakov@...ras.ru> To: musl@...ts.openwall.com Subject: [PATCH] remove ineffective compiler assist from printf The switch statement has no 'default:' case and the function ends immediately following the switch, so the extra comparison did not communicate any extra information to the compiler. --- Someone reported this on IRC a few weeks ago. MAXSTATE enum value is unused after this change. Removal reduces code size slightly with gcc-6. Alexander src/stdio/vfprintf.c | 2 -- src/stdio/vfwprintf.c | 2 -- 2 files changed, 4 deletions(-) diff --git a/src/stdio/vfprintf.c b/src/stdio/vfprintf.c index 8c81efc2..15356f53 100644 --- a/src/stdio/vfprintf.c +++ b/src/stdio/vfprintf.c @@ -107,8 +107,6 @@ union arg static void pop_arg(union arg *arg, int type, va_list *ap) { - /* Give the compiler a hint for optimizing the switch. */ - if ((unsigned)type > MAXSTATE) return; switch (type) { case PTR: arg->p = va_arg(*ap, void *); break; case INT: arg->i = va_arg(*ap, int); diff --git a/src/stdio/vfwprintf.c b/src/stdio/vfwprintf.c index b8fff208..6e7492a7 100644 --- a/src/stdio/vfwprintf.c +++ b/src/stdio/vfwprintf.c @@ -119,8 +119,6 @@ union arg static void pop_arg(union arg *arg, int type, va_list *ap) { - /* Give the compiler a hint for optimizing the switch. */ - if ((unsigned)type > MAXSTATE) return; switch (type) { case PTR: arg->p = va_arg(*ap, void *); break; case INT: arg->i = va_arg(*ap, int); -- 2.11.0
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.