comparison gen/functions.cpp @ 1607:207a8a438dea

Merge DMD r253: refactor: Argument => Parameter --- dmd/arrayop.c | 30 ++++---- dmd/arraytypes.h | 2 +- dmd/class.c | 8 +- dmd/declaration.c | 10 ++-- dmd/declaration.h | 16 ++-- dmd/doc.c | 12 ++-- dmd/dsymbol.c | 4 +- dmd/expression.c | 48 +++++++------- dmd/expression.h | 32 +++++----- dmd/func.c | 78 +++++++++++----------- dmd/init.c | 2 +- dmd/interpret.c | 8 +- dmd/mtype.c | 190 ++++++++++++++++++++++++++-------------------------- dmd/mtype.h | 32 +++++----- dmd/opover.c | 34 +++++----- dmd/parse.c | 40 ++++++------ dmd/parse.h | 2 +- dmd/statement.c | 90 +++++++++++++------------- dmd/statement.h | 14 ++-- dmd/struct.c | 8 +- dmd/template.c | 30 ++++---- gen/functions.cpp | 10 ++-- gen/functions.h | 2 +- gen/tocall.cpp | 10 ++-- gen/typinf.cpp | 6 +- 25 files changed, 359 insertions(+), 359 deletions(-)
author Leandro Lucarella <llucax@gmail.com>
date Wed, 06 Jan 2010 15:18:20 -0300
parents 8d086d552909
children 40bd4a0d4870
comparison
equal deleted inserted replaced
1606:1b24e9c7cc26 1607:207a8a438dea
114 fatal(); 114 fatal();
115 } 115 }
116 } 116 }
117 117
118 // if this _Dmain() doesn't have an argument, we force it to have one 118 // if this _Dmain() doesn't have an argument, we force it to have one
119 int nargs = Argument::dim(f->parameters); 119 int nargs = Parameter::dim(f->parameters);
120 120
121 if (ismain && nargs == 0) 121 if (ismain && nargs == 0)
122 { 122 {
123 Type* mainargs = Type::tchar->arrayOf()->arrayOf(); 123 Type* mainargs = Type::tchar->arrayOf()->arrayOf();
124 fty.args.push_back(new IrFuncTyArg(mainargs, false)); 124 fty.args.push_back(new IrFuncTyArg(mainargs, false));
126 } 126 }
127 // add explicit parameters 127 // add explicit parameters
128 else for (int i = 0; i < nargs; i++) 128 else for (int i = 0; i < nargs; i++)
129 { 129 {
130 // get argument 130 // get argument
131 Argument* arg = Argument::getNth(f->parameters, i); 131 Parameter* arg = Parameter::getNth(f->parameters, i);
132 132
133 // reference semantics? ref, out and static arrays are 133 // reference semantics? ref, out and static arrays are
134 bool byref = (arg->storageClass & (STCref|STCout)) || (arg->type->toBasetype()->ty == Tsarray); 134 bool byref = (arg->storageClass & (STCref|STCout)) || (arg->type->toBasetype()->ty == Tsarray);
135 135
136 Type* argtype = arg->type; 136 Type* argtype = arg->type;
379 ADD_PA(arg_argptr) 379 ADD_PA(arg_argptr)
380 380
381 #undef ADD_PA 381 #undef ADD_PA
382 382
383 // set attrs on the rest of the arguments 383 // set attrs on the rest of the arguments
384 size_t n = Argument::dim(f->parameters); 384 size_t n = Parameter::dim(f->parameters);
385 LLSmallVector<unsigned,8> attrptr(n, 0); 385 LLSmallVector<unsigned,8> attrptr(n, 0);
386 386
387 for (size_t k = 0; k < n; ++k) 387 for (size_t k = 0; k < n; ++k)
388 { 388 {
389 Argument* fnarg = Argument::getNth(f->parameters, k); 389 Parameter* fnarg = Parameter::getNth(f->parameters, k);
390 assert(fnarg); 390 assert(fnarg);
391 391
392 attrptr[k] = f->fty.args[k]->attrs; 392 attrptr[k] = f->fty.args[k]->attrs;
393 } 393 }
394 394
860 return llvm::cast<llvm::FunctionType>(DtoType(f->type)); 860 return llvm::cast<llvm::FunctionType>(DtoType(f->type));
861 } 861 }
862 862
863 ////////////////////////////////////////////////////////////////////////////////////////// 863 //////////////////////////////////////////////////////////////////////////////////////////
864 864
865 DValue* DtoArgument(Argument* fnarg, Expression* argexp) 865 DValue* DtoArgument(Parameter* fnarg, Expression* argexp)
866 { 866 {
867 Logger::println("DtoArgument"); 867 Logger::println("DtoArgument");
868 LOG_SCOPE; 868 LOG_SCOPE;
869 869
870 DValue* arg = argexp->toElem(gIR); 870 DValue* arg = argexp->toElem(gIR);