diff dmd/mtype.h @ 1024:9167d492cbc2

Abstracted more (most) ABI details out of the normal codegen.
author Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
date Tue, 03 Mar 2009 02:51:21 +0100
parents a904cc9bc064
children 4d366a75d95f
line wrap: on
line diff
--- a/dmd/mtype.h	Sun Mar 01 22:40:15 2009 +0100
+++ b/dmd/mtype.h	Tue Mar 03 02:51:21 2009 +0100
@@ -24,6 +24,7 @@
 // llvm
 #include "../ir/irtype.h"
 namespace llvm { class Type; }
+struct IrFuncTy;
 
 struct Scope;
 struct Identifier;
@@ -436,17 +437,7 @@
     unsigned totym();
 
     // LDC
-    bool retInPtr;
-    bool usesThis;
-    bool usesNest;
-    // when the last arg is a struct and passed in EAX, this holds its real type
-    const llvm::Type* structInregArg;
-    unsigned retAttrs;
-    unsigned thisAttrs; // also used for nest
-    // parameter index in the llvm function that contains the first not-implicit arg
-    size_t firstRealArg;
-
-    bool reverseParams;
+    IrFuncTy* fty;
 };
 
 struct TypeDelegate : Type
@@ -699,9 +690,6 @@
     static void argsToDecoBuffer(OutBuffer *buf, Arguments *arguments);
     static size_t dim(Arguments *arguments);
     static Argument *getNth(Arguments *arguments, size_t nth, size_t *pn = NULL);
-
-    // LDC
-    unsigned llvmAttrs;
 };
 
 extern int PTRSIZE;