view tests/minicomplex/arrays1.d @ 1112:829ac3f30103

Updating revisions.pl.in: - Change the way the LLVM SVN revision is detected, using `svn info` instead of `svnversion`. This speeds it up significantly on my machine (especially when the LLVM SVN checkout isn't in disk cache). - Add "last changed date" to SVN checkouts too, not just unpacked tarballs - No longer rely on SVN revision to detect release vs trunk checkouts, treat release checkout the same as unpacked release tarball. (Except for date determination, which uses SVN date instead of filesystem date)
author Frits van Bommel <fvbommel wxs.nl>
date Fri, 13 Mar 2009 16:18:01 +0100
parents 1bb99290e03a
children
line wrap: on
line source

module tangotests.arrays1;

import tango.stdc.stdio;

void main()
{
    real[] arr;
    print(arr);
    main2();
}

void main2()
{
    real[] arr = void;
    fill(arr);
    print(arr);
    main3();
}

void main3()
{
}

void print(real[] arr)
{
    printf("len=%u ; ptr=%p\n", arr.length, arr.ptr);
}

void fill(ref real[] arr)
{
    auto ptr = cast(void**)&arr;
    *ptr++ = cast(void*)0xbeefc0de;
    *ptr = cast(void*)0xbeefc0de;
}

void dg1(void delegate(int[]) dg)
{
    dg2(dg);
}

void dg2(void delegate(int[]) dg)
{
    dg(null);
}

void sarr1(int[16] sa)
{
    sarr1(sa);
}

struct Str
{
    size_t length;
    char* ptr;
}

void str1(Str str)
{
    str1(str);
}

void str2(ref Str str)
{
    str2(str);
}

void str3(out Str str)
{
    str3(str);
}

void str4(Str* str)
{
    str4(str);
}

void str5(Str);