On Mon, 9 Dec 2013, Bernd Schmidt wrote: > On 12/09/2013 11:42 PM, Joseph S. Myers wrote: > > On Mon, 9 Dec 2013, Bernd Schmidt wrote: > > > >> Most of the compiler expects TYPE_ADDR_SPACE to be valid for things like > >> initializing a MEM. The C frontend does not set it for arrays, which > >> seems like an oversight caused by not setting other type qualifiers for > >> array types. > > > > I see nothing in TR 18037 to make address space qualifiers different from > > other qualifiers with regard to the rule that qualifiers apply to element > > types rather than array types. > > But is this relevant? We're dealing with the compiler's internal > representation here, and everything assumes that TYPE_ADDRESS_SPACE is > set properly for an object in a different address space.
It's a mistake for the internal representation to differ from what the qualifiers are in C standard terms, at least within the front end (it's possible qualifiers should be adjusted at some lowering stage). -- Joseph S. Myers jos...@codesourcery.com