diff options
author | Mark Mitchell <mark@codesourcery.com> | 2003-12-06 22:11:45 +0000 |
---|---|---|
committer | Mark Mitchell <mmitchel@gcc.gnu.org> | 2003-12-06 22:11:45 +0000 |
commit | a6c0d7722409af95b4e7c0e718bf85a07d679dcd (patch) | |
tree | e8af9134037c4b519c2df775026d650d51634041 /gcc/testsuite | |
parent | 9be6533af6dcbffc1f2ae91d7d108cf5171b75d4 (diff) | |
download | gcc-a6c0d7722409af95b4e7c0e718bf85a07d679dcd.zip gcc-a6c0d7722409af95b4e7c0e718bf85a07d679dcd.tar.gz gcc-a6c0d7722409af95b4e7c0e718bf85a07d679dcd.tar.bz2 |
re PR c++/13323 (Template code does not compile in presence of typedef)
PR c++/13323
* class.c (same_signature_p): Handle conversion operators
correctly.
(check_for_override): Likewise.
PR c++/13323
* g++.dg/inherit/operator2.C: New test.
From-SVN: r74370
Diffstat (limited to 'gcc/testsuite')
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/inherit/operator2.C | 22 |
2 files changed, 27 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index f6fd9ff..d65ed73 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2003-12-06 Mark Mitchell <mark@codesourcery.com> + + PR c++/13323 + * g++.dg/inherit/operator2.C: New test. + 2003-12-05 Mark Mitchell <mark@codesourcery.com> PR c++/13305 diff --git a/gcc/testsuite/g++.dg/inherit/operator2.C b/gcc/testsuite/g++.dg/inherit/operator2.C new file mode 100644 index 0000000..09407e1 --- /dev/null +++ b/gcc/testsuite/g++.dg/inherit/operator2.C @@ -0,0 +1,22 @@ +typedef int INT_TYPEDEF; + +template<class T> +class TypedIfc +{ +public: + virtual ~TypedIfc() { } + virtual operator const T&() const = 0; + virtual const T& operator= (const T& t) = 0; +}; + +template<class Tnative> +class NullIfc : public TypedIfc<Tnative> +{ +public: + const Tnative& operator= (const Tnative& t) { return t; } + operator const Tnative&() const { return *(Tnative *)0; } +}; + +typedef TypedIfc<INT_TYPEDEF> INT_TYPEDEFIfc; + +NullIfc<int> i32; |