mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-11-04 05:17:07 +00:00 
			
		
		
		
	git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32967 91177308-0d34-0410-b5e6-96231b3b80d8
		
			
				
	
	
		
			76 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			76 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
// 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 ()}
 | 
						|
};
 |