Mercurial > projects > ldc
view tests/mini/bug55.d @ 1329:e5b57fd8307c
Turn new _d_array_slice_copy runtime call into memcpy when the slice lengths are
equal and alias analysis says it's safe.
author | Frits van Bommel <fvbommel wxs.nl> |
---|---|
date | Sun, 10 May 2009 04:18:14 +0200 |
parents | 1bb99290e03a |
children |
line wrap: on
line source
module bug55; extern(C) int printf(char*, ...); int atoi(char[] s) { int i, fac=1; bool neg = (s.length) && (s[0] == '-'); char[] a = neg ? s[1..$] : s; foreach_reverse(c; a) { i += (c-'0') * fac; fac *= 10; } return !neg ? i : -i; } void main() { printf("64213 = %d\n", atoi("64213")); printf("-64213 = %d\n", atoi("-64213")); assert(atoi("64213") == 64213); assert(atoi("-64213") == -64213); }