comparison dmd2/mtype.c @ 1028:964af20461a9

Merged ABI changes into D2 frontend.
author Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
date Tue, 03 Mar 2009 14:10:37 +0100
parents 799dbdf9c461
children 4d366a75d95f
comparison
equal deleted inserted replaced
1027:c061e0725d89 1028:964af20461a9
3043 this->linkage = linkage; 3043 this->linkage = linkage;
3044 this->inuse = 0; 3044 this->inuse = 0;
3045 this->isnothrow = false; 3045 this->isnothrow = false;
3046 this->ispure = false; 3046 this->ispure = false;
3047 this->isref = false; 3047 this->isref = false;
3048 this->retInPtr = false; 3048
3049 this->usesThis = false; 3049 // LDC
3050 this->usesNest = false; 3050 this->fty = NULL;
3051 this->structInregArg = NULL;
3052 this->retAttrs = 0;
3053 this->thisAttrs = 0;
3054 this->reverseParams = false;
3055 this->firstRealArg = 0;
3056 } 3051 }
3057 3052
3058 Type *TypeFunction::syntaxCopy() 3053 Type *TypeFunction::syntaxCopy()
3059 { 3054 {
3060 Type *treturn = next ? next->syntaxCopy() : NULL; 3055 Type *treturn = next ? next->syntaxCopy() : NULL;
3062 TypeFunction *t = new TypeFunction(params, treturn, varargs, linkage); 3057 TypeFunction *t = new TypeFunction(params, treturn, varargs, linkage);
3063 t->mod = mod; 3058 t->mod = mod;
3064 t->isnothrow = isnothrow; 3059 t->isnothrow = isnothrow;
3065 t->ispure = ispure; 3060 t->ispure = ispure;
3066 t->isref = isref; 3061 t->isref = isref;
3067 t->retInPtr = retInPtr;
3068 t->usesThis = usesThis;
3069 t->usesNest = usesNest;
3070 t->retAttrs = retAttrs;
3071 t->thisAttrs = thisAttrs;
3072 t->reverseParams = reverseParams;
3073 t->firstRealArg = firstRealArg;
3074 return t; 3062 return t;
3075 } 3063 }
3076 3064
3077 /******************************* 3065 /*******************************
3078 * Returns: 3066 * Returns:
6117 { 6105 {
6118 this->type = type; 6106 this->type = type;
6119 this->ident = ident; 6107 this->ident = ident;
6120 this->storageClass = storageClass; 6108 this->storageClass = storageClass;
6121 this->defaultArg = defaultArg; 6109 this->defaultArg = defaultArg;
6122 this->llvmAttrs = 0;
6123 } 6110 }
6124 6111
6125 Argument *Argument::syntaxCopy() 6112 Argument *Argument::syntaxCopy()
6126 { 6113 {
6127 Argument *a = new Argument(storageClass, 6114 Argument *a = new Argument(storageClass,
6128 type ? type->syntaxCopy() : NULL, 6115 type ? type->syntaxCopy() : NULL,
6129 ident, 6116 ident,
6130 defaultArg ? defaultArg->syntaxCopy() : NULL); 6117 defaultArg ? defaultArg->syntaxCopy() : NULL);
6131 a->llvmAttrs = llvmAttrs;
6132 return a; 6118 return a;
6133 } 6119 }
6134 6120
6135 Arguments *Argument::arraySyntaxCopy(Arguments *args) 6121 Arguments *Argument::arraySyntaxCopy(Arguments *args)
6136 { Arguments *a = NULL; 6122 { Arguments *a = NULL;