diff options
author | Anton Korobeynikov <asl@math.spbu.ru> | 2008-05-29 19:17:15 +0000 |
---|---|---|
committer | Anton Korobeynikov <asl@math.spbu.ru> | 2008-05-29 19:17:15 +0000 |
commit | e6ccd113b9ad7c40aa5f71e526537bbeac33d80b (patch) | |
tree | 9059e4d73006c90d725ee560da049a3ff6b66691 /test/FrontendC++/2007-01-06-PtrMethodInit.cpp | |
parent | 885f9d99645c58cffc35e6e4d4d3c9baa4cb0f15 (diff) | |
download | external_llvm-e6ccd113b9ad7c40aa5f71e526537bbeac33d80b.zip external_llvm-e6ccd113b9ad7c40aa5f71e526537bbeac33d80b.tar.gz external_llvm-e6ccd113b9ad7c40aa5f71e526537bbeac33d80b.tar.bz2 |
For PR1338: Rename test dirs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51695 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/FrontendC++/2007-01-06-PtrMethodInit.cpp')
-rw-r--r-- | test/FrontendC++/2007-01-06-PtrMethodInit.cpp | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/test/FrontendC++/2007-01-06-PtrMethodInit.cpp b/test/FrontendC++/2007-01-06-PtrMethodInit.cpp new file mode 100644 index 0000000..f87c8d8 --- /dev/null +++ b/test/FrontendC++/2007-01-06-PtrMethodInit.cpp @@ -0,0 +1,75 @@ +// RUN: %llvmgxx %s -emit-llvm -S -o - +// PR1084 + +extern "C" +{ + typedef unsigned char PRUint8; + typedef unsigned int PRUint32; +} +typedef PRUint32 nsresult; +struct nsID +{ +}; +typedef nsID nsIID; +class nsISupports +{ +}; +extern "C++" +{ + template < class T > struct nsCOMTypeInfo + { + static const nsIID & GetIID () + { + } + }; +} + +class nsIDOMEvent:public nsISupports +{ +}; +class nsIDOMEventListener:public nsISupports +{ +public:static const nsIID & GetIID () + { + } + virtual nsresult + __attribute__ ((regparm (0), cdecl)) HandleEvent (nsIDOMEvent * event) = + 0; +}; +class nsIDOMMouseListener:public nsIDOMEventListener +{ +public:static const nsIID & GetIID () + { + static const nsIID iid = { + }; + } + virtual nsresult + __attribute__ ((regparm (0), + cdecl)) MouseDown (nsIDOMEvent * aMouseEvent) = 0; +}; +typedef +typeof (&nsIDOMEventListener::HandleEvent) + GenericHandler; + struct EventDispatchData + { + PRUint32 message; + GenericHandler method; + PRUint8 bits; + }; + struct EventTypeData + { + const EventDispatchData *events; + int numEvents; + const nsIID *iid; + }; + static const EventDispatchData sMouseEvents[] = { + { + (300 + 2), + reinterpret_cast < GenericHandler > (&nsIDOMMouseListener::MouseDown), + 0x01} + }; +static const EventTypeData sEventTypes[] = { + { + sMouseEvents, (sizeof (sMouseEvents) / sizeof (sMouseEvents[0])), + &nsCOMTypeInfo < nsIDOMMouseListener >::GetIID ()} +}; |