OSDN Git Service

2006-10-31 Javier Miranda <miranda@adacore.com>
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 31 Oct 2006 17:54:34 +0000 (17:54 +0000)
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 31 Oct 2006 17:54:34 +0000 (17:54 +0000)
commite8ccec48cdf6cbcb6e8bcba6da7448401931cf21
treec91c1f18bd617f5763be3533122803393e01ad82
parenta42bb2562af9c39c854ae03846cd408b5d5140f2
2006-10-31  Javier Miranda  <miranda@adacore.com>
    Ed Schonberg  <schonberg@adacore.com>
    Bob Duff  <duff@adacore.com>
    Gary Dismukes  <dismukes@adacore.com>
    Robert Dewar  <dewar@adacore.com>

        * exp_ch4.adb (Expand_N_Type_Conversion): Handle missing interface type
conversion.
        (Expand_N_In): Do validity checks on range
(Expand_Selected_Component): Use updated for of Denotes_Discriminant.
(Expand_N_Allocator): For "new T", if the object is constrained by
discriminant defaults, allocate the right amount of memory, rather than
the maximum for type T.
(Expand_Allocator_Expression): Suppress the call to Remove_Side_Effects
when the allocator is initialized by a build-in-place call, since the
allocator is already rewritten as a reference to the function result,
and this prevents an unwanted duplication of the function call.
Add with and use of Exp_Ch6.
(Expand_Allocator_Expresssion): Check for an allocator whose expression
is a call to build-in-place function and apply
Make_Build_In_Place_Call_In_Allocator to the call (for both tagged and
untagged designated types).
(Expand_N_Unchecked_Type_Conversion): Do not do integer literal
optimization if source or target is biased.
(Expand_N_Allocator): Add comments for case of an allocator within a
function that returns an anonymous access type designating tasks.
(Expand_N_Allocator): apply discriminant checks for access
discriminants of anonymous access types (AI-402, AI-416)

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@118257 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ada/exp_ch4.adb