Array Slicing?

I'm designing a language that supports array slicing. Does LLVM allows conversions between array pointers? For example, can I cast a pointer-to-array-of-5-ints to a pointer-to-array-of-3-ints? Can I get the address of the third element of an array-of-5-ints and convert it to a pointer-to-array-of-3-ints? Then again, I suppose a pointer-to-int would work just as well since LLVM supports pointer arithmetic.

On a related note, can I convert a pointer-to-int to a pointer-to-array-of-1-int and vice versa?

BTW, I sent another post to this e-mail address, but never received a reply:

Arbitrary casts are supported. You can cast pointers around all you like.


These are undefined, I'll update the doc to make that more clear.