From 0c9b182b9f454fb2d5f57b17d22e860490c3c68f Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Tue, 6 Sep 2005 22:07:13 +0200 Subject: re PR c/23075 (Redundant / bogus warning) PR c/23075 * c-typeck.c (c_finish_return): Set TREE_NO_WARNING on RETURN_EXPR if "return with no value, in function returning non-void" warning has been issued. * tree-cfg.c (execute_warn_function_return): Don't look at RETURN_EXPRs with TREE_NO_WARNING set. * typeck.c (check_return_expr): Add no_warning argument. Set *no_warning to true if "return-statement with no value, in function returning" warning has been issued. * cp-tree.h (check_return_expr): Adjust prototype. * semantics.c (finish_return_stmt): Set TREE_NO_WARNING if check_return_expr set *no_warning to true. * gcc.dg/pr23075.c: New test. * g++.dg/warn/pr23075.C: New test. From-SVN: r103967 --- gcc/cp/cp-tree.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gcc/cp/cp-tree.h') diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h index 2803f51..cf24129 100644 --- a/gcc/cp/cp-tree.h +++ b/gcc/cp/cp-tree.h @@ -4322,7 +4322,7 @@ extern tree type_after_usual_arithmetic_conversions (tree, tree); extern tree composite_pointer_type (tree, tree, tree, tree, const char*); extern tree merge_types (tree, tree); -extern tree check_return_expr (tree); +extern tree check_return_expr (tree, bool *); #define cp_build_binary_op(code, arg1, arg2) \ build_binary_op(code, arg1, arg2, 1) #define cxx_sizeof(T) cxx_sizeof_or_alignof_type (T, SIZEOF_EXPR, true) -- cgit v1.1