From 80bd5fab6252d1cdff1ca95096ebe9b3053c8ec3 Mon Sep 17 00:00:00 2001 From: Pedro Alves Date: Wed, 4 Feb 2015 11:05:58 +0100 Subject: [PATCH] Fix build breakage due to event loop simplification MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit commit 70b66289 (Simplify event-loop core, remove two-step event processing) causes a build failure when compiling GDB with gcc/-O2: gdb/event-loop.c: In function ‘gdb_do_one_event’: gdb/event-loop.c:296:10: error: ‘res’ may be used uninitialized in this function [-Werror=maybe-uninitialized] if (res > 0) ^ GCC isn't realizing that event_source_head can never be > 2 and that therefore 'res' is always initialized in all possible paths. Adding a default case that internal_error's makes GCC realize that. Tested on x86_64 Fedora 20. gdb/ChangeLog: 2015-02-04 Pedro Alves Fix build breakage. * event-loop.c (gdb_do_one_event): Add default switch case. --- gdb/ChangeLog | 5 +++++ gdb/event-loop.c | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 2266c111634..1116853641c 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2015-02-04 Pedro Alves + + Fix build breakage. + * event-loop.c (gdb_do_one_event): Add default switch case. + 2015-02-03 Jan Kratochvil Filter out inferior gcc option -fpreprocessed. diff --git a/gdb/event-loop.c b/gdb/event-loop.c index 7425b3acaa0..a2b41a75daf 100644 --- a/gdb/event-loop.c +++ b/gdb/event-loop.c @@ -287,6 +287,10 @@ gdb_do_one_event (void) /* Are there any asynchronous event handlers ready? */ res = check_async_event_handlers (); break; + default: + internal_error (__FILE__, __LINE__, + "unexpected event_source_head %d", + event_source_head); } event_source_head++; -- 2.30.2