view tests/mini/arrays8.d @ 988:2667e3a145be

- Fixed LLVM style CL args for D2. - Moved main() into its own file gen/main.cpp - Fixed basic cross compilation - removed the option for setting OS - added support for llc's mattr, mcpu and mtriple switches - added basic ABI abstraction for return value rewrites, it's not perfect and will probably be completely rewritten once I get to handling parameter rewrites as well. - x86-64 extern(C) abi for cfloat returns now match (llvm-)gcc.
author Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
date Thu, 26 Feb 2009 14:11:49 +0100
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);
}