X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=gcc%2Fada%2FChangeLog;h=f8f43c00441c2913b77ec35b15aefef12ea00cc0;hb=2d7d0768008a87291f0171c953b36894e079e971;hp=f6e00851384dc28a7e516d99c75ce25cb87ab6bc;hpb=b3e3fdb9576868c3b8453ffd16b6343e86221702;p=thirdparty%2Fgcc.git diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index f6e00851384d..f8f43c00441c 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,215 @@ +2019-08-20 Bob Duff + + * libgnat/a-cborma.adb, libgnat/a-cborse.adb (Clear): Repeatedly + call Delete. This avoids clearing the free list, which + substantially speeds up future Delete operations. + +2019-08-20 Bob Duff + + * sem_ch13.adb (Component_Order_Check): New procedure to check + for out-of-order clauses. + * warnsw.ads, warnsw.adb: New -gnatw_r switch. + * doc/gnat_ugn/building_executable_programs_with_gnat.rst: + Document new switch. + * gnat_ugn.texi: Regenerate. + +2019-08-20 Bob Duff + + * sem_ch13.adb (Object_Size): Give an error for zero. It really + rubs me the wrong way that we don't honor "for T'Object_Size use + 0;", but it's not important enough to fix. In any case, if we're + not going to obey the clause, we should give an error. + +2019-08-20 Bob Duff + + * errout.adb (Error_Msg_Internal): Set Warn_Err in case of + Is_Style_Msg. + * erroutc.adb (Output_Msg_Text): Do Warnings_Treated_As_Errors + processing and [warning-as-error] modification for style + messages. Clean up code, simplify, remove unnecessary block + statement, add renaming of table entry. + * erroutc.ads (Warning_Treated_As_Error): Fix comment: no such + thing as Set_Warning_As_Error. + * opt.ads: Clean up comments and move related declarations near + each other. + * par-prag.adb: Process Warning_As_Error. This is necessary + because many style warning happen during parsing. + * sem_prag.adb: Use new Acquire_Warning_Match_String. + * sem_util.ads, sem_util.adb (Acquire_Warning_Match_String): New + function shared by par-prag.adb and sem_prag.adb. Replaces the + procedure in sem_prag.adb. Avoid use of global variables. + * stringt.ads, stringt.adb (To_String): New function to convert + String_Id to String. + * doc/gnat_rm/implementation_defined_pragmas.rst: Document the + new feature. + * gnat_rm.texi: Regenerate. + +2019-08-20 Eric Botcazou + + * lib.ads: Add with clause for GNAT.HTable. + Add pragma Inline for Is_Loaded and alphabetize the list. + (Unit_Name_Table_Size): New constant. + (Unit_Name_Header_Num): New subtype. + (Unit_Name_Hash): New function declaration. + (Unit_Names): New simple hash table. + (Init_Unit_Name): New procedure declaration. + * lib.adb (Set_Unit_Name): Unregister the old name in the table, + if any, and then register the new name. + (Init_Unit_Name): New procedure. + (Is_Loaded): Reimplement using a lookup in the names table. + (Remove_Unit): Unregister the name. + (Unit_Name_Hash): New function. + * lib-load.adb (Create_Dummy_Package_Unit): Call Init_Unit_Name. + (Load_Unit): Use a lookup in the names table to find out whether + the unit has already been loaded. Call Init_Unit_Name and then + Remove_Unit if the loading has failed. + (Make_Child_Decl_Unit): Call Init_Unit_Name. + (Make_Instance_Unit): Likewise. + * lib-writ.adb (Ensure_System_Dependency): Likewise. + +2019-08-20 Bob Duff + + * sem_ch13.adb (Record_Hole_Check): Initialize After_Last. + +2019-08-20 Piotr Trojanek + + * impunit.adb (Get_Kind_Of_Unit): Revert change for adapting + this routine for gnatprove. + +2019-08-20 Arnaud Charlet + + * doc/gnat_rm/implementation_defined_pragmas.rst: Document + requirements for Pragma Lock_Free. + * gnat_rm.texi: Regenerate. + +2019-08-20 Philippe Gil + + * bindgen.adb (Gen_Main): Set gnat_argc/gnat_argv to argc/argv + only when still uninitialized. + +2019-08-20 Bob Duff + + * libgnat/g-comlin.ads (Exit_From_Command_Line): Fix + documentation for GNAT.Command_Line. + +2019-08-20 Pierre-Marie de Rodat + + PR ada/91492 + * gcc-interface/lang.opt (-fdump-scos): Add missing dot at the + end of the documentation. + +2019-08-20 Richard Sandiford + + * gcc-interface/misc.c (default_pass_by_ref): Update call to + pass_by_reference. + +2019-08-19 Bob Duff + + * doc/gnat_rm/implementation_advice.rst: Fix documentation for + stream oriented attributes. + * gnat_rm.texi: Regenerate. + +2019-08-19 Gary Dismukes + + * einfo.ads (E_Function, E_Procedure): Update comments to + reflect that Renamed_Entity is also used for nongeneric + subprograms. + +2019-08-19 Eric Botcazou + + * sem_prag.adb (Is_Before_First_Decl): Deal with rewritten + pragmas. + +2019-08-19 Bob Duff + + * sem_warn.adb (Warn_On_Unreferenced_Entity): Suppress warning + on formal parameters of dispatching operations. + +2019-08-19 Ed Schonberg + + * sem_res.adb (Resolve_Call): A call to an expression function + freezes when expander is active, unless the call appears within + the body of another expression function, + +2019-08-19 Dmitriy Anisimkov + + * libgnat/s-os_lib.ads, libgnat/s-os_lib.adb (To_Ada, To_C): New + routines. + +2019-08-19 Bob Duff + + * exp_attr.adb (Attribute_Valid): Correct the handling of + private types where the full type is modular. System.Address is + an example. Otherwise, we convert uncheckedly to a signed type, + so we get an incorrect range 0 .. -1, for which all values will + fail. The 'Valid attribute is illegal for such types, but we + generate such illegal attribute_references for 'Valid_Scalars, + and we generate 'Valid_Scalars when the -gnateV switch is used. + Rename Btyp --> PBtyp to avoid hiding the outer Btyp, which was + confusing. + * libgnat/a-except.adb: Set the Exception_Raised component. + Otherwise, we have incorrect reads of invalid data. + +2019-08-19 Pierre-Marie de Rodat + + * libgnat/a-cgaaso.ads, libgnat/a-cgarso.ads, + libgnat/a-cogeso.ads, libgnat/a-contai.ads, + libgnat/a-locale.ads: Import documentation from the RM. + +2019-08-19 Jerome Guitton + + * Makefile.rtl (system.o): New target to add generation of + target properties. + * gcc-interface/Makefile.in (install-gnatlib): Install + ada_target_properties. + +2019-08-19 Eric Botcazou + + * inline.adb (Add_Inlined_Body): Do not special-case instances + that are compilation units. + (Add_Pending_Instantiation): Likewise. + (Instantiate_Body): Skip instantiations that are compilation + units and have already been performed. + * sem_ch12.adb (Needs_Body_Instantiated): Do not special-case + instances that are compilation units. + (Load_Parent_Of_Generic): Be prepared for parent that is a + compilation unit but whose instantiation node has not been + replaced. + +2019-08-19 Eric Botcazou + + * inline.adb (Initialize, Lock): Deal with + Called_Pending_Instantiations. + +2019-08-19 Ed Schonberg + + * sem_ch6.adb (Check_Synchronized_Overriding): Complete + predicate that applies legality check in 9.4 (11.9/2): if an + inherited subprogram is implemented by a protected procedure or + entry, its first paarameter must be out, in_out or + access_to_varible. + +2019-08-19 Javier Miranda + + PR ada/65696 + * exp_atag.ads, exp_atag.adb (Build_Inherit_Predefined_Prims): + Adding formal to specify how many predefined primitives are + inherited from the parent type. + * exp_disp.adb (Number_Of_Predefined_Prims): New subprogram. + (Make_Secondary_DT): Compute the number of predefined primitives + of all tagged types (including tagged types not defined at + library level). Previously we unconditionally relied on the + Max_Predef_Prims constant value when building the dispatch + tables of tagged types not defined at library level (thus + consuming more memory for their dispatch tables than required). + (Make_DT): Compute the number of predefined primitives that must + be inherited from their parent type when building the dispatch + tables of tagged types not defined at library level. Previously + we unconditionally relied on the Max_Predef_Prims constant value + when building the dispatch tables of tagged types not defined at + library level (thus copying more data than required from the + parent type). + 2019-08-19 Bob Duff * sem_ch13.adb (Record_Hole_Check): Procedure to check for holes