/* This file contains examples highlighting the shortcomings of the arm-wince-pe-gdc compiler. Some of them have very bad effects on Phobos and have required the WinCE version to be changed temporarily. I hope that someone with better gcc skills than I can help clear these problems up. I will gladly return the appropriate parts of gphobos back to normal if solutions are found. - Chad */ // rectangular arrays that don't work thanks to the // "initializer for integer value is too complicated" error float[][] blah = [[1]]; char[][] strings = ["value"]; // more ifivitc causing stuff - this struct acts sortof like a rectangular array struct something { char[] value; } something[] foo = [{"foo"}]; // This is another ifivitc problem, and a particularly nasty one - it kills variadic functions // This is the thing that causes all variadic functions in phobos to be rewritten to the form // void va( TypeInfo[] types, void* data ) { etc. } void va(...) {} void somefunc() { va("arg1","arg2"); // error va(27,76); // error } // This demonstrates the one that killed std.boxer. It creates a linktime error with some init function. private import std.stdarg; void main() { A a = new A(); TypeInfo[] types; void[] data; write_va_arg(types, data, a); // error at linktime: undefined reference to `_init_17TypeInfo_C4main1A' } class A { int field1; }