From 57436cb10e04b6aeb3bf998a48d6c6ea47abbad6 Mon Sep 17 00:00:00 2001 From: Martin Sebor Date: Tue, 6 Aug 2019 00:08:45 +0000 Subject: [PATCH] PR c++/60517 - warning/error for taking address of member of a temporary object testsuite/ChangeLog: * g++.dg/pr60517.C: New test. From-SVN: r274130 --- gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/g++.dg/pr60517.C | 22 ++++++++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 gcc/testsuite/g++.dg/pr60517.C diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 34a9199..4b871aa 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2019-08-05 Martin Sebor + + PR c++/60517 + * g++.dg/pr60517.C: New test. + 2019-08-02 Tom Honermann PR c++/88095 diff --git a/gcc/testsuite/g++.dg/pr60517.C b/gcc/testsuite/g++.dg/pr60517.C new file mode 100644 index 0000000..2997fa1 --- /dev/null +++ b/gcc/testsuite/g++.dg/pr60517.C @@ -0,0 +1,22 @@ +// PR c++/60517 - warning/error for taking address of member of a temporary +// object +// { dg-do compile } + +class B +{ +public: + double x[2]; +}; + +class A +{ + B b; +public: + B getB () { return b; } +}; + +double foo (A a) +{ + double * x = &(a.getB().x[0]); // { dg-error "taking address of rvalue" } + return x[0]; +} -- 2.7.4