Mercurial > projects > ldc
view tests/mini/foreach10.d @ 1210:3d4581761b4c
Add some alignment info where LLVM might otherwise be more pessimistic.
In particular, %.nest_arg is always aligned even though it's bitcast from i8*.
Pointers in vtables are also guaranteed to be stored at aligned addresses.
author | Frits van Bommel <fvbommel wxs.nl> |
---|---|
date | Sun, 12 Apr 2009 21:56:43 +0200 |
parents | 8baf611f0009 |
children |
line wrap: on
line source
module foreach10; extern(C) int printf(char*, ...); void main() { char* last = null; printf("The addresses should increment:\n"); foreach (ref c; "bar") { auto a = { printf("%x '%c'\n", c, c); return &c; }; auto nw = a(); printf("ptr = %p\n", nw); if (last != null) assert(nw == last+1); last = nw; } }