view tests/mini/foreach8.d @ 978:6a32d2e18175

Fix a latent bug in the asm code. I think that technically, using "*m0" instead of "*0" allows LLVM to pick between using the same memory as output 0 and using a new memory location. (So far I haven't been able to construct a testcase that actually breaks because of this, though)
author Frits van Bommel <fvbommel wxs.nl>
date Wed, 18 Feb 2009 03:38:12 +0100
parents 30b42a283c8e
children
line wrap: on
line source

module mini.foreach8;

extern(C) int printf(char*, ...);

int main(){
    dchar[] array="\u2260";
    printf("array[0] == %u\n", array[0]);
    int test=0;
    int count=0;
    assert(count==0);
    foreach(int index, char obj; array){
        printf("%d\n", obj);
        test+=obj;
        count++;
    }
    assert(count==3);
    assert(test==0x20b);
    return 0;
}