summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja/g++.other/mangle10.C
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.other/mangle10.C')
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/mangle10.C26
1 files changed, 26 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.other/mangle10.C b/gcc/testsuite/g++.old-deja/g++.other/mangle10.C
new file mode 100644
index 000000000..b24fe716e
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.other/mangle10.C
@@ -0,0 +1,26 @@
+// { dg-do assemble }
+
+template<int T>
+struct A {
+ char *a;
+ A (const char* x)
+ {
+ a = (char*) x;
+ }
+};
+
+template<int U, int V, class T>
+struct B {
+ T a[V-U+1];
+ friend A<V-U+1> f (B const &x)
+ {
+ return A<V-U+1> ((char*) x.a);
+ }
+};
+
+const int a = 8;
+
+typedef B<1,a,int> C;
+struct D {
+ C x;
+};