PR c/60439
	* doc/invoke.texi: Document -Wswitch-bool.
	* function.c (stack_protect_epilogue): Cast controlling expression of
	the switch to int.
	* gengtype.c (walk_type): Generate switch expression with its
	controlling expression cast to int.
c/
	* c-parser.c (c_parser_switch_statement): Pass explicit_cast_p to
	c_start_case.
	* c-tree.h (c_start_case): Update.
	* c-typeck.c (c_start_case): Add new boolean parameter.  Warn if
	switch condition has boolean value.
cp/
	* semantics.c (finish_switch_cond): Warn if switch condition has
	boolean value.
c-family/
	* c.opt (Wswitch-bool): New option.
testsuite/
	* c-c++-common/pr60439.c: New test.
	* g++.dg/eh/scope1.C (f4): Add dg-warning.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211194 138bc75d-0d04-0410-961f-82ee72b054a4