http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55189
--- Comment #7 from Jason Merrill <jason at gcc dot gnu.org> --- Author: jason Date: Thu Jan 23 18:54:08 2014 New Revision: 207001 URL: http://gcc.gnu.org/viewcvs?rev=207001&root=gcc&view=rev Log: PR c++/55189 * cp-tree.h (struct language_function): Add infinite_loop and infinite_loops. (current_function_infinite_loop): New. * semantics.c (begin_maybe_infinite_loop, end_maybe_infinite_loop) (break_maybe_infinite_loop): New. (finish_while_stmt_cond, finish_while_stmt, begin_do_stmt) (finish_do_stmt, finish_for_cond, finish_for_stmt) (begin_range_for_stmt): Use them. * decl.c (finish_function): Don't warn about missing return if current_function_infinite_loop. * pt.c (instantiate_decl): Copy current_function_infinite_loop. * parser.c (cp_parser_jump_statement): Call break_maybe_infinite_loop. Added: trunk/gcc/testsuite/g++.dg/warn/Wreturn-type-9.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/cp-tree.h trunk/gcc/cp/decl.c trunk/gcc/cp/parser.c trunk/gcc/cp/pt.c trunk/gcc/cp/semantics.c