However, in s390.c, we have: static bool s390_valid_pointer_mode (enum machine_mode mode) { return (mode == SImode || (TARGET_64BIT && mode == DImode)); }Note that more than one mode is supported simultaneously. Thus, it's legal for the application to specify SI or DI mode for pointer (via __attribute__((mode))), but cc1plus then aborts. So... who is right? Are we supposed to support multiple pointer sizes in the same compilation unit, or not?
Hmm... this worked when I put this in for s390 at one point - for exactly the reason that you have with the attribute.
-eric
