Commit ac853c90 by Paolo Carlini Committed by Paolo Carlini

re PR c++/80896 ([[nodiscard]] is ignored for functions returning references)

/cp
2017-06-01  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/80896
	* cvt.c (convert_to_void): Possibly call maybe_warn_nodiscard
	for case INDIRECT_REF too in the main switch.

/testsuite
2017-06-01  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/80896
	* g++.dg/cpp1z/nodiscard5.C: New.

From-SVN: r248784
parent 7841f13c
2017-06-01 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/80896
* cvt.c (convert_to_void): Possibly call maybe_warn_nodiscard
for case INDIRECT_REF too in the main switch.
2017-05-31 Jason Merrill <jason@redhat.com>
PR c++/80840 - ICE with constexpr and reference
......
......@@ -1296,6 +1296,8 @@ convert_to_void (tree expr, impl_conv_void implicit, tsubst_flags_t complain)
&& !is_reference)
warning_at (loc, OPT_Wunused_value, "value computed is not used");
expr = TREE_OPERAND (expr, 0);
if (TREE_CODE (expr) == CALL_EXPR)
maybe_warn_nodiscard (expr, implicit);
}
break;
......
2017-06-01 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/80896
* g++.dg/cpp1z/nodiscard5.C: New.
2017-06-01 Claudiu Zissulescu <claziss@synopsys.com>
* gcc.target/arc/pr9001195952.c: New test.
......
// PR c++/80896
// { dg-do compile { target c++11 } }
int x = 42;
[[nodiscard]] int& func() { return x; }
int main() { func(); } // { dg-warning "ignoring return value" }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment