From ae558c2ccf5819c3b0a454998896f7642098b5c9 Mon Sep 17 00:00:00 2001 From: Vladimir Serbinenko Date: Sat, 21 Dec 2013 15:28:28 +0100 Subject: [PATCH] Enable -Wformat=2 if it's supported. --- ChangeLog | 4 ++++ configure.ac | 2 +- grub-core/gfxmenu/gui_label.c | 4 ++++ grub-core/gfxmenu/gui_progress_bar.c | 4 ++++ grub-core/lib/legacy_parse.c | 2 ++ grub-core/osdep/linux/hostdisk.c | 4 ++++ grub-core/partmap/msdos.c | 6 ++++++ grub-core/term/tparm.c | 4 ++++ util/grub-editenv.c | 4 ++++ util/grub-install-common.c | 4 ++++ util/grub-install.c | 4 ++++ util/grub-mkimage.c | 4 ++++ util/grub-mkrescue.c | 4 ++++ util/grub-probe.c | 4 ++++ util/grub-setup.c | 4 ++++ 15 files changed, 57 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index fe56f9529..4a7145c9d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2013-12-21 Vladimir Serbinenko + + Enable -Wformat=2 if it's supported. + 2013-12-21 Vladimir Serbinenko * configure.ac: Add -Wmissing-include-dirs -Wmissing-prototypes diff --git a/configure.ac b/configure.ac index a2a56af89..d808b42de 100644 --- a/configure.ac +++ b/configure.ac @@ -433,7 +433,7 @@ esac gl_INIT WARN_FLAGS="-Wall -W -Wshadow -Wpointer-arith -Wundef -Wchar-subscripts -Wcomment -Wdeprecated-declarations -Wdisabled-optimization -Wdiv-by-zero -Wfloat-equal -Wformat-extra-args -Wformat-security -Wformat-y2k -Wimplicit -Wimplicit-function-declaration -Wimplicit-int -Wmain -Wmissing-braces -Wmissing-format-attribute -Wmultichar -Wparentheses -Wreturn-type -Wsequence-point -Wshadow -Wsign-compare -Wswitch -Wtrigraphs -Wunknown-pragmas -Wunused -Wunused-function -Wunused-label -Wunused-parameter -Wunused-value -Wunused-variable -Wwrite-strings -Wnested-externs -Wstrict-prototypes" -EXTRA_WARN_FLAGS="-Wextra -Wattributes -Wendif-labels -Winit-self -Wint-to-pointer-cast -Winvalid-pch -Wmissing-field-initializers -Wnonnull -Woverflow -Wvla -Wpointer-to-int-cast -Wstrict-aliasing -Wvariadic-macros -Wvolatile-register-var -Wpointer-sign -Wmissing-include-dirs -Wmissing-prototypes -Wmissing-declarations" +EXTRA_WARN_FLAGS="-Wextra -Wattributes -Wendif-labels -Winit-self -Wint-to-pointer-cast -Winvalid-pch -Wmissing-field-initializers -Wnonnull -Woverflow -Wvla -Wpointer-to-int-cast -Wstrict-aliasing -Wvariadic-macros -Wvolatile-register-var -Wpointer-sign -Wmissing-include-dirs -Wmissing-prototypes -Wmissing-declarations -Wformat=2" HOST_CFLAGS="$HOST_CFLAGS $WARN_FLAGS -Wcast-align" diff --git a/grub-core/gfxmenu/gui_label.c b/grub-core/gfxmenu/gui_label.c index 507c01014..a4c817891 100644 --- a/grub-core/gfxmenu/gui_label.c +++ b/grub-core/gfxmenu/gui_label.c @@ -154,6 +154,8 @@ label_get_minimal_size (void *vself, unsigned *width, unsigned *height) + grub_font_get_descent (self->font)); } +#pragma GCC diagnostic ignored "-Wformat-nonliteral" + static void label_set_state (void *vself, int visible, int start __attribute__ ((unused)), int current, int end __attribute__ ((unused))) @@ -235,6 +237,8 @@ label_set_property (void *vself, const char *name, const char *value) return GRUB_ERR_NONE; } +#pragma GCC diagnostic error "-Wformat-nonliteral" + static struct grub_gui_component_ops label_ops = { .destroy = label_destroy, diff --git a/grub-core/gfxmenu/gui_progress_bar.c b/grub-core/gfxmenu/gui_progress_bar.c index 605c10997..3501b0172 100644 --- a/grub-core/gfxmenu/gui_progress_bar.c +++ b/grub-core/gfxmenu/gui_progress_bar.c @@ -183,6 +183,8 @@ draw_pixmap_bar (grub_gui_progress_bar_t self) } } +#pragma GCC diagnostic ignored "-Wformat-nonliteral" + static void draw_text (grub_gui_progress_bar_t self) { @@ -212,6 +214,8 @@ draw_text (grub_gui_progress_bar_t self) } } +#pragma GCC diagnostic error "-Wformat-nonliteral" + static void progress_bar_paint (void *vself, const grub_video_rect_t *region) { diff --git a/grub-core/lib/legacy_parse.c b/grub-core/lib/legacy_parse.c index 300d8b961..61266d95a 100644 --- a/grub-core/lib/legacy_parse.c +++ b/grub-core/lib/legacy_parse.c @@ -24,6 +24,8 @@ #include #include +#pragma GCC diagnostic ignored "-Wformat-nonliteral" + struct legacy_command { const char *name; diff --git a/grub-core/osdep/linux/hostdisk.c b/grub-core/osdep/linux/hostdisk.c index abaaf2847..1829bed6e 100644 --- a/grub-core/osdep/linux/hostdisk.c +++ b/grub-core/osdep/linux/hostdisk.c @@ -237,6 +237,8 @@ have_devfs (void) return dev_devfsd_exists; } +#pragma GCC diagnostic ignored "-Wformat-nonliteral" + static int grub_hostdisk_linux_find_partition (char *dev, grub_disk_addr_t sector) { @@ -325,6 +327,8 @@ grub_hostdisk_linux_find_partition (char *dev, grub_disk_addr_t sector) return 0; } +#pragma GCC diagnostic error "-Wformat-nonliteral" + void grub_hostdisk_flush_initial_buffer (const char *os_dev) { diff --git a/grub-core/partmap/msdos.c b/grub-core/partmap/msdos.c index 0d0a6b7d0..1d81a5357 100644 --- a/grub-core/partmap/msdos.c +++ b/grub-core/partmap/msdos.c @@ -229,6 +229,9 @@ grub_partition_msdos_iterate (grub_disk_t disk, } #ifdef GRUB_UTIL + +#pragma GCC diagnostic ignored "-Wformat-nonliteral" + static grub_err_t pc_partition_map_embed (struct grub_disk *disk, unsigned int *nsectors, unsigned int max_nsectors, @@ -401,6 +404,9 @@ pc_partition_map_embed (struct grub_disk *disk, unsigned int *nsectors, N_("your embedding area is unusually small. " "core.img won't fit in it.")); } + +#pragma GCC diagnostic error "-Wformat-nonliteral" + #endif diff --git a/grub-core/term/tparm.c b/grub-core/term/tparm.c index fce7dd479..fb5b15a88 100644 --- a/grub-core/term/tparm.c +++ b/grub-core/term/tparm.c @@ -158,6 +158,8 @@ get_space(grub_size_t need) } } +#pragma GCC diagnostic ignored "-Wformat-nonliteral" + static inline void save_text(const char *fmt, const char *s, int len) { @@ -183,6 +185,8 @@ save_number(const char *fmt, int number, int len) out_used += grub_strlen(out_buff + out_used); } +#pragma GCC diagnostic error "-Wformat-nonliteral" + static inline void save_char(int c) { diff --git a/util/grub-editenv.c b/util/grub-editenv.c index 540495b45..f64a66711 100644 --- a/util/grub-editenv.c +++ b/util/grub-editenv.c @@ -87,6 +87,8 @@ static error_t argp_parser (int key, char *arg, struct argp_state *state) return 0; } +#pragma GCC diagnostic ignored "-Wformat-nonliteral" + static char * help_filter (int key, const char *text, void *input __attribute__ ((unused))) { @@ -100,6 +102,8 @@ help_filter (int key, const char *text, void *input __attribute__ ((unused))) } } +#pragma GCC diagnostic error "-Wformat-nonliteral" + struct argp argp = { options, argp_parser, N_("FILENAME COMMAND"), "\n"N_("\ diff --git a/util/grub-install-common.c b/util/grub-install-common.c index 48f9014d4..ae268751e 100644 --- a/util/grub-install-common.c +++ b/util/grub-install-common.c @@ -45,6 +45,8 @@ #include #include +#pragma GCC diagnostic ignored "-Wformat-nonliteral" + char * grub_install_help_filter (int key, const char *text, void *input __attribute__ ((unused))) @@ -67,6 +69,8 @@ grub_install_help_filter (int key, const char *text, } } +#pragma GCC diagnostic error "-Wformat-nonliteral" + static int (*compress_func) (const char *src, const char *dest) = NULL; char *grub_install_copy_buffer; diff --git a/util/grub-install.c b/util/grub-install.c index e80e26abb..9fcef5778 100644 --- a/util/grub-install.c +++ b/util/grub-install.c @@ -326,6 +326,8 @@ get_default_platform (void) #endif } +#pragma GCC diagnostic ignored "-Wformat-nonliteral" + static char * help_filter (int key, const char *text, void *input __attribute__ ((unused))) { @@ -342,6 +344,8 @@ help_filter (int key, const char *text, void *input __attribute__ ((unused))) } } +#pragma GCC diagnostic error "-Wformat-nonliteral" + /* TRANSLATORS: INSTALL_DEVICE isn't an identifier and is the DEVICE you install to. */ struct argp argp = { diff --git a/util/grub-mkimage.c b/util/grub-mkimage.c index 0db632838..e654c3e5c 100644 --- a/util/grub-mkimage.c +++ b/util/grub-mkimage.c @@ -78,6 +78,8 @@ static struct argp_option options[] = { { 0, 0, 0, 0, 0, 0 } }; +#pragma GCC diagnostic ignored "-Wformat-nonliteral" + static char * help_filter (int key, const char *text, void *input __attribute__ ((unused))) { @@ -100,6 +102,8 @@ help_filter (int key, const char *text, void *input __attribute__ ((unused))) } } +#pragma GCC diagnostic error "-Wformat-nonliteral" + struct arguments { size_t nmodules; diff --git a/util/grub-mkrescue.c b/util/grub-mkrescue.c index 8517a1e0e..ad45f9c54 100644 --- a/util/grub-mkrescue.c +++ b/util/grub-mkrescue.c @@ -112,6 +112,8 @@ static struct argp_option options[] = { {0, 0, 0, 0, 0, 0} }; +#pragma GCC diagnostic ignored "-Wformat-nonliteral" + static char * help_filter (int key, const char *text, void *input __attribute__ ((unused))) { @@ -124,6 +126,8 @@ help_filter (int key, const char *text, void *input __attribute__ ((unused))) } } +#pragma GCC diagnostic error "-Wformat-nonliteral" + enum { SYS_AREA_AUTO, SYS_AREA_COMMON, diff --git a/util/grub-probe.c b/util/grub-probe.c index db68d61f6..ecb1d6332 100644 --- a/util/grub-probe.c +++ b/util/grub-probe.c @@ -661,6 +661,8 @@ static struct argp_option options[] = { { 0, 0, 0, 0, 0, 0 } }; +#pragma GCC diagnostic ignored "-Wformat-nonliteral" + static char * help_filter (int key, const char *text, void *input __attribute__ ((unused))) { @@ -674,6 +676,8 @@ help_filter (int key, const char *text, void *input __attribute__ ((unused))) } } +#pragma GCC diagnostic error "-Wformat-nonliteral" + struct arguments { char **devices; diff --git a/util/grub-setup.c b/util/grub-setup.c index 7a6ca78b2..1463abf6f 100644 --- a/util/grub-setup.c +++ b/util/grub-setup.c @@ -94,6 +94,8 @@ static struct argp_option options[] = { { 0, 0, 0, 0, 0, 0 } }; +#pragma GCC diagnostic ignored "-Wformat-nonliteral" + static char * help_filter (int key, const char *text, void *input __attribute__ ((unused))) { @@ -116,6 +118,8 @@ help_filter (int key, const char *text, void *input __attribute__ ((unused))) } } +#pragma GCC diagnostic error "-Wformat-nonliteral" + struct arguments { char *boot_file;