Mercurial > projects > ldc
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; |