comparison lphobos/internal/arrays.d @ 91:3f949c6e2e9d trunk

[svn r95] added support for mains like: T main(string[] args) fixed a bug with slicing a pointer that is an argument with no storage
author lindquist
date Wed, 07 Nov 2007 04:52:56 +0100
parents b688ad419f8c
children 61615fa85940
comparison
equal deleted inserted replaced
90:16e88334bba7 91:3f949c6e2e9d
3 private import llvm.intrinsic; 3 private import llvm.intrinsic;
4 4
5 extern(C): 5 extern(C):
6 6
7 int memcmp(void*,void*,size_t); 7 int memcmp(void*,void*,size_t);
8 size_t strlen(char*);
8 9
9 version(LLVM64) 10 version(LLVM64)
10 alias llvm_memcpy_i64 llvm_memcpy; 11 alias llvm_memcpy_i64 llvm_memcpy;
11 else 12 else
12 alias llvm_memcpy_i32 llvm_memcpy; 13 alias llvm_memcpy_i32 llvm_memcpy;
130 else if (len % newelemsz) { 131 else if (len % newelemsz) {
131 throw new Exception("Bad array cast"); 132 throw new Exception("Bad array cast");
132 } 133 }
133 return (len*elemsz)/newelemsz; 134 return (len*elemsz)/newelemsz;
134 } 135 }
136
137 // creating args for main
138 void _d_main_args(uint n, char** args, ref char[][] res)
139 {
140 assert(res.length == n);
141 foreach(i,v; args[0..n])
142 {
143 res[i] = v[0 .. strlen(v)];
144 }
145 }
146
147
148
149
150
151
152
153