aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorPaolo Carlini <paolo@gcc.gnu.org>2013-06-23 23:36:34 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2013-06-23 23:36:34 +0000
commit43a85edfb5eb78b1c4a263a6103020c665b94ce4 (patch)
treede251c5241471294506e59094ff6c95eeaa4e3d8 /gcc
parentb7df379fdf7114e5e38d419256907535988686d2 (diff)
downloadgcc-43a85edfb5eb78b1c4a263a6103020c665b94ce4.zip
gcc-43a85edfb5eb78b1c4a263a6103020c665b94ce4.tar.gz
gcc-43a85edfb5eb78b1c4a263a6103020c665b94ce4.tar.bz2
sfinae47.C: New.
2013-06-23 Paolo Carlini <paolo.carlini@oracle.com> * g++.dg/cpp0x/sfinae47.C: New. From-SVN: r200353
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog18
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/sfinae47.C25
2 files changed, 36 insertions, 7 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 06e6847..084a20f 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2013-06-23 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * g++.dg/cpp0x/sfinae47.C: New.
+
2013-06-23 Oleg Endo <olegendo@gcc.gnu.org>
PR target/52483
@@ -9,13 +13,13 @@
2013-06-23 Sriraman Tallam <tmsriram@google.com>
- * testsuite/gcc.target/i386/intrinsics_1.c: New test.
- * testsuite/gcc.target/i386/intrinsics_2.c: Ditto.
- * testsuite/gcc.target/i386/intrinsics_3.c: Ditto.
- * testsuite/gcc.target/i386/intrinsics_4.c: Ditto.
- * testsuite/gcc.target/i386/intrinsics_5.c: Ditto.
- * testsuite/gcc.target/i386/intrinsics_6.c: Ditto.
- * testsuite/gcc.target/i386/avx-1.c: Provide macros for builtins
+ * gcc.target/i386/intrinsics_1.c: New test.
+ * gcc.target/i386/intrinsics_2.c: Ditto.
+ * gcc.target/i386/intrinsics_3.c: Ditto.
+ * gcc.target/i386/intrinsics_4.c: Ditto.
+ * gcc.target/i386/intrinsics_5.c: Ditto.
+ * gcc.target/i386/intrinsics_6.c: Ditto.
+ * gcc.target/i386/avx-1.c: Provide macros for builtins
needing immediate arguments in f16cintrin.h and rtmintrin.h.
2013-06-21 Tobias Burnus <burnus@net-b.de>
diff --git a/gcc/testsuite/g++.dg/cpp0x/sfinae47.C b/gcc/testsuite/g++.dg/cpp0x/sfinae47.C
new file mode 100644
index 0000000..1058a28
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp0x/sfinae47.C
@@ -0,0 +1,25 @@
+// Source: Comment 16 of PR51213
+// { dg-do compile { target c++11 } }
+
+template <class T>
+T && declval();
+
+template <class T>
+constexpr auto hasSize(int) -> decltype(declval<T&>().size(), bool())
+{ return true; }
+
+template <class T>
+constexpr bool hasSize(...)
+{ return false; }
+
+struct A
+{
+ int size();
+};
+
+struct B : private A
+{
+};
+
+static_assert(hasSize<A>(0), "A");
+static_assert(!hasSize<B>(0), "B");