summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>2014-05-17 20:22:30 +0000
committerpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>2014-05-17 20:22:30 +0000
commit0345f05c314708ce008d73014e3415c2d5811a3a (patch)
tree2e336a35fd802b97bfffd0cad9cffc2175d9350d /gcc
parenta8bd4d823ee25b8e2a8df1adbd8abab7eb49d118 (diff)
downloadgcc-0345f05c314708ce008d73014e3415c2d5811a3a.tar.gz
2014-05-17 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/52875 * g++.dg/cpp0x/decltype58.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210562 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/g++.dg/cpp0x/decltype58.C24
2 files changed, 29 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 3c7ff36e95f..d543cb3777a 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2014-05-17 Paolo Carlini <paolo.carlini@oracle.com>
+
+ PR c++/52875
+ * g++.dg/cpp0x/decltype58.C: New.
+
2014-05-17 Marc Glisse <marc.glisse@inria.fr>
PR tree-optimization/61140
diff --git a/gcc/testsuite/g++.dg/cpp0x/decltype58.C b/gcc/testsuite/g++.dg/cpp0x/decltype58.C
new file mode 100644
index 00000000000..c3918bf8474
--- /dev/null
+++ b/gcc/testsuite/g++.dg/cpp0x/decltype58.C
@@ -0,0 +1,24 @@
+// PR c++/52875
+// { dg-do compile { target c++11 } }
+
+struct A
+{
+ friend void swap(A&,A&) {}
+};
+
+class B
+{
+ A a;
+
+ template <class T>
+ friend auto swap(T& x, T& y) -> decltype(swap(x.a,y.a))
+ {
+ swap(x.a,y.a);
+ }
+};
+
+int main()
+{
+ B x, y;
+ swap(x, y);
+}