> I'm very suspicious of allowing users to specify this via attributes. > Having pointers-to-objects or pointers-to-functions with different sizes > (within one of those classes) seems problematic, but perhaps you can say > more about how you expect this to work in the presence of conversions > and such.
I think there's some confusion here. For most back-ends, only one pointer size is supported. The only times that back-ends support alternate pointer sizes are in cases where we have a 64-bit machine but the OS/RTL only uses 32 bits for pointers. Alpha/VMS is an example of this. In those cases, you often have circumstances where some "external" interfaces (e.g., to OS or RTL) has structures with 32-bit pointers and others has 64-bit pointers. So you need to be able to express the interfaces to both of these and that requires both pointer sizes. This is not intended for "random" programmer usage.