Mercurial > projects > ldc
view tests/mini/arrays8.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 | 1bb99290e03a |
children |
line wrap: on
line source
module arrays8; extern(C) int printf(char*, ...); void main() { char[] a = "hello "; printf(" \"%s\".length = %u\n", a.ptr, a.length); char[] b = "world"; printf(" \"%s\".length = %u\n", b.ptr, b.length); char[] c = a ~ b; printf("After 'a ~ b':\n"); printf(" \"%.*s\".length = %u\n", a.length, a.ptr, a.length); printf(" \"%.*s\".length = %u\n", b.length, b.ptr, b.length); printf(" \"%.*s\".length = %u\n", c.length, c.ptr, c.length); assert(c.length == a.length + b.length); assert(c !is a); assert(c !is b); }