exp_util.ads
30.5 KB
-
re PR ada/19900 (ACATS c391002 c432002 ICE categorize_ctor_elements_1) · f44fe430
2005-03-08 Robert Dewar <dewar@adacore.com> Ed Schonberg <schonberg@adacore.com> Richard Kenner <kenner@vlsi1.ultra.nyu.edu> 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 From-SVN: r96493
Robert Dewar committed