r207001 - in /trunk/gcc: cp/ChangeLog cp/cp-tre...
jason@gcc.gnu.org
jason@gcc.gnu.org
Thu Jan 23 18:54:00 GMT 2014
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
More information about the Gcc-cvs
mailing list