I think it is nasty to have the declaration use a type different from the real type, though the only obvious practical problem is the debug info being wrong. If the La_x32_* names are macro aliases for La_x86_64_*, why not have those macros defined everywhere those names are used? Thanks, Roland