summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja/g++.other/debug9.C
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.other/debug9.C')
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/debug9.C42
1 files changed, 42 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.other/debug9.C b/gcc/testsuite/g++.old-deja/g++.other/debug9.C
new file mode 100644
index 000000000..2ddc927d8
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.other/debug9.C
@@ -0,0 +1,42 @@
+// { dg-do assemble }
+// { dg-options "-g" }
+
+// Copyright (C) 2001 Free Software Foundation, Inc.
+// Contributed by Jeffrey D. Oldham 2001 May 17 <oldham@codesourcery.com>.
+
+// This illustrates that debugging information for CONCAT RTL's
+// supports only COMPLEX_TYPE types, not other types.
+
+namespace std {
+ template<typename _Tp> class complex;
+
+ template<> class complex<double>
+ {
+ public:
+ complex(double =0.0, double =0.0);
+
+ private:
+ typedef __complex__ double _ComplexT;
+ _ComplexT _M_value;
+ };
+
+ inline
+ complex<double>::complex(double __r, double __i)
+ {
+ __real__ _M_value = __r;
+ __imag__ _M_value = __i;
+ }
+}
+
+template <int Dim, class T>
+class Engine
+{
+public:
+ Engine (T val = T()) {}
+};
+
+int main()
+{
+ Engine<1, std::complex<double> > e;
+ return 0;
+}