------- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-03-15 
16:00 -------
Subject: Bug 19900

CVSROOT:        /cvs/gcc
Module name:    gcc
Changes by:     [EMAIL PROTECTED]       2005-03-15 15:59:55

Modified files:
        gcc/ada        : decl.c gigi.h utils.c trans.c exp_ch13.adb 
                         freeze.adb sem_ch3.adb 

Log message:
        2005-03-08  Eric Botcazou  <[EMAIL PROTECTED]>
        Richard Kenner  <[EMAIL PROTECTED]>
        Nicolas Setton  <[EMAIL PROTECTED]>
        Ed Schonberg  <[EMAIL PROTECTED]>
        
        PR ada/19900
        PR ada/19408
        PR ada/19140
        PR ada/20255
        
        * decl.c (gnat_to_gnu_field): Reject aliased components with a
        representation clause that prescribes a size not equal to the rounded
        size of their types.
        (gnat_to_gnu_entity, case E_Component): Always look at
        Original_Record_Component if Present and not the entity.
        (gnat_to_gnu_entity, case E_Record_Subtype): Rework handling of subtypes
        of tagged extension types by not making field for components that are
        inside the parent.
        (gnat_to_gnu_entity) <E_Record_Type>: Fix typo in the alignment formula
        (gnat_to_gnu_entity) <E_Variable>: Do not convert again the
        expression to the type of the object when the object is constant.
        Reverse defer_debug_incomplete_list before traversing it, so that trees
        are processed in the order at which they were added to the list. This
        order is important when using the stabs debug format.
        If we are deferring the output of debug information, also defer this
        output for a function return type.
        When adding fields to a record, prevent emitting debug information
        for incomplete records, emit the information only when the record is
        complete.
        (components_to_record): New parameter defer_debug.
        (gnat_to_gnu_entity, case E_Array_Subtype): Call copy_alias_set.
        (gnat_to_gnu_field_decl): New function.
        (substitution_list, annotate_rep): Call it.
        (gnat_to_gnu_entity, case E_Record_Subtype): Likewise.
        (gnat_to_gnu_entity, case E_Record_Type): Likewise.
        No longer update discriminants to not be a COMPONENT_REF.
        (copy_alias_set): Strip padding from input type; also handle
        unconstrained arrays properly.
        
        * gigi.h (write_record_type_debug_info): New function.
        Convert to use ANSI-style prototypes. Remove unused
        declarations for emit_stack_check, elab_all_gnat and
        set_second_error_entity.
        (gnat_to_gnu_field_decl): New decl.
        
        * utils.c (write_record_type_debug_info): New function.
        (finish_record_type): Delegate generation of debug information to
        write_record_type_debug_info.
        (update_pointer_to): Remove unneeded calls to rest_of_decl_compilation.
        (update_pointer_to): Fix pasto.
        (convert) <UNION_TYPE>: Accept slight type variations when
        converting to an unchecked union type.
        
        * exp_ch13.adb (Expand_N_Freeze_Entity): If Freeze_Type returns True,
        replace the N_Freeze_Entity with a null statement.
        
        * freeze.adb (Freeze_Expression): If the freeze nodes are generated
        within a constrained subcomponent of an enclosing record, place the
        freeze nodes in the scope stack entry for the enclosing record.
        (Undelay_Type): New Subprogram.
        (Set_Small_Size): Pass T, the type to modify; all callers changed.
        (Freeze_Entity, Freeze_Record_Type): Change the way we handle types
        within records; allow them to have freeze nodes if their base types
        aren't frozen yet.
        
        * sem_ch3.adb (Derived_Type_Declaration): New predicate
        Comes_From_Generic, to recognize accurately that the parent type in a
        derived type declaration can be traced back to a formal type, because
        it is one or is derived from one, or because its completion is derived
        from one.
        (Constrain_Component_Type): If component comes from source and has no
        explicit constraint, no need to constrain in in a subtype of the
        enclosing record.
        (Constrain_Access, Constrain_Array): Allow itypes to be delayed.
        Minor change to propagate Is_Ada_2005 flag
        
        * trans.c (gnat_to_gnu, case N_Aggregate): Verify that
        Expansion_Delayed is False.
        (assoc_to_constructor): Ignore fields that have a
        Corresponding_Discriminant.
        (gnat_to_gnu) <N_Return_Statement>: Restructure. If the
        function returns "by target", dereference the target pointer using the
        type of the actual return value.
        <all>: Be prepared for a null gnu_result.
        (processed_inline_subprograms): Check flag_really_no_inline
        instead of flag_no_inline.
        (set_second_error_entity): Remove unused function.
        (gnat_to_gnu, case N_Selected_Component): Call
        gnat_to_gnu_field_decl.
        (assoc_to_constructor): Likewise.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/decl.c.diff?cvsroot=gcc&r1=1.65&r2=1.66
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/gigi.h.diff?cvsroot=gcc&r1=1.33&r2=1.34
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/utils.c.diff?cvsroot=gcc&r1=1.92&r2=1.93
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/trans.c.diff?cvsroot=gcc&r1=1.90&r2=1.91
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/exp_ch13.adb.diff?cvsroot=gcc&r1=1.9&r2=1.10
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/freeze.adb.diff?cvsroot=gcc&r1=1.23&r2=1.24
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/sem_ch3.adb.diff?cvsroot=gcc&r1=1.57&r2=1.58


------- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-03-15 
16:00 -------
Subject: Bug 19900

CVSROOT:        /cvs/gcc
Module name:    gcc
Changes by:     [EMAIL PROTECTED]       2005-03-15 16:00:27

Modified files:
        gcc/ada        : exp_pakd.adb exp_ch6.adb exp_util.adb 
                         exp_util.ads sem_eval.ads sem_eval.adb 

Log message:
        2005-03-08  Robert Dewar  <[EMAIL PROTECTED]>
        Ed Schonberg  <[EMAIL PROTECTED]>
        Richard Kenner  <[EMAIL PROTECTED]>
        
        PR ada/19900
        
        * exp_pakd.adb (Create_Packed_Array_Type): Do not set
        Must_Be_Byte_Aligned for cases where we do not need to use a
        System.Pack_nn unit.
        
        * exp_ch6.adb (Expand_Call): Call Expand_Actuals for functions as well
        as procedures.
        Needed now that we do some processing for IN parameters as well. This
        may well fix some unrelated errors.
        (Expand_Call): Handle case of unaligned objects (in particular those
        that come from packed arrays).
        (Expand_Inlined_Call): If the subprogram is a renaming as body, and the
        renamed entity is an inherited operation, re-expand the call using the
        original operation, which is the one to call.
        Detect attempt to inline parameterless recursive subprogram.
        (Represented_As_Scalar): Fix to work properly with private types
        (Is_Possibly_Unaligned_Object): Major rewrite to get a much more
        accurate estimate. Yields True in far fewer cases than before,
        improving the quality of code that depends on this test.
        (Remove_Side_Effects): Properly test for Expansion_Delayed and handle
        case when it's inside an N_Qualified_Expression.
        
        * exp_util.adb (Kill_Dead_Code): For a package declaration, iterate
        over both visible and private declarations to remove them from tree,
        and mark subprograms declared in package as eliminated, to prevent
        spurious use in subsequent compilation of generic units in the context.
        
        * exp_util.ads: Minor cleanup in variable names
        
        * sem_eval.ads, sem_eval.adb: Minor reformatting
        (Compile_Time_Known_Bounds): New function

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/exp_pakd.adb.diff?cvsroot=gcc&r1=1.17&r2=1.18
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/exp_ch6.adb.diff?cvsroot=gcc&r1=1.38&r2=1.39
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/exp_util.adb.diff?cvsroot=gcc&r1=1.32&r2=1.33
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/exp_util.ads.diff?cvsroot=gcc&r1=1.15&r2=1.16
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/sem_eval.ads.diff?cvsroot=gcc&r1=1.8&r2=1.9
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/sem_eval.adb.diff?cvsroot=gcc&r1=1.17&r2=1.18



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19900

Reply via email to