[llvm-commits] CVS: llvm/test/Regression/C++Frontend/2007-01-06-PtrMethodInit.cpp
Chris Lattner
sabre at nondot.org
Sat Jan 6 16:02:35 PST 2007
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 ()}
+ };
More information about the llvm-commits
mailing list