This patch improves the handling of array aggregates with static components. It allows constant folding of aggregates with a single association given by an expanded name, and it allows in-place assignments for aggregates when the array type has an index type that has a non-standard representation. Tested on x86_64-pc-linux-gnu, committed on trunk 2010-10-21 Ed Schonberg * exp_aggr.adb (Flatten): An association for a subtype may be an expanded name. (Safe_Left_Hand_Side): An unchecked conversion is part of a safe left-hand side if the expression is. (Is_Safe_Index): new predicate Minor clean up in identier names (Indices -> Indexes). * exp_ch3.adb (Expand_Freeze_Enumeration_Type): Indicate that the generated Rep_To_Pos function is a Pure_Function.