So i’ve written still simple but more complex managed code and still works (this time I’ve gcnew an object, call some things on it and passed it back to C#). So thought i’d have a look at the ECMA standard about calli, and handily its never generated by MS for verifiable code (in theory it can be verified buts it hard so they don’t and never generate it AFAICT). which mean /clr:safe won’t output it :D
I’ll post some more as my experiments continue, things to try complex stack based variables (will it generate localalloc or not?), complex inheritance (can’t see any reason why it shouldn’t work but you never know) and see if I can geneate those varargs ILs without using varargs.
If that all works I think its safe to conclude that /clr:safe Managed C++ is valid XNA 360 code and can be used. Then we shall enter a new frontier of seeing if /clr:pure is at all possible (I suspect that it won’t cos its not verifiable safe)