re PR ada/18819 (ACATS cdd2a02 fail at runtime)
2006-02-13 Ed Schonberg <schonberg@adacore.com> Javier Miranda <miranda@adacore.com> Eric Botcazou <ebotcazou@adacore.com> * exp_util.ads, exp_util.adb (Find_Prim_Op, Is_Predefined_Primitive_Operation): When searching for the predefined equality operator, verify that operands have the same type. (Is_Predefined_Dispatching_Operation): Remove the code that looks for the last entity in the list of aliased subprograms. This code was wrong in case of renamings. (Set_Renamed_Subprogram): New procedure (Remove_Side_Effects): Replace calls to Etype (Exp) with use of the Exp_Type constant computed when entering this subprogram. (Known_Null): New function (OK_To_Do_Constant_Replacement): New function (Known_Non_Null): Check scope before believing Is_Known_Non_Null flag (Side_Effect_Free): An attribute reference 'Input is not free of side effect, unlike other attributes that are functions. (from code reading). (Remove_Side_Effects): Expressions that involve packed arrays or records are copied at the point of reference, and therefore must be marked as renamings of objects. (Is_Predefined_Dispatching_Operation): Return false if the operation is not a dispatching operation. PR ada/18819 (Remove_Side_Effects): Lift enclosing type conversion nodes for elementary types in all cases. From-SVN: r111069
Showing
This diff is collapsed.
Click to expand it.
Please
register
or
sign in
to comment