view tests/mini/foreach9.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 45a67b6f1310
children
line wrap: on
line source

module mini.foreach9;
extern(C) int printf(char* str, ...);

struct array2d(T) {
  int test() {
    printf("%p\n", cast(void*) this);
    foreach (x; *this) {
      printf("%p\n", cast(void*) this);
    }
    return true;
  }
  int opApply(int delegate(ref int) dg) {
    int x;
    return dg(x), 0;
  }
}

unittest {
  array2d!(int) test;
  test.test();
  //int i = 0; i /= i;
}

void main() { }