]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
Add noreturn attributes and remove unreachable code.
authorVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Tue, 13 Dec 2011 14:13:51 +0000 (15:13 +0100)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Tue, 13 Dec 2011 14:13:51 +0000 (15:13 +0100)
* grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
code.
* grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
code. Mark as noreturn.
* grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
* grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
* grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
unreachable code.
* grub-core/kern/main.c (grub_main): Mark as noreturn.
* grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
* grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
* grub-core/normal/menu.c (run_menu): Remove unreachable code.
* include/grub/kernel.h (grub_main): Mark as noreturn.
* include/grub/reader.h (grub_rescue_run): Likewise.

12 files changed:
ChangeLog
grub-core/bus/cs5536.c
grub-core/commands/halt.c
grub-core/commands/minicmd.c
grub-core/commands/reboot.c
grub-core/disk/efi/efidisk.c
grub-core/kern/main.c
grub-core/kern/rescue_reader.c
grub-core/lib/posix_wrap/stdlib.h
grub-core/normal/menu.c
include/grub/kernel.h
include/grub/reader.h

index a2a8609ab8586d5d11eeccd43c7e1d39d7705916..f62cc0ba60930f0d707cd8adbbae9d875f4b3549 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,22 @@
+2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>
+
+       Add noreturn attributes and remove unreachable code.
+
+       * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
+       code.
+       * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
+       code. Mark as noreturn.
+       * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
+       * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
+       * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
+       unreachable code.
+       * grub-core/kern/main.c (grub_main): Mark as noreturn.
+       * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
+       * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
+       * grub-core/normal/menu.c (run_menu): Remove unreachable code.
+       * include/grub/kernel.h (grub_main): Mark as noreturn.
+       * include/grub/reader.h (grub_rescue_run): Likewise.
+
 2011-12-13  Vladimir Serbinenko  <phcoder@gmail.com>
 
        * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
index 1aae7852e1480f89610238e538014a966236e789..9e7796ea12287afc55bdfc7a416e1bd130c6c803 100644 (file)
@@ -97,8 +97,6 @@ grub_cs5536_smbus_wait (grub_port_t smbbase)
       if (grub_get_time_ms () > start + 40)
        return grub_error (GRUB_ERR_IO, "SM stalled");
     }
-
-  return GRUB_ERR_NONE;
 }
 
 grub_err_t
index 317f7753fd8779f639854ef0d6b3b16b8214a89e..f8596ecdca85e69826fa8285da58a4d783ab5fea 100644 (file)
 
 GRUB_MOD_LICENSE ("GPLv3+");
 
-static grub_err_t
+static grub_err_t __attribute__ ((noreturn))
 grub_cmd_halt (grub_command_t cmd __attribute__ ((unused)),
               int argc __attribute__ ((unused)),
               char **args __attribute__ ((unused)))
 {
   grub_halt ();
-  return 0;
 }
 
 static grub_command_t cmd;
index 1bb0147df0e36808257861a790608beddfbe609b..f436cd55d03caf1bb1e7786f35dac890a439e821 100644 (file)
@@ -165,13 +165,13 @@ grub_mini_cmd_lsmod (struct grub_command *cmd __attribute__ ((unused)),
 }
 
 /* exit */
-static grub_err_t
+static grub_err_t __attribute__ ((noreturn))
 grub_mini_cmd_exit (struct grub_command *cmd __attribute__ ((unused)),
                    int argc __attribute__ ((unused)),
                    char *argv[] __attribute__ ((unused)))
 {
   grub_exit ();
-  return 0;
+  /* Not reached.  */
 }
 
 static grub_command_t cmd_cat, cmd_help;
index 8e18083c0247a60255a3d1727c08ac64677198e9..46d364c99a9fa18b539da7e22b8ab138397e08e0 100644 (file)
 
 GRUB_MOD_LICENSE ("GPLv3+");
 
-static grub_err_t
+static grub_err_t __attribute__ ((noreturn))
 grub_cmd_reboot (grub_command_t cmd __attribute__ ((unused)),
                 int argc __attribute__ ((unused)),
                 char **args __attribute__ ((unused)))
 {
   grub_reboot ();
-  return 0;
 }
 
 static grub_command_t cmd;
index 0baeb8e4b5660248e584ec163776006350432a6e..bbb8c93b1fe5393145d5793617455ba4e7d53439 100644 (file)
@@ -791,6 +791,4 @@ grub_efidisk_get_device_name (grub_efi_handle_t *handle)
       grub_disk_close (parent);
       return device_name;
     }
-
-  return 0;
 }
index bf27898605851e79ab5a5d7c0d8efda08c603d17..185230c5c3cc01f81829d80245fc140c8d265cc8 100644 (file)
@@ -190,7 +190,7 @@ grub_load_normal_mode (void)
 }
 
 /* The main routine.  */
-void
+void __attribute__ ((noreturn))
 grub_main (void)
 {
   /* First of all, initialize the machine.  */
index a810085790c98fde482563ef84ca08453062d018..4587b944f73b904bb03e8468847f2676fa2b14cc 100644 (file)
@@ -74,7 +74,7 @@ grub_rescue_read_line (char **line, int cont)
   return 0;
 }
 
-void
+void __attribute__ ((noreturn))
 grub_rescue_run (void)
 {
   grub_printf ("Entering rescue mode...\n");
index 4c725f6e28ccb0a4092e7cb70cd4d8cb57b2c901..b35e21bb885e119e6f139c82b413951ed22af8aa 100644 (file)
@@ -46,7 +46,7 @@ realloc (void *ptr, grub_size_t size)
   return grub_realloc (ptr, size);
 }
 
-static inline void
+static inline void __attribute__ ((noreturn))
 abort (void)
 {
   grub_abort ();
index b75e9f5239e91d4a796fe24f1393e8d5ccafefeb..ae8e3e681ad73a5c769d092435a6c592611bb17e 100644 (file)
@@ -666,7 +666,6 @@ run_menu (grub_menu_t menu, int nested, int *auto_boot)
     }
 
   /* Never reach here.  */
-  return -1;
 }
 
 /* Callback invoked immediately before a menu entry is executed.  */
index f9fc817dbc79ca9c26d6d2026366841830963730..f587de5149ae7ce4e9d8cb0a06a94d3b83b874f7 100644 (file)
@@ -82,7 +82,7 @@ extern grub_addr_t EXPORT_VAR (grub_modbase);
 grub_addr_t grub_modules_get_end (void);
 
 /* The start point of the C code.  */
-void grub_main (void);
+void grub_main (void) __attribute__ ((noreturn));
 
 /* The machine-specific initialization. This must initialize memory.  */
 void grub_machine_init (void);
index fd72a32526fd3d54c3134a2bf2474df6d9c6f3c7..cd92df8f23e65ae4750b587be155015c5a5deefc 100644 (file)
@@ -24,6 +24,6 @@
 
 typedef grub_err_t (*grub_reader_getline_t) (char **, int);
 
-void grub_rescue_run (void);
+void grub_rescue_run (void) __attribute__ ((noreturn));
 
 #endif /* ! GRUB_READER_HEADER */