aboutsummaryrefslogtreecommitdiff
path: root/gcc/c/c-typeck.c
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely.gcc@gmail.com>2012-10-29 23:21:35 +0000
committerJonathan Wakely <redi@gcc.gnu.org>2012-10-29 23:21:35 +0000
commit880661a48b6e2f3f4b3c05860d3c9737b2a1dcc8 (patch)
treecc94a67e7b17460335b8b668eac1f55a166543ed /gcc/c/c-typeck.c
parent2adaa795e40c898f70aa58a4487587490304ddaa (diff)
downloadgcc-880661a48b6e2f3f4b3c05860d3c9737b2a1dcc8.zip
gcc-880661a48b6e2f3f4b3c05860d3c9737b2a1dcc8.tar.gz
gcc-880661a48b6e2f3f4b3c05860d3c9737b2a1dcc8.tar.bz2
re PR c++/54930 (Add warning switch for "returning reference to temporary" and similar)
gcc/c-family: PR c++/54930 * c.opt (Wreturn_local_addr): Define new option. gcc/c: PR c++/54930 * c-typeck.c (c_finish_return): Use OPT_Wreturn_local_addr. gcc/cp: PR c++/54930 * typeck.c (maybe_warn_about_returning_address_of_local): Use OPT_Wreturn_local_addr. gcc: PR c++/54930 * doc/invoke.texi (Warning Options): Document -Wno-return-local-addr. gcc/testsuite: PR c++/54930 * gcc.dg/Wreturn-local-addr.c: New. * g++.dg/warn/Wno-return-local-addr.C: New. * g++.dg/warn/Wreturn-local-addr.C: New. From-SVN: r192968
Diffstat (limited to 'gcc/c/c-typeck.c')
-rw-r--r--gcc/c/c-typeck.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/c/c-typeck.c b/gcc/c/c-typeck.c
index 4855933..cf63355 100644
--- a/gcc/c/c-typeck.c
+++ b/gcc/c/c-typeck.c
@@ -8742,7 +8742,8 @@ c_finish_return (location_t loc, tree retval, tree origtype)
&& !TREE_STATIC (inner)
&& DECL_CONTEXT (inner) == current_function_decl)
warning_at (loc,
- 0, "function returns address of local variable");
+ OPT_Wreturn_local_addr, "function returns address "
+ "of local variable");
break;
default: