aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Polacek <polacek@redhat.com>2019-05-14 21:19:01 +0000
committerMarek Polacek <mpolacek@gcc.gnu.org>2019-05-14 21:19:01 +0000
commit9177a016508696e664df5fa20ce44565978c34c4 (patch)
tree9844e5dcee02c8f8dabb9e5500107a7ed83f2cb1
parent1d7dcb0ed2f9077727fc45c7d694a865fa974ff6 (diff)
downloadgcc-9177a016508696e664df5fa20ce44565978c34c4.zip
gcc-9177a016508696e664df5fa20ce44565978c34c4.tar.gz
gcc-9177a016508696e664df5fa20ce44565978c34c4.tar.bz2
re PR c++/68918 (spurious "invalid use of incomplete type" in trailing return type)
PR c++/68918 * g++.dg/cpp0x/decltype71.C: New test. From-SVN: r271193
-rw-r--r--gcc/testsuite/ChangeLog3
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/decltype71.C25
2 files changed, 28 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 3dfe6b0..93aa83b 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,8 @@
2019-05-14 Marek Polacek <polacek@redhat.com>
+ PR c++/68918
+ * g++.dg/cpp0x/decltype71.C: New test.
+
PR c++/70156
* g++.dg/init/static5.C: New test.
diff --git a/gcc/testsuite/g++.dg/cpp0x/decltype71.C b/gcc/testsuite/g++.dg/cpp0x/decltype71.C
new file mode 100644
index 0000000..24c3abf
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp0x/decltype71.C
@@ -0,0 +1,25 @@
+// PR c++/68918
+// { dg-do compile { target c++11 } }
+
+struct foo {
+ static void a() {}
+
+ auto b() const -> decltype( this->a() )
+ {}
+
+ template<typename X>
+ auto c() -> decltype( this->a() )
+ {}
+
+ template<typename X>
+ auto d() const -> decltype( a() )
+ {}
+
+ template<typename X>
+ auto e() const -> decltype( this->a() )
+ {}
+};
+
+int main()
+{
+}