Mercurial > projects > ldc
comparison gen/functions.cpp @ 241:53568c37cfa7 trunk
[svn r258] Fixed: we were passing static arrays by value.
author | lindquist |
---|---|
date | Mon, 09 Jun 2008 00:28:02 +0200 |
parents | 0db62b770a49 |
children | a95056b3c996 |
comparison
equal
deleted
inserted
replaced
240:0db62b770a49 | 241:53568c37cfa7 |
---|---|
122 else if (isaArray(at)) { | 122 else if (isaArray(at)) { |
123 Logger::println("sarray param"); | 123 Logger::println("sarray param"); |
124 assert(argT->ty == Tsarray); | 124 assert(argT->ty == Tsarray); |
125 //paramvec.push_back(getPtrToType(at->getContainedType(0))); | 125 //paramvec.push_back(getPtrToType(at->getContainedType(0))); |
126 paramvec.push_back(getPtrToType(at)); | 126 paramvec.push_back(getPtrToType(at)); |
127 arg->llvmByVal = !refOrOut; | 127 //arg->llvmByVal = !refOrOut; // static array are passed by reference |
128 } | 128 } |
129 else if (llvm::isa<llvm::OpaqueType>(at)) { | 129 else if (llvm::isa<llvm::OpaqueType>(at)) { |
130 Logger::println("opaque param"); | 130 Logger::println("opaque param"); |
131 assert(argT->ty == Tstruct || argT->ty == Tclass); | 131 assert(argT->ty == Tstruct || argT->ty == Tclass); |
132 paramvec.push_back(getPtrToType(at)); | 132 paramvec.push_back(getPtrToType(at)); |