Changes in directory llvm/test/Regression/C++Frontend:
2007-01-06-PtrMethodInit.cpp added (r1.1) --- Log message: New testcase for PR1084: http://llvm.org/PR1084 --- Diffs of the changes: (+75 -0) 2007-01-06-PtrMethodInit.cpp | 75 +++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 75 insertions(+) Index: llvm/test/Regression/C++Frontend/2007-01-06-PtrMethodInit.cpp diff -c /dev/null llvm/test/Regression/C++Frontend/2007-01-06-PtrMethodInit.cpp:1.1 *** /dev/null Sat Jan 6 18:02:30 2007 --- llvm/test/Regression/C++Frontend/2007-01-06-PtrMethodInit.cpp Sat Jan 6 18:02:20 2007 *************** *** 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 ()} + }; _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits