On Mon, 9 Dec 2013, Bernd Schmidt wrote: > * Everything must live in an address space. There are several for > global variables, constant data, and local variables. We have C > frontend changes to apply and deal with implicit address spaces.
I think implicit address spaces should be dealt with at gimplification or later: the datastructures inside the front end should reflect the qualifiers in C standard terms, which don't include these implicit address spaces, and putting things in these address spaces should be part of a lowering pass. In general I'd rather front ends only did target-specific things where needed for language semantics (e.g. knowledge of type sizes and offsets in structs). (For example, I'd like handling of targetm.calls.promote_prototypes to move out of the front ends.) -- Joseph S. Myers jos...@codesourcery.com