aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Carlini <paolo@gcc.gnu.org>2019-05-22 08:23:07 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2019-05-22 08:23:07 +0000
commitfc907923f19ce950ff418faf27739d5d65678457 (patch)
tree3f0a69df432b03c955ec1c4b621d7b607c68dea6
parent9f7c6db60dbb660fca7f8106feef540d1d316c60 (diff)
downloadgcc-fc907923f19ce950ff418faf27739d5d65678457.zip
gcc-fc907923f19ce950ff418faf27739d5d65678457.tar.gz
gcc-fc907923f19ce950ff418faf27739d5d65678457.tar.bz2
decltype-pr66548.C: Reinstate correct version.
2019-05-22 Paolo Carlini <paolo.carlini@oracle.com> * g++.dg/cpp0x/decltype-pr66548.C: Reinstate correct version. From-SVN: r271507
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/decltype-pr66548.C21
1 files changed, 21 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/cpp0x/decltype-pr66548.C b/gcc/testsuite/g++.dg/cpp0x/decltype-pr66548.C
new file mode 100644
index 0000000..93a7d49
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp0x/decltype-pr66548.C
@@ -0,0 +1,21 @@
+// PR c++/66548 - Invalid class member access expression in decltype
+// sometimes accepted
+// { dg-do compile }
+// { dg-options "-ftrack-macro-expansion=0" }
+
+#if __cplusplus < 201103L
+# define decltype __typeof__
+#endif
+
+struct Meow {};
+
+void f ()
+{
+ decltype (Meow.purr ()) d; // { dg-error "expected primary-expression" "pr89875" { xfail c++98_only } }
+ (void)&d;
+}
+
+void g ()
+{
+ decltype (Meow.purr); // { dg-error "expected primary-expression" }
+}