Fix build breakage due to event loop simplification

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  <palves@redhat.com>

	Fix build breakage.
	* event-loop.c (gdb_do_one_event): Add default switch case.
This commit is contained in:
Pedro Alves 2015-02-04 11:05:58 +01:00
parent 23081de018
commit 80bd5fab62
2 changed files with 9 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2015-02-04 Pedro Alves <palves@redhat.com>
Fix build breakage.
* event-loop.c (gdb_do_one_event): Add default switch case.
2015-02-03 Jan Kratochvil <jan.kratochvil@redhat.com>
Filter out inferior gcc option -fpreprocessed.

View File

@ -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++;