Mercurial > projects > ldc
comparison runtime/internal/arrayInit.d @ 593:7042d912767e
Undid some of the previous changes: DtoArrayInit has issues with arrays
similar to T[n][].
author | Christian Kamm <kamm incasoftware de> |
---|---|
date | Sun, 14 Sep 2008 13:47:38 +0200 |
parents | 192b82878b78 |
children | 6aaa3d3c1183 |
comparison
equal
deleted
inserted
replaced
592:5fb7ed0ac580 | 593:7042d912767e |
---|---|
116 llvm_memcpy(p,v,nv,0); | 116 llvm_memcpy(p,v,nv,0); |
117 p += nv; | 117 p += nv; |
118 } | 118 } |
119 } | 119 } |
120 | 120 |
121 /* | |
122 void _d_array_init(TypeInfo ti, void* a) | |
123 { | |
124 auto initializer = ti.next.init(); | |
125 auto isize = initializer.length; | |
126 auto q = initializer.ptr; | |
127 | |
128 if (isize == 1) | |
129 memset(p, *cast(ubyte*)q, size); | |
130 else if (isize == int.sizeof) | |
131 { | |
132 int init = *cast(int*)q; | |
133 size /= int.sizeof; | |
134 for (size_t u = 0; u < size; u++) | |
135 { | |
136 (cast(int*)p)[u] = init; | |
137 } | |
138 } | |
139 else | |
140 { | |
141 for (size_t u = 0; u < size; u += isize) | |
142 { | |
143 memcpy(p + u, q, isize); | |
144 } | |
145 } | |
146 }*/ | |
147 | |
121 // for array cast | 148 // for array cast |
122 size_t _d_array_cast_len(size_t len, size_t elemsz, size_t newelemsz) | 149 size_t _d_array_cast_len(size_t len, size_t elemsz, size_t newelemsz) |
123 { | 150 { |
124 if (newelemsz == 1) { | 151 if (newelemsz == 1) { |
125 return len*elemsz; | 152 return len*elemsz; |