------- Comment #26 from charlet at gcc dot gnu dot org 2006-02-15 09:40 ------- Subject: Bug 18819
Author: charlet Date: Wed Feb 15 09:40:13 2006 New Revision: 111069 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=111069 Log: 2006-02-13 Ed Schonberg <[EMAIL PROTECTED]> Javier Miranda <[EMAIL PROTECTED]> Eric Botcazou <[EMAIL PROTECTED]> * 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. Modified: trunk/gcc/ada/exp_util.adb trunk/gcc/ada/exp_util.ads -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18819