remove ineffective compiler assist from printf
authorAlexander Monakov <amonakov@ispras.ru>
Tue, 4 Jul 2017 19:53:12 +0000 (22:53 +0300)
committerRich Felker <dalias@aerifal.cx>
Tue, 4 Jul 2017 22:04:52 +0000 (18:04 -0400)
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.

src/stdio/vfprintf.c
src/stdio/vfwprintf.c

index 8c81efc2aafd9bc9acf4ae98176189f6857c7c85..15356f53220761b96bd213052eb43d1531b8833c 100644 (file)
@@ -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);
index 1e6e47cc85b401a139d4cdaff41ef2f858878276..e87ad42a02b3bca59665cf08e00ae88e6c8695ef 100644 (file)
@@ -98,8 +98,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);