Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2017-10-09 | [multiple changes] | Pierre-Marie de Rodat | 1 | -0/+9 | |
2017-10-09 Bob Duff <duff@adacore.com> * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): Use Defining_Identifier (Obj_Decl) in two places, because it might have changed. * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Deal with cases involving 'Input on (not visibly) derived types. 2017-10-09 Hristian Kirtchev <kirtchev@adacore.com> * atree.adb: Add new soft link Rewriting_Proc. (Rewrite): Invoke the subprogram attached to the rewriting soft link. (Set_Rewriting_Proc): New routine. * attree.ads: Add new access-to-subprogram type Rewrite_Proc. (Set_Rewriting_Proc): New routine. * checks.adb (Install_Primitive_Elaboration_Check): Use 'E' character for *E*laboration flag to maintain consistency with other elaboration flag generating subprograms. * debug.adb: Document the new usage of flag -gnatdL. * einfo.adb: Node19 is now used as Receiving_Entry. Node39 is now used as Protected_Subprogram. Flag148 is now used as Is_Elaboration_Checks_OK_Id. Flag302 is now used as Is_Initial_Condition_Procedure. (Is_Elaboration_Checks_OK_Id): New routine. (Is_Initial_Condition_Procedure): New routine. (Protected_Subprogram): New routine. (Receiving_Entry): New routine. (SPARK_Pragma): Update assertion. (SPARK_Pragma_Inherited): Update assertion. (Suppress_Elaboration_Warnings): Removed. (Set_Is_Elaboration_Checks_OK_Id): New routine. (Set_Is_Initial_Condition_Procedure): New routine. (Set_Protected_Subprogram): New routine. (Set_Receiving_Entry): New routine. (Set_SPARK_Pragma): Update assertion. (Set_SPARK_Pragma_Inherited): Update assertion. (Write_Entity_Flags): Update the output for Flag148 and Flag302. (Write_Field19_Name): Add output for Receiving_Entry. (Write_Field39_Name): Add output for Protected_Subprogram. (Write_Field40_Name): Update the output for SPARK_Pragma. * einfo.ads: New attributes Is_Elaboration_Checks_OK_Id, Is_Initial_Condition_Procedure, Protected_Subprogram, Receiving_Entry. Remove attribute Suppress_Elaboration_Warnings. Update the stricture of various entities. (Is_Elaboration_Checks_OK_Id): New routine along with pragma Inline. (Is_Initial_Condition_Procedure): New routine along with pragma Inline. (Protected_Subprogram): New routine along with pragma Inline. (Receiving_Entry): New routine along with pragma Inline. (Suppress_Elaboration_Warnings): Removed. (Set_Is_Elaboration_Checks_OK_Id): New routine along with pragma Inline. (Set_Is_Initial_Condition_Procedure): New routine along with pragma Inline. (Set_Protected_Subprogram): New routine along with pragma Inline. (Set_Receiving_Entry): New routine along with pragma Inline. (Set_Suppress_Elaboration_Warnings): Removed. * exp_ch3.adb (Build_Init_Procedure): Use name _Finalizer to maintain consistency with other finalizer generating subprograms. (Default_Initialize_Object): Mark the block which wraps the call to finalize as being part of initialization. * exp_ch7.adb (Expand_N_Package_Declaration): Directly expand pragma Initial_Condition. (Expand_N_Package_Body): Directly expand pragma Initial_Condition. (Next_Suitable_Statement): Update the comment on usage. Skip over call markers generated by the ABE mechanism. * exp_ch9.adb (Activation_Call_Loc): New routine. (Add_Accept): Link the accept procedure to the original entry. (Build_Protected_Sub_Specification): Link the protected or unprotected version to the original subprogram. (Build_Task_Activation_Call): Code cleanup. Use a source location which is very close to the "begin" or "end" keywords when generating the activation call. * exp_prag.adb (Expand_Pragma_Initial_Condition): Reimplemented. * exp_spark.adb (Expand_SPARK): Use Expand_SPARK_N_Loop_Statement to process loops. (Expand_SPARK_N_Loop_Statement): New routine. (Expand_SPARK_N_Object_Declaration): Code cleanup. Partially insert the call to the Default_Initial_Condition procedure. (Expand_SPARK_Op_Ne): Renamed to Expand_SPARK_N_Op_Ne. * exp_util.adb (Build_DIC_Procedure_Body): Capture the SPARK_Mode in effect. (Build_DIC_Procedure_Declaration): Capture the SPARK_Mode in effect. (Insert_Actions): Add processing for N_Call_Marker. (Kill_Dead_Code): Explicitly kill an elaboration scenario. * exp_util.ads (Make_Invariant_Call): Update the comment on usage. * frontend.adb: Initialize Sem_Elab. Process all saved top level elaboration scenarios for ABE issues. * gcc-interface/trans.c (gnat_to_gnu): Add processing for N_Call_Marker nodes. * lib.adb (Earlier_In_Extended_Unit): New variant. * sem.adb (Analyze): Ignore N_Call_Marker nodes. (Preanalysis_Active): New routine. * sem.ads (Preanalysis_Active): New routine. * sem_attr.adb (Analyze_Access_Attribute): Save certain elaboration-related attributes. Save the scenario for ABE processing. * sem_ch3.adb (Analyze_Object_Declaration): Save the SPARK mode in effect. Save certain elaboration-related attributes. * sem_ch5.adb (Analyze_Assignment): Save certain elaboration-related attributes. Save the scenario for ABE processing. * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Save the SPARK mode in effect. Save certain elaboration-related attributes. (Analyze_Subprogram_Body_Helper): Skip N_Call_Marker nodes when locating the first real statement. (Analyze_Subprogram_Declaration): Save the SPARK mode in effect. Save certain elaboration-related attributes. * sem_ch7.adb (Analyze_Package_Declaration): Do not suppress elaboration warnings. * sem_ch8.adb (Attribute_Renaming): Mark a subprogram body which was generated for purposes of wrapping an attribute used as a generic actual. (Find_Direct_Name): Save certain elaboration-related attributes. Save the scenario for ABE processing. (Find_Expanded_Name): Save certain elaboration-related attributes. Save the scenario for ABE processing. * sem_ch9.adb (Analyze_Entry_Declaration): Save certain elaboration-related attributes. (Analyze_Requeue): Save certain elaboration-related attributes. Save the scenario for ABE processing. (Analyze_Single_Task_Declaration): Save certain elaboration-related attributes. (Analyze_Task_Type_Declaration): Save certain elaboration-related attributes. * sem_ch12.adb (Analyze_Generic_Package_Declaration): Save certain elaboration-related attributes. (Analyze_Generic_Subprogram_Declaration): Save the SPARK mode in effect. Save certain elaboration-related attributes. (Analyze_Package_Instantiation): Save certain elaboration-related attributes. Save the scenario for ABE processing. Create completing bodies in case the instantiation results in a guaranteed ABE. (Analyze_Subprogram_Instantiation): Save certain elaboration-related attributes Save the scenario for ABE processing. Create a completing body in case the instantiation results in a guaranteed ABE. (Provide_Completing_Bodies): New routine. * sem_elab.ads: Brand new implementation. * sem_prag.adb (Analyze_Pragma, cases Elaborate, Elaborate_All, Elaborate_Body): Do not suppress elaboration warnings. * sem_res.adb (Make_Call_Into_Operator): Set the parent field of the operator. (Resolve_Call): Save certain elaboration-related attributes. Save the scenario for ABE processing. (Resolve_Entity_Name): Do not perform any ABE processing here. (Resolve_Entry_Call): Inherit certain attributes from the original call. * sem_util.adb (Begin_Keyword_Location): New routine. (Defining_Entity): Update the parameter profile. Add processing for concurrent subunits that are rewritten as null statements. (End_Keyword_Location): New routine. (Find_Enclosing_Scope): New routine. (In_Instance_Visible_Part): Code cleanup. (In_Subtree): Update the parameter profile. Add new version. (Is_Preelaborable_Aggregate): New routine. (Is_Preelaborable_Construct): New routine. (Mark_Elaboration_Attributes): New routine. (Scope_Within): Update the parameter profile. (Scope_Within_Or_Same): Update the parameter profile. * sem_util.ads (Begin_Keyword_Location): New routine. (Defining_Entity): Update the parameter profile and the comment on usage. (End_Keyword_Location): New routine. (Find_Enclosing_Scope): New routine. (In_Instance_Visible_Part): Update the parameter profile. (In_Subtree): Update the parameter profile. Add new version. (Is_Preelaborable_Aggregate): New routine. (Is_Preelaborable_Construct): New routine. (Mark_Elaboration_Attributes): New routine. (Scope_Within): Update the parameter profile and the comment on usage. (Scope_Within_Or_Same): Update the parameter profile and the comment on usage. * sem_warn.adb (Check_Infinite_Loop_Warning): Use Has_Condition_Actions to determine whether a loop has meaningful condition actions. (Has_Condition_Actions): New routine. * sinfo.adb (ABE_Is_Certain): Removed. (Is_Declaration_Level_Node): New routine. (Is_Dispatching_Call): New routine. (Is_Elaboration_Checks_OK_Node): New routine. (Is_Initialization_Block): New routine. (Is_Known_Guaranteed_ABE): New routine. (Is_Recorded_Scenario): New routine. (Is_Source_Call): New routine. (Is_SPARK_Mode_On_Node): New routine. (No_Elaboration_Check): Removed. (Target): New routine. (Was_Attribute_Reference): New routine. (Set_ABE_Is_Certain): Removed. (Set_Is_Declaration_Level_Node): New routine. (Set_Is_Dispatching_Call): New routine. (Set_Is_Elaboration_Checks_OK_Node): New routine. (Set_Is_Initialization_Block): New routine. (Set_Is_Known_Guaranteed_ABE): New routine. (Set_Is_Recorded_Scenario): New routine. (Set_Is_Source_Call): New routine. (Set_Is_SPARK_Mode_On_Node): New routine. (Set_No_Elaboration_Check): Removed. (Set_Target): New routine. (Set_Was_Attribute_Reference): New routine. * sinfo.ads: Remove attribute ABE_Is_Certain. Attribute Do_Discriminant_Check now utilizes Flag3. Attribute No_Side_Effect_Removal now utilizes Flag17. Add new node N_Call_Marker. Update the structure of various nodes. (ABE_Is_Certain): Removed along with pragma Inline. (Is_Declaration_Level_Node): New routine along with pragma Inline. (Is_Dispatching_Call): New routine along with pragma Inline. (Is_Elaboration_Checks_OK_Node): New routine along with pragma Inline. (Is_Initialization_Block): New routine along with pragma Inline. (Is_Known_Guaranteed_ABE): New routine along with pragma Inline. (Is_Recorded_Scenario): New routine along with pragma Inline. (Is_Source_Call): New routine along with pragma Inline. (Is_SPARK_Mode_On_Node): New routine along with pragma Inline. (No_Elaboration_Check): Removed along with pragma Inline. (Target): New routine along with pragma Inline. (Was_Attribute_Reference): New routine along with pragma Inline. (Set_ABE_Is_Certain): Removed along with pragma Inline. (Set_Is_Declaration_Level_Node): New routine along with pragma Inline. (Set_Is_Dispatching_Call): New routine along with pragma Inline. (Set_Is_Elaboration_Checks_OK_Node): New routine along with pragma Inline. (Set_Is_Initialization_Block): New routine along with pragma Inline. (Set_Is_Known_Guaranteed_ABE): New routine along with pragma Inline. (Set_Is_Recorded_Scenario): New routine along with pragma Inline. (Set_Is_Source_Call): New routine along with pragma Inline. (Set_Is_SPARK_Mode_On_Node): New routine along with pragma Inline. (Set_No_Elaboration_Check): Removed along with pragma Inline. (Set_Target): New routine along with pragma Inline. (Set_Was_Attribute_Reference): New routine along with pragma Inline. * sprint.adb (Sprint_Node_Actual): Add an entry for N_Call_Marker. From-SVN: r253559 | |||||
2017-10-02 | Fix mismatched precisions in tree arithmetic | Richard Sandiford | 1 | -3/+5 | |
The tree wi:: decompose routine wasn't asserting that the requested precision matched the tree's precision. This could make a difference for unsigned trees that are exactly N HWIs wide and that have the upper bit set, since we then need an extra zero HWI when extending it to wider precisions (as for wi::to_widest). This patch adds the assert and fixes the fallout shown by the testsuite. Go seems to be unaffected. 2017-10-02 Richard Sandiford <richard.sandiford@linaro.org> gcc/ * tree.h (wi::int_traits <const_tree>::decompose): Assert that the requested precision matches the type's. * calls.c (alloc_max_size): Calculate the new candidate size as a widest_int and use wi::to_widest when comparing it with the current candidate size. * gimple-ssa-warn-alloca.c (pass_walloca::execute): Compare with zero rather than integer_zero_node. * match.pd: Check for a no-op conversion before using wi::add rather than after. Use tree_to_uhwi when summing small shift counts into an unsigned int. gcc/c-family/ * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_widest when combining the original unconverted comparison operands. gcc/cp/ * constexpr.c (cxx_eval_store_expression): Use wi::to_widest when comparing the array bounds with an ARRAY_REF index. gcc/ada/ * gcc-interface/decl.c (annotate_value): Use wi::to_widest when handling the form (plus/mult (convert @0) @1). From-SVN: r253341 | |||||
2017-09-21 | enable handling of -gno- command-line options as negated prefixes | Alexandre Oliva | 1 | -3/+3 | |
This patch that adds -g to the set of negatable prefixes along with -f, -m and -W. Besides the mapping from -gno- to negated -g in option_map and adding g to the [fmW] matches for negatable options, I had to introduce gno- as an remapping prefix, for the option searching machinery to backtrack to and recognize as a remapping prefix, instead of backtracking to -g and stopping at it as if no-* was its Joined argument. Adding such remapping prefixes to preempt further backtracking can be accomplished by introducing the prefix as an Undocumented option with a Joined argument and without Driver, Target, Common, or any language-specific option. Whenever we match such a fake options prefix, we abandon further backtracking (it matches, after all), but find_opt returns the same code it would if it hadn't found any match, so that we resort to option mapping. I've arranged for such remapping prefixes to not be considered when looking for and suggesting a correct spelling for misspelled options. While testing that, I found a few -W-started options that were not marked as RejectNegative but should (-Wno-a, is not something we'd like to suggest ;-) I've also marked as such -g-started options that it makes no sense to negate, and removed the explicit -gno- ones, allowing their opposites to be negated. for gcc/ChangeLog * common.opt (Wa, Wl, Wp, g, gz=): Add RejectNegative. (gno-column-info): Remove. (gcolumn-info): Drop RejectNegative. (gno-): New prefix. (gno-record-gcc-switches): Remove. (grecord-gcc-switches): Drop RejectNegative. (gno-split-dwarf): Remove. (gsplit-dwarf): Drop RejectNegative. (gno-strict-dwarf): Remove. (gstrict-dwarf): Drop RejectNegative. * config/darwin.opt (gfull, gused): Add RejectNegative. * dwarf2out.c (gen_producer_string): Drop gno-record-gcc-switches handler. * optc-gen.awk: Add g to prefixes with negative forms. * opts-common.c (remapping_prefix_p): New. (find_opt): Check it. (generate_canonical_option): Test g prefix. (option_map): Add -gno- mapping. (add_misspelling_candidates): Check remapping_prefix_p. for gcc/ada/ChangeLog * gcc-interface/lang.opt (gant, gnatO, gnat): Add RejectNegative. for gcc/c-family/ChangeLog * c.opt (gen-decls): Add RejectNegative. From-SVN: r253047 | |||||
2017-09-13 | Make-lang.in: In the fallback mechanim... | Nicolas Roche | 1 | -9/+15 | |
2017-09-13 Nicolas Roche <roche@adacore.com> * Make-lang.in: In the fallback mechanim, parse the associated .ali file and try to guess the locations of dependencies. From-SVN: r252082 | |||||
2017-09-12 | [multiple changes] | Arnaud Charlet | 1 | -0/+2 | |
2017-09-12 Bob Duff <duff@adacore.com> * sem_ch6.adb (Analyze_Expression_Function): Initialize Def_Id to Empty. 2017-09-12 Georges-Axel Jaloyan <jaloyan@adacore.com> * debug.adb: Reserving flag -gnatdF for safe pointer checking. * gnat1drv.adb (gnat1drv): Adding the call to the analysis on dF flag. * sem_spark.adb, sem_spark.ads: Implementation of the analysis, in preparation for the evolution of the SPARK language that includes a pointer analysis for checking non-aliasing of access types. The Check_Safe_Pointers function is the entry point, and will traverse the AST and raise compile-time errors everytime it detects non-begign aliasing. Detailed comments are present in the sem_spark.ads file. * sem_util.adb, sem_util.ads (First_Global, Next_Global): New functions to iterate over the list of globals of a subprogram. * libgnat/system.ads: Add restriction No_Finalization. * gcc-interface/Make-lang.in: Add new file sem_spark.adb and dependency on g-dynhta.adb. From-SVN: r252000 | |||||
2017-09-12 | * gcc-interface/Makefile.in (SPARC/Solaris): Remove obsolete stuff. | Eric Botcazou | 1 | -4/+0 | |
From-SVN: r251997 | |||||
2017-09-11 | gigi.h (enum standard_datatypes): Minor tweak. | Eric Botcazou | 2 | -8/+9 | |
* gcc-interface/gigi.h (enum standard_datatypes): Minor tweak. (gigi): Likewise. From-SVN: r251974 | |||||
2017-09-11 | libgnat: Rename ?-[a-z]*-* into ?-[a-z]*__* | Arnaud Charlet | 2 | -140/+140 | |
2017-09-11 Jerome Lambourg <lambourg@adacore.com> * libgnat: Rename ?-[a-z]*-* into ?-[a-z]*__* * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Take this renaming into account. From-SVN: r251968 | |||||
2017-09-11 | Makefile.in: Take this renaming into account. | Jerome Lambourg | 1 | -421/+421 | |
2017-09-11 Jerome Lambourg <lambourg@adacore.com> * gcc-interface/Makefile.in: Take this renaming into account. From-SVN: r251966 | |||||
2017-09-09 | decl.c (gnat_to_gnu_entity): Don't generate debug info for inner record ↵ | Pierre-Marie de Rodat | 2 | -6/+20 | |
types if -fgnat-encodings=minimal. * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Don't generate debug info for inner record types if -fgnat-encodings=minimal. (gnat_to_gnu_entity) <E_Record_Subtype>: Use the ultimate base record type as the debug type. From-SVN: r251937 | |||||
2017-09-09 | decl.c (components_to_record): Do not reorder in non- packed record types if... | Eric Botcazou | 1 | -1/+5 | |
* gcc-interface/decl.c (components_to_record): Do not reorder in non- packed record types if pragma Optimize_Alignment (Space) is enabled. From-SVN: r251936 | |||||
2017-09-09 | trans.c (Subprogram_Body_to_gnu): Disregard inlining limits for expression ↵ | Eric Botcazou | 1 | -1/+6 | |
functions. * gcc-interface/trans.c (Subprogram_Body_to_gnu): Disregard inlining limits for expression functions. (gnat_to_gnu) <N_Object_Declaration>: Fix formatting. From-SVN: r251935 | |||||
2017-09-09 | decl.c (gnat_to_gnu_entity): Copy the layout of the record from the parent ↵ | Eric Botcazou | 1 | -4/+6 | |
type only if... * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Copy the layout of the record from the parent type only if both are or are not unchecked unions. (is_stored_discriminant): Return false for an unchecked union. From-SVN: r251934 | |||||
2017-09-09 | utils2.c (build_allocator): In type_annotate_only mode return NULL_EXPR. | Eric Botcazou | 1 | -0/+6 | |
* gcc-interface/utils2.c (build_allocator): In type_annotate_only mode return NULL_EXPR. From-SVN: r251933 | |||||
2017-09-09 | decl.c (promote_object_alignment): New function taken from... | Eric Botcazou | 1 | -40/+58 | |
* gcc-interface/decl.c (promote_object_alignment): New function taken from... (gnat_to_gnu_entity) <E_Variable>: ...here. Invoke it. (gnat_to_gnu_field): If the field is Atomic or VFA, invoke it and create a padding type on success before doing the atomic check. From-SVN: r251931 | |||||
2017-09-09 | decl.c (gnat_to_gnu_entity): Apply the promotion to static memory earlier in ↵ | Eric Botcazou | 1 | -12/+13 | |
the processing. * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Apply the promotion to static memory earlier in the processing. From-SVN: r251929 | |||||
2017-09-09 | decl.c (gnat_to_gnu_entity): Only set the TYPE_ALIGN_OK and ↵ | Eric Botcazou | 2 | -17/+15 | |
TYPE_BY_REFERENCE_P flags on types after various... * gcc-interface/decl.c (gnat_to_gnu_entity): Only set the TYPE_ALIGN_OK and TYPE_BY_REFERENCE_P flags on types after various promotions. * gcc-interface/trans.c (node_has_volatile_full_access) <N_Identifier>: Consider all kinds of entities. From-SVN: r251927 | |||||
2017-09-09 | utils.c (convert): When converting to a padding type... | Eric Botcazou | 1 | -4/+14 | |
* gcc-interface/utils.c (convert): When converting to a padding type, reuse an existing CONSTRUCTOR if it has got the right size. From-SVN: r251924 | |||||
2017-09-08 | Make-lang.in, [...]: Find runtime source in libgnat/ | Nicolas Roche | 2 | -500/+398 | |
2017-09-08 Nicolas Roche <roche@adacore.com> * gcc-interface/Make-lang.in, gcc-interface/Makefile.in: Find runtime source in libgnat/ * a-lfztio.ads, g-timsta.ads, g-sercom-linux.adb, s-osprim-solaris.adb, a-inteio.ads, s-stchop-rtems.adb, s-casuti.adb, s-pack39.adb, i-vxwork-x86.ads, a-strbou.adb, a-stzmap.adb, s-assert.adb, a-sfecin.ads, a-cohama.adb, s-casuti.ads, a-suenco.adb, s-pack39.ads, a-stzmap.ads, a-strbou.ads, s-stalib.adb, s-trasym.adb, g-comver.adb, s-assert.ads, s-vector.ads, g-cgi.adb, a-cohama.ads, s-wchcnv.adb, a-titest.adb, s-pack48.adb, a-suenco.ads, a-strunb.adb, s-stalib.ads, s-trasym.ads, a-nudira.adb, g-comver.ads, a-nuflra.adb, g-cgi.ads, a-chacon.adb, s-wchcnv.ads, a-excach.adb, s-pack48.ads, a-titest.ads, a-strunb.ads, s-dwalin.adb, a-nudira.ads, a-chtgbo.adb, s-resfil.adb, a-scteio.ads, a-nuflra.ads, g-soliop-mingw.ads, s-pack57.adb, a-chacon.ads, s-bytswa.ads, s-pooloc.adb, g-os_lib.adb, s-dwalin.ads, a-szuzha.adb, s-resfil.ads, a-chtgbo.ads, s-spsufi.adb, s-pack57.ads, s-pooloc.ads, g-os_lib.ads, a-stfiha.ads, a-lcteio.ads, a-wtcoau.adb, a-szuzha.ads, s-mmosin-unix.adb, a-stmaco.ads, s-spsufi.ads, s-stchop-limit.ads, a-wtcoau.ads, a-exctra.adb, s-mmosin-unix.ads, s-sequio.adb, s-conca2.adb, g-table.adb, s-imglli.adb, a-numaux-x86.adb, a-strsea.adb, s-wchstw.adb, a-clrefi.adb, a-wwboio.adb, a-exctra.ads, s-sequio.ads, s-conca2.ads, a-wwunio.ads, system-linux-hppa.ads, g-table.ads, s-dimkio.ads, s-imglli.ads, a-cofove.adb, a-numaux-x86.ads, s-wchstw.ads, a-strsea.ads, a-clrefi.ads, a-wwboio.ads, s-stratt-xdr.adb, s-crc32.adb, s-excmac-arm.adb, g-busora.adb, a-cofove.ads, s-osprim-unix.adb, g-io.adb, s-pack49.adb, s-crc32.ads, s-excmac-arm.ads, a-fzteio.ads, g-busora.ads, s-stausa.adb, system-linux-mips.ads, sequenio.ads, g-exctra.adb, g-rewdat.adb, a-cgaaso.adb, g-io.ads, s-pack49.ads, a-wtflau.adb, a-undesu.adb, s-stausa.ads, a-ztenau.adb, g-enutst.ads, calendar.ads, s-pack58.adb, g-rewdat.ads, g-exctra.ads, s-ststop.adb, a-cgaaso.ads, a-strfix.adb, a-comlin.adb, a-strunb-shared.adb, a-wtflau.ads, a-undesu.ads, a-cbhase.adb, a-ztenau.ads, s-os_lib.adb, a-coorse.adb, a-chlat1.ads, s-pack58.ads, s-ststop.ads, a-strfix.ads, a-comlin.ads, a-strunb-shared.ads, a-nscefu.ads, s-valboo.adb, directio.ads, a-chtgke.adb, a-cbhase.ads, a-wtinau.adb, system-linux-alpha.ads, s-os_lib.ads, a-coorse.ads, system-linux-s390.ads, s-imgwiu.adb, a-chtgop.adb, s-valboo.ads, a-chtgke.ads, a-tienio.adb, s-conca3.adb, a-wtinau.ads, system-darwin-ppc.ads, i-c.adb, s-expllu.adb, g-expect.adb, g-sha256.ads, s-vallld.adb, s-imgwiu.ads, a-chtgop.ads, a-strmap.adb, a-tienio.ads, s-conca3.ads, s-imgint.adb, i-c.ads, s-expllu.ads, s-osprim-darwin.adb, a-cogeso.adb, g-expect.ads, a-iwteio.ads, s-vallld.ads, a-coinho-shared.adb, g-shsh64.adb, a-strmap.ads, g-comlin.adb, a-excpol.adb, s-imgint.ads, a-ztdeau.adb, a-cogeso.ads, a-coinho-shared.ads, g-shsh64.ads, g-comlin.ads, a-stzsup.adb, a-rbtgbk.adb, a-wtmoau.adb, a-ztdeau.ads, s-exnlli.adb, g-tty.adb, g-heasor.adb, g-socthi-dummy.adb, s-llflex.ads, a-zchara.ads, a-stzsup.ads, a-ztcstr.adb, a-rbtgbk.ads, a-sfwtio.ads, a-wtmoau.ads, a-sulcin.adb, s-exnlli.ads, system-freebsd.ads, a-stunha.adb, a-charac.ads, g-tty.ads, g-heasor.ads, s-exctra.adb, g-socthi-dummy.ads, a-coboho.adb, a-ztcstr.ads, a-tideio.adb, a-sulcin.ads, a-wrstfi.adb, g-alleve.adb, s-pack59.adb, a-ngrear.adb, a-stboha.adb, a-stunau-shared.adb, a-stunha.ads, a-lfwtio.ads, s-fileio.adb, s-exctra.ads, a-coboho.ads, a-ioexce.ads, a-tideio.ads, a-ngrear.ads, a-wrstfi.ads, s-pack59.ads, g-alleve.ads, a-stboha.ads, s-poosiz.adb, g-traceb.adb, g-rannum.adb, machcode.ads, s-purexc.ads, s-fileio.ads, a-cfinve.adb, a-crbtgk.adb, system-solaris-x86.ads, s-poosiz.ads, g-rannum.ads, g-traceb.ads, a-except.adb, s-conca4.adb, a-stream.adb, a-cfinve.ads, a-crbtgk.ads, s-wchwts.adb, system-mingw.ads, a-except.ads, s-conca4.ads, a-chzla9.ads, s-valenu.adb, s-soflin.adb, a-stream.ads, a-cgarso.adb, s-valllu.adb, g-crc32.adb, s-wchwts.ads, s-fatflt.ads, s-imguns.adb, s-strcom.adb, g-decstr.adb, s-valenu.ads, s-soflin.ads, a-cgarso.ads, a-cwila1.ads, s-valllu.ads, g-crc32.ads, s-imguns.ads, g-spipat.adb, s-valwch.adb, s-strcom.ads, g-decstr.ads, text_io.ads, g-debuti.adb, s-stchop.adb, g-spipat.ads, s-valwch.ads, a-string.ads, s-exnint.adb, g-awk.adb, g-tasloc.adb, s-wwdenu.adb, s-boustr.adb, a-zchuni.adb, s-stchop.ads, g-debuti.ads, s-stopoo.adb, system-dragonfly-x86_64.ads, system-linux-x86.ads, s-exnint.ads, g-awk.ads, a-stzhas.adb, g-tasloc.ads, s-wwdenu.ads, g-debpoo.adb, g-except.ads, g-sse.ads, s-boustr.ads, a-zchuni.ads, s-bitops.adb, s-wwdwch.adb, s-stopoo.ads, a-catizo.adb, a-stzhas.ads, a-nlcefu.ads, g-debpoo.ads, i-vxwoio.adb, s-bitops.ads, g-io-put-vxworks.adb, s-wwdwch.ads, g-sehamd.adb, a-ssicst.adb, a-catizo.ads, s-mmap.adb, g-string.adb, s-traceb.adb, a-swunau.adb, s-rannum.adb, a-ticoau.adb, i-vxwoio.ads, g-sehamd.ads, a-stwiun.adb, a-ssicst.ads, s-conca5.adb, a-ssitio.ads, s-mmap.ads, a-zttest.adb, g-string.ads, g-sercom.adb, a-cdlili.adb, a-swunau.ads, s-traceb.ads, s-rannum.ads, a-ticoau.ads, system-aix.ads, a-cforma.adb, a-stwiun.ads, s-conca5.ads, s-carsi8.adb, a-zttest.ads, g-sercom.ads, a-cdlili.ads, a-cihama.adb, g-sptain.ads, a-cforma.ads, s-maccod.ads, s-carsi8.ads, a-strsup.adb, g-sha1.adb, a-cihama.ads, g-stseme.adb, s-traent.adb, s-valcha.adb, g-curexc.ads, a-strsup.ads, g-sha1.ads, a-sflcin.ads, s-traent.ads, s-pack10.adb, s-valcha.ads, a-coteio.ads, s-tasloc.adb, g-utf_32.adb, a-suteio.adb, s-except.adb, a-direct.adb, g-stsifd-sockets.adb, a-numaux-vxworks.ads, s-winext.ads, s-pack10.ads, a-ztexio.adb, a-tiflau.adb, system-vxworks-arm.ads, s-tasloc.ads, a-suteio.ads, g-utf_32.ads, s-except.ads, a-direct.ads, a-swbwha.adb, g-hesorg.adb, s-wwdcha.adb, a-wtedit.adb, a-ztexio.ads, a-wtcoio.adb, a-tiflau.ads, a-ssizti.ads, s-casi32.adb, a-swbwha.ads, s-veboop.adb, g-hesorg.ads, s-parame-rtems.adb, s-wwdcha.ads, a-wtedit.ads, a-stuten.adb, a-coinve.adb, a-wtcoio.ads, s-casi32.ads, s-string.adb, a-tiinau.adb, a-cusyqu.adb, s-conca6.adb, s-veboop.ads, a-cgcaso.adb, a-numaux-darwin.adb, a-envvar.adb, a-stuten.ads, s-secsta.adb, a-coinve.ads, s-string.ads, a-cusyqu.ads, a-tiinau.ads, s-osprim-vxworks.adb, s-conca6.ads, g-spchge.adb, s-parint.adb, a-cuprqu.adb, a-cgcaso.ads, a-numaux-darwin.ads, a-envvar.ads, s-secsta.ads, g-spchge.ads, s-parint.ads, a-cuprqu.ads, a-swuwti.adb, a-flteio.ads, a-sbhcin.adb, a-coprnu.adb, g-u3spch.adb, s-atocou.adb, g-ctrl_c.adb, a-swuwti.ads, a-calend.adb, a-sbhcin.ads, a-coprnu.ads, g-dirope.adb, g-sha512.ads, g-u3spch.ads, s-atocou.ads, g-ctrl_c.ads, a-timoau.adb, a-witeio.adb, s-pack11.adb, a-strhas.adb, a-wtflio.adb, g-spitbo.adb, a-calend.ads, a-ztenio.adb, g-dirope.ads, a-slcain.adb, g-sechas.adb, a-timoau.ads, a-witeio.ads, s-pack11.ads, s-shasto.adb, s-traceb-mastop.adb, a-ciorse.adb, s-utf_32.adb, a-strhas.ads, a-wtflio.ads, g-spitbo.ads, a-ztenio.ads, a-slcain.ads, g-sechas.ads, s-gearop.adb, a-siztio.ads, s-pack20.adb, s-shasto.ads, a-ciorse.ads, s-utf_32.ads, s-crtl.ads, a-wtinio.adb, s-elaall.adb, s-explli.adb, s-chepoo.ads, s-gearop.ads, a-einuoc.adb, s-pack20.ads, system-linux-ia64.ads, a-swunau-shared.adb, a-wtinio.ads, g-alvety.ads, a-liztio.ads, g-calend.adb, s-conca7.adb, s-elaall.ads, s-explli.ads, a-einuoc.ads, s-widboo.adb, s-imgdec.adb, a-cbhama.adb, g-calend.ads, s-conca7.ads, a-llitio.ads, i-cexten.ads, a-coorma.adb, s-widboo.ads, s-diflio.adb, g-souinf.ads, s-imgdec.ads, g-strhas.ads, a-cbhama.ads, g-shshco.adb, a-ztdeio.adb, s-gloloc.adb, a-coorma.ads, g-wispch.adb, s-pack03.adb, g-eacodu.adb, s-casi16.adb, s-diflio.ads, a-colien.adb, g-shshco.ads, a-wtmoio.adb, a-rbtgbo.adb, a-ztdeio.ads, system-rtems.ads, s-gloloc.ads, a-csquin.ads, a-cofuse.adb, g-wispch.ads, s-pack03.ads, s-casi16.ads, s-io.adb, a-colien.ads, g-alveop.adb, gnat.ads, s-diinio.adb, a-cfdlli.adb, g-pehage.adb, a-wtmoio.ads, a-stwiha.adb, a-locale.adb, a-tirsfi.adb, a-nscoty.ads, a-rbtgbo.ads, s-pack12.adb, a-cofuse.ads, a-sfteio.ads, s-io.ads, g-alveop.ads, a-cfdlli.ads, s-diinio.ads, a-stwiha.ads, g-pehage.ads, a-locale.ads, a-tirsfi.ads, s-pack12.ads, s-valuti.adb, g-cppexc.adb, system-vxworks-ppc.ads, g-memdum.adb, a-lfteio.ads, s-pack21.adb, s-unstyp.ads, s-valuti.ads, g-cppexc.ads, system-hpux-ia64.ads, g-memdum.ads, g-soccon.ads, g-altive.ads, a-crbtgo.adb, s-pack21.ads, a-llizti.ads, a-numaux-libc-x86.ads, s-expint.adb, s-conca8.adb, a-crbtgo.ads, s-pack30.adb, s-vallli.adb, s-geveop.adb, s-expint.ads, a-direio.adb, s-conca8.ads, a-widcha.ads, s-pack30.ads, s-vallli.ads, s-strhas.adb, s-geveop.ads, g-md5.adb, a-direio.ads, a-numaux.ads, s-ransee.adb, a-szbzha.adb, i-cobol.adb, g-busorg.adb, s-strhas.ads, g-md5.ads, s-widenu.adb, s-ransee.ads, s-widllu.adb, a-szbzha.ads, a-ststio.adb, i-cobol.ads, g-busorg.ads, g-regpat.adb, s-widenu.ads, a-secain.adb, s-widllu.ads, s-pack13.adb, g-encstr.adb, a-ztcoau.adb, a-ststio.ads, s-widwch.adb, g-regpat.ads, s-atacco.adb, a-cborse.adb, a-secain.ads, s-pack13.ads, g-encstr.ads, a-ztcoau.ads, s-widwch.ads, g-io_aux.adb, s-atacco.ads, a-ncelfu.ads, interfac.ads, a-cborse.ads, g-regexp.adb, s-pack22.adb, a-szuzti.adb, g-io_aux.ads, s-caun32.adb, a-nselfu.ads, g-regexp.ads, s-pack22.ads, a-ticoio.adb, a-szuzti.ads, g-diopit.adb, s-caun32.ads, s-conca9.adb, a-tags.adb, a-swmwco.ads, a-sbecin.adb, s-pack31.adb, s-expuns.adb, a-ticoio.ads, s-valint.adb, s-conca9.ads, g-diopit.ads, a-tags.ads, a-nllcef.ads, a-izteio.ads, a-sbecin.ads, s-expuns.ads, s-pack31.ads, g-dyntab.adb, s-powtab.ads, s-flocon-none.adb, s-valint.ads, a-ssiwti.ads, s-mmosin-mingw.adb, s-pack40.adb, s-pack05.adb, a-ztflau.adb, g-dyntab.ads, a-szuzti-shared.adb, g-alvevi.ads, a-stwise.adb, s-mmosin-mingw.ads, s-pack40.ads, a-diocst.adb, a-ztflau.ads, s-pack05.ads, a-nlcoty.ads, a-contai.ads, a-stwisu.adb, g-byorma.adb, a-siwtio.ads, a-stwise.ads, s-regpat.adb, g-mbdira.adb, s-pack14.adb, a-diocst.ads, g-flocon.ads, g-mbflra.adb, a-ztinau.adb, s-dim.ads, s-mantis.adb, a-stwisu.ads, g-byorma.ads, s-atopri.adb, g-wistsp.ads, a-uncdea.ads, s-widcha.adb, a-caldel.adb, s-regpat.ads, g-mbdira.ads, a-tiflio.adb, s-pack14.ads, s-parame.adb, a-liwtio.ads, s-memory.adb, g-mbflra.ads, a-ztinau.ads, a-wtgeau.adb, s-direio.adb, s-mantis.ads, s-atopri.ads, s-widcha.ads, a-caldel.ads, s-pack23.adb, a-unccon.ads, a-tiflio.ads, s-parame.ads, a-llftio.ads, s-memory.ads, s-regexp.adb, a-wtgeau.ads, a-exexda.adb, s-direio.ads, s-pack23.ads, g-stheme.adb, a-tiinio.adb, g-sestin.ads, s-regexp.ads, a-wtfiio.adb, a-comutr.adb, a-exexpr.adb, a-tiinio.ads, a-ztmoau.adb, a-cohata.ads, a-wtfiio.ads, s-imgrea.adb, ada.ads, a-szunau-shared.adb, a-comutr.ads, s-valuns.adb, a-ztmoau.ads, system-linux-arm.ads, s-osprim-x32.adb, s-pack41.adb, s-pack06.adb, s-imgrea.ads, s-valuns.ads, s-finroo.adb, s-caun16.adb, s-pooglo.adb, a-zrstfi.adb, a-suenst.adb, s-pack41.ads, g-binenv.adb, s-pack06.ads, a-calari.adb, a-nlcoar.ads, s-finroo.ads, a-timoio.adb, s-caun16.ads, s-flocon.adb, a-suenst.ads, a-zrstfi.ads, s-pooglo.ads, s-wchcon.adb, s-traceb-hpux.adb, s-pack50.adb, i-fortra.adb, s-pack15.adb, a-ngcefu.adb, g-sptavs.ads, g-binenv.ads, s-wchjis.adb, a-calari.ads, a-timoio.ads, a-decima.adb, s-flocon.ads, s-wchcon.ads, a-llfzti.ads, i-fortra.ads, s-pack50.ads, s-pack15.ads, a-ngcefu.ads, a-cfhase.adb, s-wchjis.ads, g-soliop.ads, a-decima.ads, a-chlat9.ads, s-pack24.adb, a-nlelfu.ads, a-cfhase.ads, g-locfil.adb, s-atocou-builtin.adb, s-memcop.ads, a-szunau.adb, s-pack24.ads, s-imgllb.adb, s-auxdec.adb, g-locfil.ads, s-pack33.adb, a-szunau.ads, s-parame-vxworks.adb, s-imgllb.ads, a-ciorma.adb, s-auxdec.ads, a-cobove.adb, s-dsaser.ads, a-elchha.adb, s-pack33.ads, a-cofuve.adb, s-parame-vxworks.ads, a-ciorma.ads, system-darwin-x86.ads, s-multip.adb, a-stwiun-shared.adb, a-wichun.adb, a-cobove.ads, s-imgbiu.adb, s-tsmona-mingw.adb, a-coormu.adb, a-siocst.adb, s-win32.ads, a-elchha.ads, s-pack42.adb, s-pack07.adb, a-cofuve.ads, system-hpux.ads, a-teioed.adb, a-convec.adb, g-speche.adb, s-multip.ads, a-stwiun-shared.ads, a-wichun.ads, s-imgbiu.ads, a-numeri.ads, a-siocst.ads, a-coormu.ads, a-lliwti.ads, s-pack42.ads, s-pack07.ads, a-teioed.ads, a-convec.ads, g-speche.ads, g-socthi.adb, a-nucoty.ads, a-szmzco.ads, s-pack51.adb, s-osprim-mingw.adb, s-casi64.adb, g-strspl.ads, g-socthi.ads, g-socket-dummy.adb, s-pack51.ads, s-dimmks.ads, s-casi64.ads, a-wtenau.adb, s-stchop-vxworks.adb, s-pack60.adb, system-solaris-sparc.ads, s-pack25.adb, g-socket-dummy.ads, a-exstat.adb, a-cofuma.adb, s-tsmona-linux.adb, a-wtenau.ads, s-pack60.ads, s-pack25.ads, i-cstrea.adb, a-cofuma.ads, g-exptty.adb, a-chzla1.ads, s-pack34.adb, i-cstrea.ads, s-excdeb.adb, a-iteint.ads, g-exptty.ads, i-pacdec.adb, s-pack34.ads, s-rident.ads, s-sopco3.adb, i-vxwork.ads, s-excdeb.ads, system-linux-ppc.ads, a-swuwti-shared.adb, s-widlli.adb, s-pack43.adb, i-pacdec.ads, a-cwila9.ads, s-sopco3.ads, a-fwteio.ads, s-widlli.ads, s-pack43.ads, a-suhcin.adb, a-wtdeau.adb, g-allein.ads, a-suezst.adb, a-dirval-mingw.adb, g-zspche.adb, s-bignum.adb, a-ztedit.adb, g-regist.adb, a-nllefu.ads, a-ztcoio.adb, s-pack52.adb, a-llctio.ads, a-nucoar.ads, s-pack17.adb, a-suhcin.ads, a-wtdeau.ads, a-suezst.ads, a-dirval.adb, g-zspche.ads, g-regist.ads, a-ztedit.ads, s-bignum.ads, a-wtcstr.adb, system.ads, s-pack52.ads, a-ztcoio.ads, s-pack17.ads, s-imgboo.adb, a-rbtgso.adb, a-dirval.ads, a-cohase.adb, s-pack61.adb, a-wtcstr.ads, s-pack26.adb, s-osprim.ads, a-tigeau.adb, s-imgboo.ads, a-nuelfu.ads, a-swfwha.ads, s-commun.adb, g-socthi-vxworks.adb, a-rbtgso.ads, a-cohase.ads, g-zstspl.ads, s-pack61.ads, s-pack26.ads, a-intnam-dragonfly.ads, s-imglld.adb, a-tigeau.ads, s-commun.ads, g-socthi-vxworks.ads, a-cborma.adb, a-stwifi.adb, g-moreex.adb, s-pack35.adb, s-imglld.ads, s-valdec.adb, a-tifiio.adb, a-cborma.ads, g-moreex.ads, a-stwifi.ads, s-pack35.ads, s-sopco4.adb, g-sha224.ads, g-socket.adb, a-intnam-rtems.ads, s-finmas.adb, s-valdec.ads, s-addima.adb, a-finali.adb, a-tifiio.ads, s-rpc.adb, a-ztflio.adb, s-pack44.adb, s-pack09.adb, a-sblcin.adb, s-sopco4.ads, a-textio.adb, g-socket.ads, g-sptabo.ads, s-finmas.ads, g-shsh32.adb, s-addima.ads, a-finali.ads, s-mmauni-long.ads, s-rpc.ads, a-ztflio.ads, system-djgpp.ads, s-stache.adb, s-pack44.ads, s-pack09.ads, a-sblcin.ads, a-textio.ads, a-cidlli.adb, g-shsh32.ads, a-chtgbk.adb, a-tiocst.adb, s-pack53.adb, s-pack18.adb, s-stache.ads, a-zchhan.adb, s-fatlfl.ads, a-ztinio.adb, s-strops.adb, a-siteio.ads, a-cidlli.ads, a-chtgbk.ads, g-ssvety.ads, a-tiocst.ads, s-pack53.ads, s-parame-hpux.ads, s-pack18.ads, a-zchhan.ads, s-strops.ads, a-ztinio.ads, a-wichha.adb, a-stwima.adb, a-nlrear.ads, a-liteio.ads, s-pack62.adb, s-pack27.adb, s-fore.adb, s-vercon.adb, a-wichha.ads, a-stwima.ads, s-pack62.ads, system-linux-sparc.ads, s-pack27.ads, g-dynhta.adb, s-fore.ads, s-vercon.ads, a-cofuba.adb, a-cimutr.adb, i-cpoint.adb, s-imgenu.adb, a-stwibo.adb, s-pack36.adb, i-cstrin.adb, s-imgllu.adb, a-suteio-shared.adb, g-excact.adb, s-stoele.adb, s-addope.adb, g-dynhta.ads, a-cofuba.ads, a-ztmoio.adb, a-llfwti.ads, a-cimutr.ads, i-cpoint.ads, s-imgenu.ads, a-stwibo.ads, a-wttest.adb, s-pack36.ads, a-tgdico.ads, s-sopco5.adb, s-scaval.adb, i-cstrin.ads, s-imgllu.ads, g-excact.ads, s-stoele.ads, g-deutst.ads, s-addope.ads, s-imgwch.adb, g-sha384.ads, a-ztmoio.ads, s-pack45.adb, a-wttest.ads, s-sopco5.ads, s-excmac-gcc.adb, s-scaval.ads, a-storio.adb, a-coinho.adb, a-btgbso.adb, s-imgwch.ads, s-carun8.adb, memtrack.adb, s-pack45.ads, a-sfhcin.ads, s-excmac-gcc.ads, a-storio.ads, a-coinho.ads, a-btgbso.ads, s-stratt.adb, s-carun8.ads, a-shcain.adb, s-pack54.adb, s-pack19.adb, a-colire.adb, a-tigeli.adb, s-caun64.adb, s-stratt.ads, s-fatgen.adb, a-shcain.ads, a-stzunb-shared.adb, s-pack54.ads, s-pack19.ads, a-colire.ads, a-calcon.adb, s-caun64.ads, s-fatgen.ads, s-pack63.adb, g-arrspl.adb, a-stzunb-shared.ads, s-pack28.adb, a-nllrar.ads, a-zzboio.adb, a-zzunio.ads, a-stunau.adb, a-calcon.ads, g-cgideb.adb, s-objrea.adb, s-mastop.adb, a-tienau.adb, g-altcon.adb, g-arrspl.ads, s-pack63.ads, s-restri.adb, s-pack28.ads, a-zzboio.ads, a-stunau.ads, g-cgideb.ads, g-htable.adb, g-sothco.adb, s-objrea.ads, g-soliop-solaris.ads, s-mastop.ads, a-tienau.ads, system-linux-m68k.ads, g-altcon.ads, s-dmotpr.ads, s-memory-mingw.adb, g-cgicoo.adb, s-pack37.adb, s-restri.ads, s-fatllf.ads, s-expmod.adb, a-swuwha.adb, a-exextr.adb, a-cfhama.adb, s-gloloc-mingw.adb, a-tiboio.adb, g-forstr.adb, g-sothco.ads, a-stzbou.adb, a-nllcty.ads, a-suecin.adb, g-htable.ads, s-exctab.adb, a-tiunio.ads, g-cgicoo.ads, s-osprim-posix.adb, s-pack37.ads, a-ciormu.adb, s-atocou-x86.adb, a-swuwha.ads, s-expmod.ads, a-cfhama.ads, s-ficobl.ads, a-ngcoty.adb, g-forstr.ads, a-tiboio.ads, a-calfor.adb, a-stzbou.ads, a-suecin.ads, a-conhel.adb, a-crbltr.ads, s-exctab.ads, a-dhfina.ads, s-imgcha.adb, s-pack46.adb, a-ciormu.ads, system-linux-sh4.ads, a-chahan.adb, a-ngcoty.ads, a-stzunb.adb, a-szfzha.ads, a-calfor.ads, a-cbdlli.adb, a-conhel.ads, s-imgcha.ads, s-pack46.ads, a-assert.adb, a-chahan.ads, a-stzunb.ads, a-crdlli.adb, s-pack55.adb, a-cbdlli.ads, a-tideau.adb, a-assert.ads, ioexcept.ads, s-boarop.ads, g-hesora.adb, a-crdlli.ads, s-pack55.ads, a-tideau.ads, g-bubsor.adb, a-wtenio.adb, a-cbsyqu.adb, g-hesora.ads, s-pack29.adb, a-nurear.ads, g-catiio.adb, s-stposu.adb, g-bubsor.ads, a-wtenio.ads, a-cbsyqu.ads, a-suewst.adb, system-vxworks-x86.ads, s-pack29.ads, a-cbmutr.adb, a-cbprqu.adb, s-imenne.adb, g-sothco-dummy.adb, g-casuti.adb, g-catiio.ads, s-stposu.ads, a-stzsea.adb, s-pack38.adb, a-suewst.ads, s-imgllw.adb, a-cbprqu.ads, a-cbmutr.ads, s-imenne.ads, g-sothco-dummy.ads, g-casuti.ads, s-htable.adb, s-fatsfl.ads, g-trasym.adb, unchconv.ads, a-stzsea.ads, s-arit64.adb, s-pack38.ads, a-nllcar.ads, s-valrea.adb, s-imgllw.ads, s-htable.ads, a-sequio.adb, g-trasym.ads, a-ngcoar.adb, s-exnllf.adb, s-pack47.adb, s-arit64.ads, g-sercom-mingw.adb, s-valrea.ads, g-socthi-mingw.adb, g-bytswa.adb, g-sehash.adb, unchdeal.ads, a-sequio.ads, a-ngcoar.ads, s-exnllf.ads, a-wtdeio.adb, s-pack47.ads, g-socthi-mingw.ads, a-excpol-abort.adb, a-ztgeau.adb, g-bytswa.ads, g-sehash.ads, s-pack56.adb, a-wtdeio.ads, a-ngelfu.adb, a-ztgeau.ads, a-cforse.adb, s-filatt.ads, a-stzfix.adb, a-cihase.adb, s-pack56.ads, a-sfztio.ads, a-ngelfu.ads, s-trasym-dwarf.adb, a-cforse.ads, a-ztfiio.adb, g-timsta.adb, a-stzfix.ads, a-cihase.ads, a-ztfiio.ads, system-darwin-arm.ads: Move non-tasking runtime sources to libgnat subdirectory. From-SVN: r251902 | |||||
2017-09-08 | [multiple changes] | Arnaud Charlet | 1 | -2/+5 | |
2017-09-08 Bob Duff <duff@adacore.com> * par-prag.adb, sem_prag.adb, snames.ads-tmpl: Implement pragma Ada_2020, along the same lines as the other Ada version pragmas. 2017-09-08 Gary Dismukes <dismukes@adacore.com> * sem_ch12.adb: Minor typo fixes and reformatting. 2017-09-08 Yannick Moy <moy@adacore.com> * sem_aggr.adb (Resolve_Record_Aggregate): Rewrite bounds of aggregate subexpressions which may depend on discriminants of the enclosing aggregate. 2017-09-08 Yannick Moy <moy@adacore.com> * sem_ch5.adb: Prevent assertion failure on illegal code. 2017-09-08 Yannick Moy <moy@adacore.com> * lib-xref-spark_specific.adb (Add_SPARK_Xrefs.Is_SPARK_Scope): Avoid calling Renamed_Entity on an entity which cannot be a renaming. 2017-09-08 Eric Botcazou <ebotcazou@adacore.com> * exp_aggr.adb: Add with & use clause for Urealp. (Aggr_Assignment_OK_For_Backend): Accept (almost all) elementary types instead of just discrete types. * sem_eval.adb (Expr_Value): Deal with N_Null for access types. * gcc-interface/trans.c (gnat_to_gnu) <N_Assignment_Statement>: Be prepared for the FP zero value in the memset case. Add small guard. 2017-09-08 Eric Botcazou <ebotcazou@adacore.com> * s-htable.adb (Static_HTable.Reset): Use aggregate instead of loop. From-SVN: r251894 | |||||
2017-09-08 | Makefile.in, [...]: Move libgnarl sources to libgnarl subdir. | Nicolas Roche | 1 | -450/+451 | |
2017-09-08 Nicolas Roche <roche@adacore.com> * gcc-interface/Makefile.in, a-extiti.ads, s-taprop-linux.adb, s-osinte-solaris.adb, a-intnam.ads, s-osinte-solaris.ads, s-tpobop.adb, s-intman-android.adb, s-tasinf.adb, s-tpobop.ads, s-tasinf.ads, i-vxinco.adb, a-exetim-posix.adb, i-vxinco.ads, a-astaco.adb, a-astaco.ads, s-tporft.adb, s-tpoaal.adb, a-taside.adb, a-taside.ads, s-tpopsp-posix.adb, s-tasdeb.adb, s-tasdeb.ads, s-tpoben.adb, a-dinopr.ads, s-inmaop-vxworks.adb, s-tpoben.ads, s-interr-vxworks.adb, s-interr-dummy.adb, s-tassta.adb, a-intnam-mingw.ads, s-tassta.ads, s-taasde.adb, a-stcoed.ads, s-taasde.ads, s-osinte-darwin.adb, s-proinf.adb, s-taprop-dummy.adb, s-osinte-darwin.ads, s-proinf.ads, s-linux.ads, a-intnam-linux.ads, s-tasren.adb, s-tasren.ads, s-mudido.adb, g-semaph.adb, s-mudido.ads, s-taprop-posix.adb, g-semaph.ads, s-osinte-mingw.ads, s-vxwork-x86.ads, s-tposen.adb, s-linux-sparc.ads, s-taprop-vxworks.adb, s-tasini.adb, s-tposen.ads, s-tasini.ads, a-etgrbu.ads, s-interr-hwint.adb, s-osinte-linux.ads, s-taprop.ads, s-tasque.adb, s-tasque.ads, s-taenca.adb, s-taspri-vxworks.ads, s-taenca.ads, a-dynpri.adb, s-tpopsp-solaris.adb, a-dynpri.ads, s-taprop-hpux-dce.adb, a-interr.adb, a-intnam-freebsd.ads, s-tarest.adb, a-interr.ads, s-intman-susv3.adb, a-synbar.adb, a-intnam-dummy.ads, s-tadeca.adb, s-osinte-vxworks.adb, s-tarest.ads, s-taskin.adb, a-synbar.ads, s-taspri-hpux-dce.ads, s-tadeca.ads, s-osinte-vxworks.ads, s-taskin.ads, s-intman-solaris.adb, a-sytaco.adb, s-vxwext-kernel.adb, s-mudido-affinity.adb, a-sytaco.ads, s-vxwext-kernel.ads, s-taprob.adb, s-intman-mingw.adb, s-taprob.ads, s-osinte-kfreebsd-gnu.ads, s-osinte-dummy.ads, s-osinte-gnu.adb, s-osinte-rtems.adb, s-interr.adb, s-inmaop.ads, s-vxwext-rtp.adb, s-osinte-gnu.ads, s-osinte-rtems.ads, a-synbar-posix.adb, s-interr.ads, s-taspri-posix-noaltstack.ads, s-vxwext-rtp.ads, a-synbar-posix.ads, a-extiin.ads, s-osinte-posix.adb, s-tpinop.adb, s-tasres.ads, s-tpinop.ads, a-disedf.ads, a-diroro.ads, s-linux-alpha.ads, a-tasatt.adb, s-solita.adb, a-intnam-solaris.ads, a-tasatt.ads, s-solita.ads, s-tasinf-solaris.adb, s-tasinf-solaris.ads, s-vxwork-arm.ads, s-tpopsp-posix-foreign.adb, s-intman-dummy.adb, s-intman.ads, s-stusta.adb, s-stusta.ads, s-intman-posix.adb, s-tpopsp-vxworks.adb, s-inmaop-dummy.adb, s-taspri-mingw.ads, a-intnam-darwin.ads, s-osinte-aix.adb, s-osinte-dragonfly.adb, s-osinte-aix.ads, s-tasinf-mingw.adb, s-osinte-dragonfly.ads, s-linux-hppa.ads, s-osinte-x32.adb, s-inmaop-posix.adb, s-tasinf-mingw.ads, s-intman-vxworks.adb, s-linux-mips.ads, s-intman-vxworks.ads, s-osinte-android.adb, s-tasinf-linux.adb, s-osinte-android.ads, s-vxwork-ppc.ads, s-tasinf-linux.ads, a-dispat.adb, a-dispat.ads, s-tadert.adb, g-thread.adb, s-tadert.ads, g-thread.ads, a-intnam-hpux.ads, s-linux-android.ads, s-tataat.adb, a-exetim.ads, s-tataat.ads, a-reatim.adb, a-reatim.ads, thread.c, g-boubuf.adb, s-osinte-freebsd.adb, g-boubuf.ads, s-osinte-freebsd.ads, s-tasuti.adb, s-taspri-dummy.ads, a-exetim-mingw.adb, s-linux-x32.ads, s-tasuti.ads, g-signal.adb, a-exetim-mingw.ads, s-interr-sigaction.adb, g-signal.ads, s-osinte-hpux.ads, a-intnam-vxworks.ads, s-osinte-hpux-dce.adb, s-taspri-posix.ads, s-osinte-hpux-dce.ads, s-tasinf-vxworks.ads, g-tastus.ads, s-tpopsp-tls.adb, s-taprop-solaris.adb, a-retide.adb, a-exetim-darwin.adb, a-retide.ads, s-vxwext.adb, s-vxwext.ads, a-rttiev.adb, a-rttiev.ads, g-boumai.ads, a-exetim-default.ads, s-taprop-mingw.adb, s-taspri-solaris.ads, a-intnam-aix.ads: Move libgnarl sources to libgnarl subdir. From-SVN: r251891 | |||||
2017-09-08 | s-dwalin.ads, [...]: New. | Arnaud Charlet | 1 | -0/+25 | |
2017-09-08 Arnaud Charlet <charlet@adacore.com> * s-dwalin.ads, s-dwalin.adb, s-trasym-dwarf.adb, s-objrea.ads, s-objrea.adb, s-tsmona-linux.adb, s-tsmona-mingw.adb: New. * gcc-interface/Makefile.in: Enable s-trasym-dwarf.adb on x86*linux. From-SVN: r251887 | |||||
2017-09-08 | [multiple changes] | Arnaud Charlet | 1 | -400/+46 | |
2017-09-08 Bob Duff <duff@adacore.com> * s-ststop.ads, s-ststop.adb, rtsfind.ads (String_Input_Tag): New routine to read the Tag robustly. * exp_attr.adb (Input): Change the expansion of 'Input, in the class-wide case, to call String_Input_Tag instead of String_Input_Blk_IO. 2017-09-08 Arnaud Charlet <charlet@adacore.com> * s-rident.ads (Restriction_Id): reorder enum literals, so that Pure_Barriers is no longer in range of the Cunit_Boolean_Restrictions subtype. 2017-09-08 Nicolas Roche <roche@adacore.com> * a-taster.ads, a-taster.adb: Move to libgnarl * gcc-interface/Makefile.in: Remove obsolete targets. Code cleanups. Add support for files in libgnarl. 2017-09-08 Ed Schonberg <schonberg@adacore.com> * exp_ch4.adb (Expand_N_Type_Conversion): Do not apply accessibility check to an interface conversion, whose purpose is to perform a pointer adjustment in a dispatching call. * exp_ch6.adb (Expand_Call_JHelper): Add accessibility checks when the actual is a construct that involves a dereference of an expression that includes a formal of the enclosing subprogram, In such cases, the accessibility level of the actual is that of the corresponding formal, which is passed in as an additional actual in the outer call. From-SVN: r251886 | |||||
2017-09-08 | Minor clean up. | Arnaud Charlet | 1 | -1/+5 | |
From-SVN: r251867 | |||||
2017-09-08 | Fix merge error. | Eric Botcazou | 1 | -11/+0 | |
From-SVN: r251862 | |||||
2017-09-07 | re PR ada/82127 (gnat.dg/specs/constructor.ads FAILs) | Eric Botcazou | 1 | -5/+3 | |
PR ada/82127 * gcc-interface/decl.c (copy_and_substitute_in_layout): Put the fields in order of increasing position in more cases. From-SVN: r251846 | |||||
2017-09-06 | decl.c (warn_on_field_placement): Issue the warning only if the record type ↵ | Eric Botcazou | 1 | -0/+4 | |
itself comes from source. * gcc-interface/decl.c (warn_on_field_placement): Issue the warning only if the record type itself comes from source. From-SVN: r251812 | |||||
2017-09-06 | trans.c (gnat_to_gnu): Try again to translate the prefix after the field if ↵ | Eric Botcazou | 1 | -0/+11 | |
it is incomplete. 2017-09-06 Eric Botcazou <ebotcazou@adacore.com> * gcc-interface/trans.c (gnat_to_gnu) <N_Selected_Component>: Try again to translate the prefix after the field if it is incomplete. From-SVN: r251788 | |||||
2017-09-06 | Makefile.in: Remove the Project Manager from the GNAT tools. | Vincent Celier | 1 | -6/+3 | |
2017-09-06 Vincent Celier <celier@adacore.com> * gcc-interface/Makefile.in: Remove the Project Manager from the GNAT tools. From-SVN: r251787 | |||||
2017-09-06 | [multiple changes] | Arnaud Charlet | 1 | -2/+1 | |
2017-09-06 Gary Dismukes <dismukes@adacore.com> * exp_ch5.adb, s-diinio.ads, sem_ch4.adb, s-diflio.ads: Minor spelling adjustments and a typo fix. 2017-09-06 Yannick Moy <moy@adacore.com> * sem_res.adb (Resolve_Call): Do not issue info message about inlining of calls to functions in assertions, for functions whose body has not been seen yet. 2017-09-06 Bob Duff <duff@adacore.com> * a-comlin.ads, a-comlin.adb (Argument): Simplify the code, now that we can use modern Ada in this package. * s-resfil.ads, s-resfil.adb, a-clrefi.ads, a-clrefi.adb: Move Ada.Command_Line.Response_File to System.Response_File, and make Ada.Command_Line.Response_File into a rename of System.Response_File. This is to avoid having gnatbind depend Ada.Command_Line, which would damage the bootstrap process now that Ada.Command_Line contains modern Ada (the raise expression). * gnatbind.adb: Avoid dependence on Ada.Command_Line. Depend on System.Response_File instead of Ada.Command_Line.Response_File. Change one call to Ada.Command_Line.Command_Name to use Fill_Arg. Change one call to Ada.Command_Line.Argument_Count to use Arg_Count. * gcc-interface/Make-lang.in, Makefile.rtl: Take note of the new files. From-SVN: r251775 | |||||
2017-09-06 | [multiple changes] | Arnaud Charlet | 1 | -13/+12 | |
2017-09-06 Eric Botcazou <ebotcazou@adacore.com> * ali.ads (ALIs_Record): Add No_Component_Reordering component. (No_Component_Reordering_Specified): New switch. * ali.adb (Initialize_ALI): Set No_Component_Reordering_Specified. (Scan_ALI): Set No_Component_Reordering and deal with NC marker. * bcheck.adb (Check_Consistent_No_Component_Reordering): New check. (Check_Configuration_Consistency): Invoke it. * debug.adb (d.r): Toggle the effect of the switch. (d.v): Change to no-op. * einfo.ads (Has_Complex_Representation): Restrict to record types. (No_Reordering): New alias for Flag239. (OK_To_Reorder_Components): Delete. (No_Reordering): Declare. (Set_No_Reordering): Likewise. (OK_To_Reorder_Components): Delete. (Set_OK_To_Reorder_Components): Likewise. * einfo.adb (Has_Complex_Representation): Expect record types. (No_Reordering): New function. (OK_To_Reorder_Components): Delete. (Set_Has_Complex_Representation): Expect base record types. (Set_No_Reordering): New procedure. (Set_OK_To_Reorder_Components): Delete. (Write_Entity_Flags): Adjust to above change. * fe.h (Debug_Flag_Dot_R): New macro and declaration. * freeze.adb (Freeze_Record_Type): Remove conditional code setting OK_To_Reorder_Components on record types with convention Ada. * lib-writ.adb (Write_ALI): Deal with NC marker. * opt.ads (No_Component_Reordering): New flag. (No_Component_Reordering_Config): Likewise. (Config_Switches_Type): Add No_Component_Reordering component. * opt.adb (Register_Opt_Config_Switches): Copy No_Component_Reordering onto No_Component_Reordering_Config. (Restore_Opt_Config_Switches): Restore No_Component_Reordering. (Save_Opt_Config_Switches): Save No_Component_Reordering. (Set_Opt_Config_Switches): Set No_Component_Reordering. * par-prag.adb (Prag): Deal with Pragma_No_Component_Reordering. * sem_ch3.adb (Analyze_Private_Extension_Declaration): Also set the No_Reordering flag from the default. (Build_Derived_Private_Type): Likewise. (Build_Derived_Record_Type): Likewise. Then inherit it for untagged types and clean up handling of similar flags. (Record_Type_Declaration): Likewise. * sem_ch13.adb (Same_Representation): Deal with No_Reordering and remove redundant test on Is_Tagged_Type. * sem_prag.adb (Analyze_Pragma): Handle No_Component_Reordering. (Sig_Flags): Likewise. * snames.ads-tmpl (Name_No_Component_Reordering): New name. (Pragma_Id): Add Pragma_No_Component_Reordering value. * warnsw.adb (Set_GNAT_Mode_Warnings): Enable -gnatw.q as well. * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Copy the layout of the parent type only if the No_Reordering settings match. (components_to_record): Reorder record types with convention Ada by default unless No_Reordering is set or -gnatd.r is specified and do not warn if No_Reordering is set in GNAT mode. 2017-09-06 Ed Schonberg <schonberg@adacore.com> * sem_util.ads, sem_util.adb (Check_Previous_Null_Procedure): new predicate to reject declarations that can be completions, when there is a visible prior homograph that is a null procedure. * sem_ch6.adb (Analyze_Null_Procedure): use it. * sem_ch8.adb (Analyze_Subprogram_Renaming): ditto. 2017-09-06 Thomas Quinot <quinot@adacore.com> * s-regpat.adb (Compile.Parse_Literal): Fix handling of literal run of 253 characters or more. From-SVN: r251760 | |||||
2017-09-05 | Make mode_for_size_tree return an opt_mode | Richard Sandiford | 1 | -1/+2 | |
...for consistency with mode_for_size 2017-09-05 Richard Sandiford <richard.sandiford@linaro.org> gcc/ * stor-layout.h (mode_for_size_tree): Return an opt_mode. * stor-layout.c (mode_for_size_tree): Likewise. (mode_for_array): Update accordingly. (layout_decl): Likewise. (compute_record_mode): Likewise. Only set the mode once. gcc/ada/ * gcc-interface/utils.c (make_packable_type): Update call to mode_for_size_tree. From-SVN: r251732 | |||||
2017-09-05 | Make more use of int_mode_for_size | Richard Sandiford | 1 | -1/+2 | |
This patch converts more places that could use int_mode_for_size instead of mode_for_size. This is in preparation for an upcoming patch that makes mode_for_size itself return an opt_mode. require () seems like the right choice in expand_builtin_powi because we have got past the point of backing out. We go on to do: op1 = expand_expr (arg1, NULL_RTX, mode2, EXPAND_NORMAL); if (GET_MODE (op1) != mode2) op1 = convert_to_mode (mode2, op1, 0); which would be invalid for (and have failed for) BLKmode. In get_builtin_sync_mode and expand_ifn_atomic_compare_exchange, the possible bitsizes are {8, 16, 32, 64, 128}, all of which give target-independent integer modes (up to TImode). The comment above the call in get_builtin_sync_mode makes clear that an integer mode must be found. We can use require () in expand_builtin_atomic_clear and expand_builtin_atomic_test_and_set because there's always an integer mode for the boolean type. The same goes for the POINTER_SIZE request in layout_type. Similarly we can use require () in combine_instructions and gen_lowpart_common because there's always an integer mode for HOST_BITS_PER_WIDE_INT (DImode when BITS_PER_UNIT == 8), and HOST_BITS_PER_DOUBLE_INT (TImode). The calls in aarch64_function_value, arm_function_value, aapcs_allocate_return_reg and mips_function_value_1 are handling cases in which a big-endian target passes or returns values at the most significant end of a register. In each case the ABI constrains the size to a small amount and does not handle non-power-of-2 sizes wider than a word. The calls in c6x_expand_movmem, i386.c:emit_memset, lm32_block_move_inline, microblaze_block_move_straight and mips_block_move_straight are dealing with expansions of block memory operations using register-wise operations, and those registers must have non-BLK mode. The reason for using require () in ix86_expand_sse_cmp, mips_expand_ins_as_unaligned_store, spu.c:adjust_operand and spu_emit_branch_and_set is that we go on to emit non-call instructions that use registers of that mode, which wouldn't be valid for BLKmode. 2017-09-05 Richard Sandiford <richard.sandiford@linaro.org> gcc/ * builtins.c (expand_builtin_powi): Use int_mode_for_size. (get_builtin_sync_mode): Likewise. (expand_ifn_atomic_compare_exchange): Likewise. (expand_builtin_atomic_clear): Likewise. (expand_builtin_atomic_test_and_set): Likewise. (fold_builtin_atomic_always_lock_free): Likewise. * calls.c (compute_argument_addresses): Likewise. (emit_library_call_value_1): Likewise. (store_one_arg): Likewise. * combine.c (combine_instructions): Likewise. * config/aarch64/aarch64.c (aarch64_function_value): Likewise. * config/arm/arm.c (arm_function_value): Likewise. (aapcs_allocate_return_reg): Likewise. * config/c6x/c6x.c (c6x_expand_movmem): Likewise. * config/i386/i386.c (construct_container): Likewise. (ix86_gimplify_va_arg): Likewise. (ix86_expand_sse_cmp): Likewise. (emit_memmov): Likewise. (emit_memset): Likewise. (expand_small_movmem_or_setmem): Likewise. (ix86_expand_pextr): Likewise. (ix86_expand_pinsr): Likewise. * config/lm32/lm32.c (lm32_block_move_inline): Likewise. * config/microblaze/microblaze.c (microblaze_block_move_straight): Likewise. * config/mips/mips.c (mips_function_value_1) Likewise. (mips_block_move_straight): Likewise. (mips_expand_ins_as_unaligned_store): Likewise. * config/powerpcspe/powerpcspe.c (rs6000_darwin64_record_arg_advance_flush): Likewise. (rs6000_darwin64_record_arg_flush): Likewise. * config/rs6000/rs6000.c (rs6000_darwin64_record_arg_advance_flush): Likewise. (rs6000_darwin64_record_arg_flush): Likewise. * config/sparc/sparc.c (sparc_function_arg_1): Likewise. (sparc_function_value_1): Likewise. * config/spu/spu.c (adjust_operand): Likewise. (spu_emit_branch_or_set): Likewise. (arith_immediate_p): Likewise. * emit-rtl.c (gen_lowpart_common): Likewise. * expr.c (expand_expr_real_1): Likewise. * function.c (assign_parm_setup_block): Likewise. * gimple-ssa-store-merging.c (encode_tree_to_bitpos): Likewise. * reload1.c (alter_reg): Likewise. * stor-layout.c (mode_for_vector): Likewise. (layout_type): Likewise. gcc/ada/ * gcc-interface/utils2.c (build_load_modify_store): Use int_mode_for_size. From-SVN: r251726 | |||||
2017-09-05 | re PR ada/62235 (segmentation fault on Ada 2012 code) | Eric Botcazou | 1 | -3/+6 | |
PR ada/62235 * gcc-interface/decl.c (gnat_to_gnu_entity): Skip regular processing for Itypes that are E_Record_Subtype with a cloned subtype. <E_Record_Subtype>: Use the DECL of the cloned type directly, if any. From-SVN: r251706 | |||||
2017-09-05 | trans.c (convert_with_check): Use a custom base type if the base type of the ↵ | Eric Botcazou | 1 | -40/+49 | |
expression has a different... * gcc-interface/trans.c (convert_with_check): Use a custom base type if the base type of the expression has a different machine mode. Rename a couple of parameters and local variable. From-SVN: r251705 | |||||
2017-09-05 | trans.c (Attribute_to_gnu): Do not strip conversions around prefixes that ↵ | Eric Botcazou | 1 | -4/+8 | |
are not references. * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Address>: Do not strip conversions around prefixes that are not references. From-SVN: r251704 | |||||
2017-09-05 | utils.c (unchecked_convert): When the result type is a non-biased integral ↵ | Eric Botcazou | 1 | -14/+20 | |
type with size 0... * gcc-interface/utils.c (unchecked_convert): When the result type is a non-biased integral type with size 0, set the result to 0 directly. From-SVN: r251701 | |||||
2017-09-05 | gigi.h (renaming_from_generic_instantiation_p): Turn to | Eric Botcazou | 4 | -46/+40 | |
* gcc-interface/gigi.h (renaming_from_generic_instantiation_p): Turn to (renaming_from_instantiation_p): ...this. * gcc-interface/decl.c (gnat_to_gnu_entity): Use inline predicate instead of explicit tests on kind of entities. Adjust for renaming. (gnat_to_gnu_profile_type): Likewise. (gnat_to_gnu_subprog_type): Likewise. * gcc-interface/trans.c (Identifier_to_gnu): Likewise. (Case_Statement_to_gnu): Likewise. (gnat_to_gnu): Likewise. (process_freeze_entity): Likewise. (process_type): Likewise. (add_stmt_with_node): Adjust for renaming. * gcc-interface/utils.c (gnat_pushdecl): Adjust for renaming. (renaming_from_generic_instantiation_p): Rename to... (renaming_from_instantiation_p): ...this. Use inline predicate. (pad_type_hasher::keep_cache_entry): Fold. From-SVN: r251700 | |||||
2017-09-05 | trans.c (adjust_for_implicit_deref): New function. | Eric Botcazou | 1 | -16/+26 | |
* gcc-interface/trans.c (adjust_for_implicit_deref): New function. (gnat_to_gnu) <N_Explicit_Dereference>: Translate result type first. (N_Indexed_Component): Invoke adjust_for_implicit_deref on the prefix. (N_Slice): Likewise. (N_Selected_Component): Likewise. Do not try again to translate it. (N_Free_Statement): Invoke adjust_for_implicit_deref on the expression. From-SVN: r251699 | |||||
2017-09-05 | repinfo.ads: Document new treatment of dynamic values. | Eric Botcazou | 1 | -38/+65 | |
* repinfo.ads: Document new treatment of dynamic values. (TCode): Bump upper bound to 29. (Dynamic_Val): New constant set to 29. * repinfo.adb (Print_Expr) <Dynamic_Val>: New case. (Rep_Value) <Dynamic_Val>: Likewise. * repinfo.h (Dynamic_Val): New macro. * gcc-interface/decl.c (annotate_value): Tidy up and cache result for DECL_P nodes too. <INTEGER_CST>: Set TCODE instead of recursing. <COMPONENT_REF>: Set TCODE instead of calling Create_Node manually. <VAR_DECL>: New case. <MULT_EXPR, PLUS_EXPR>: Fold conversions into inner operations. <BIT_AND_EXPR>: Adjust. <CALL_EXPR>: Do not fall through. From-SVN: r251698 | |||||
2017-09-05 | trans.c (Call_to_gnu): If this is a function call and there is no target... | Eric Botcazou | 1 | -5/+7 | |
* gcc-interface/trans.c (Call_to_gnu): If this is a function call and there is no target, do not create a temporary for the return value for an allocator either. From-SVN: r251695 | |||||
2017-09-05 | trans.c (pos_to_constructor): Skip conversions to an unconstrained array type. | Eric Botcazou | 1 | -1/+8 | |
* gcc-interface/trans.c (pos_to_constructor): Skip conversions to an unconstrained array type. From-SVN: r251691 | |||||
2017-08-30 | [33/77] Add a NARROWEST_INT_MODE macro | Richard Sandiford | 1 | -1/+1 | |
This patch replaces uses of GET_CLASS_NARROWEST_MODE (MODE_INT) with a new NARROWEST_INT_MODE macro, which has type scalar_int_mode. 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org> Alan Hayward <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> gcc/ * machmode.h (NARROWEST_INT_MODE): New macro. * expr.c (alignment_for_piecewise_move): Use it instead of GET_CLASS_NARROWEST_MODE (MODE_INT). (push_block): Likewise. * stor-layout.c (bit_field_mode_iterator::bit_field_mode_iterator): Likewise. * tree-vrp.c (simplify_float_conversion_using_ranges): Likewise. gcc/ada/ * gcc-interface/decl.c (validate_size): Use NARROWEST_INT_MODE instead of GET_CLASS_NARROWEST_MODE (MODE_INT). Co-Authored-By: Alan Hayward <alan.hayward@arm.com> Co-Authored-By: David Sherwood <david.sherwood@arm.com> From-SVN: r251485 | |||||
2017-08-30 | [21/77] Replace SCALAR_INT_MODE_P checks with is_a <scalar_int_mode> | Richard Sandiford | 3 | -7/+9 | |
This patch replaces checks of "SCALAR_INT_MODE_P (...)" with "is_a <scalar_int_mode> (..., &var)" in cases where it becomes useful to refer to the mode as a scalar_int_mode. It also replaces some checks for the two constituent classes (MODE_INT and MODE_PARTIAL_INT). The patch also introduces is_a <scalar_int_mode> checks for some uses of HWI_COMPUTABLE_MODE_P, which is a subcondition of SCALAR_INT_MODE_P. 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org> Alan Hayward <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> gcc/ * wide-int.h (int_traits<unsigned char>) New class. (int_traits<unsigned short>) Likewise. * cfgexpand.c (expand_debug_expr): Use is_a <scalar_int_mode>. Use GET_MODE_UNIT_PRECISION and remove redundant test for SCALAR_INT_MODE_P. * combine.c (set_nonzero_bits_and_sign_copies): Use is_a <scalar_int_mode>. (find_split_point): Likewise. (combine_simplify_rtx): Likewise. (simplify_logical): Likewise. (expand_compound_operation): Likewise. (expand_field_assignment): Likewise. (make_compound_operation): Likewise. (extended_count): Likewise. (change_zero_ext): Likewise. (simplify_comparison): Likewise. * dwarf2out.c (scompare_loc_descriptor): Likewise. (ucompare_loc_descriptor): Likewise. (minmax_loc_descriptor): Likewise. (mem_loc_descriptor): Likewise. (loc_descriptor): Likewise. * expmed.c (init_expmed_one_mode): Likewise. * lra-constraints.c (lra_constraint_offset): Likewise. * optabs.c (prepare_libcall_arg): Likewise. * postreload.c (move2add_note_store): Likewise. * reload.c (operands_match_p): Likewise. * rtl.h (load_extend_op): Likewise. * rtlhooks.c (gen_lowpart_general): Likewise. * simplify-rtx.c (simplify_truncation): Likewise. (simplify_unary_operation_1): Likewise. (simplify_binary_operation_1): Likewise. (simplify_const_binary_operation): Likewise. (simplify_const_relational_operation): Likewise. (simplify_subreg): Likewise. * stor-layout.c (bitwise_mode_for_mode): Likewise. * var-tracking.c (adjust_mems): Likewise. (prepare_call_arguments): Likewise. gcc/ada/ * gcc-interface/decl.c (check_ok_for_atomic_type): Use is_a <scalar_int_mode>. * gcc-interface/trans.c (Pragma_to_gnu): Likewise. * gcc-interface/utils.c (gnat_type_for_mode): Likewise. gcc/fortran/ * trans-types.c (gfc_type_for_mode): Use is_a <scalar_int_mode>. Co-Authored-By: Alan Hayward <alan.hayward@arm.com> Co-Authored-By: David Sherwood <david.sherwood@arm.com> From-SVN: r251473 | |||||
2017-08-30 | [17/77] Add an int_mode_for_size helper function | Richard Sandiford | 2 | -7/+8 | |
This patch adds a wrapper around mode_for_size for cases in which the mode class is MODE_INT (the commonest case). The return type can then be an opt_scalar_int_mode instead of a machine_mode. 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org> Alan Hayward <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> gcc/ * machmode.h (int_mode_for_size): New function. * builtins.c (set_builtin_user_assembler_name): Use int_mode_for_size instead of mode_for_size. * calls.c (save_fixed_argument_area): Likewise. Make use of BLKmode explicit. * combine.c (expand_field_assignment): Use int_mode_for_size instead of mode_for_size. (make_extraction): Likewise. (simplify_shift_const_1): Likewise. (simplify_comparison): Likewise. * dojump.c (do_jump): Likewise. * dwarf2out.c (mem_loc_descriptor): Likewise. * emit-rtl.c (init_derived_machine_modes): Likewise. * expmed.c (flip_storage_order): Likewise. (convert_extracted_bit_field): Likewise. * expr.c (copy_blkmode_from_reg): Likewise. * graphite-isl-ast-to-gimple.c (max_mode_int_precision): Likewise. * internal-fn.c (expand_mul_overflow): Likewise. * lower-subreg.c (simple_move): Likewise. * optabs-libfuncs.c (init_optabs): Likewise. * simplify-rtx.c (simplify_unary_operation_1): Likewise. * tree.c (vector_type_mode): Likewise. * tree-ssa-strlen.c (handle_builtin_memcmp): Likewise. * tree-vect-data-refs.c (vect_lanes_optab_supported_p): Likewise. * tree-vect-generic.c (expand_vector_parallel): Likewise. * tree-vect-stmts.c (vectorizable_load): Likewise. (vectorizable_store): Likewise. gcc/ada/ * gcc-interface/decl.c (gnat_to_gnu_entity): Use int_mode_for_size instead of mode_for_size. (gnat_to_gnu_subprog_type): Likewise. * gcc-interface/utils.c (make_type_from_size): Likewise. Co-Authored-By: Alan Hayward <alan.hayward@arm.com> Co-Authored-By: David Sherwood <david.sherwood@arm.com> From-SVN: r251469 | |||||
2017-08-30 | [12/77] Use opt_scalar_float_mode when iterating over float modes | Richard Sandiford | 1 | -8/+14 | |
This means that we know when accessing the modes that the size is a compile-time constant, even for SVE. It also enables stricter type safety in later patches. 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org> Alan Hayward <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> gcc/ * machmode.h (mode_iterator::start): Provide overload for opt_modes. (mode_iterator::iterate_p): Likewise. (mode_iterator::get_wider): Likewise. * expr.c (init_expr_target): Use opt_scalar_float_mode. gcc/ada/ * gcc-interface/misc.c (fp_prec_to_size): Use opt_scalar_float_mode. (fp_size_to_prec): Likewise. gcc/c-family/ * c-cppbuiltin.c (c_cpp_builtins): Use opt_scalar_float_mode. gcc/fortran/ * trans-types.c (gfc_init_kinds): Use opt_scalar_float_mode and FOR_EACH_MODE_IN_CLASS. Co-Authored-By: Alan Hayward <alan.hayward@arm.com> Co-Authored-By: David Sherwood <david.sherwood@arm.com> From-SVN: r251464 | |||||
2017-08-30 | [7/77] Add scalar_float_mode | Richard Sandiford | 1 | -2/+4 | |
This patch adds a scalar_float_mode class, which wraps a mode enum that is known to satisfy SCALAR_FLOAT_MODE_P. Things like "SFmode" now give a scalar_float_mode object instead of a machine_mode. This in turn needs a change to the real.h format_helper, so that it can accept both machine_modes and scalar_float_modes. 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org> Alan Hayward <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> gcc/ * coretypes.h (scalar_float_mode): New type. * machmode.h (mode_traits::from_int): Use machine_mode if USE_ENUM_MODES is defined. (is_a): New function. (as_a): Likewise. (dyn_cast): Likewise. (scalar_float_mode): New class. (scalar_float_mode::includes_p): New function. (is_float_mode): Likewise. * gdbhooks.py (MachineModePrinter): New class. (build_pretty_printer): Use it for scalar_float_mode. * real.h (FLOAT_MODE_FORMAT): Use as_a <scalar_float_mode>. (format_helper::format_helper): Turn into a template. * genmodes.c (get_mode_class): New function. (emit_insn_modes_h): Give modes the class returned by get_mode_class, or machine_mode if none. * config/aarch64/aarch64.c (aarch64_simd_valid_immediate): Use as_a <scalar_float_mode>. * dwarf2out.c (mem_loc_descriptor): Likewise. (insert_float): Likewise. (add_const_value_attribute): Likewise. * simplify-rtx.c (simplify_immed_subreg): Likewise. * optabs.c (expand_absneg_bit): Take a scalar_float_mode. (expand_unop): Update accordingly. (expand_abs_nojump): Likewise. (expand_copysign_absneg): Take a scalar_float_mode. (expand_copysign_bit): Likewise. (expand_copysign): Update accordingly. gcc/ada/ * gcc-interface/utils.c (gnat_type_for_mode): Use is_a <scalar_float_mode> instead of SCALAR_FLOAT_MODE_P. gcc/go/ * go-lang.c (go_langhook_type_for_mode): Use is_float_mode. Co-Authored-By: Alan Hayward <alan.hayward@arm.com> Co-Authored-By: David Sherwood <david.sherwood@arm.com> From-SVN: r251458 | |||||
2017-08-30 | [6/77] Make GET_MODE_WIDER return an opt_mode | Richard Sandiford | 1 | -1/+1 | |
GET_MODE_WIDER previously returned VOIDmode if no wider mode existed. That would cause problems with stricter mode classes, since VOIDmode isn't for example a valid scalar integer or floating-point mode. This patch instead makes it return a new opt_mode<T> class, which holds either a T or nothing. 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org> Alan Hayward <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> gcc/ * coretypes.h (opt_mode): New class. * machmode.h (opt_mode): Likewise. (opt_mode::else_void): New function. (opt_mode::require): Likewise. (opt_mode::exists): Likewise. (GET_MODE_WIDER_MODE): Turn into a function and return an opt_mode. (GET_MODE_2XWIDER_MODE): Likewise. (mode_iterator::get_wider): Update accordingly. (mode_iterator::get_2xwider): Likewise. (mode_iterator::get_known_wider): Likewise, turning into a template. * combine.c (make_extraction): Update use of GET_MODE_WIDER_MODE, forcing a wider mode to exist. * config/cr16/cr16.h (LONG_REG_P): Likewise. * rtlanal.c (init_num_sign_bit_copies_in_rep): Likewise. * config/c6x/c6x.c (c6x_rtx_costs): Update use of GET_MODE_2XWIDER_MODE, forcing a wider mode to exist. * lower-subreg.c (init_lower_subreg): Likewise. * optabs-libfuncs.c (init_sync_libfuncs_1): Likewise, but not on the final iteration. * config/i386/i386.c (ix86_expand_set_or_movmem): Check whether a wider mode exists before asking for a move pattern. (get_mode_wider_vector): Update use of GET_MODE_WIDER_MODE, forcing a wider mode to exist. (expand_vselect_vconcat): Update use of GET_MODE_2XWIDER_MODE, returning false if no such mode exists. * config/ia64/ia64.c (expand_vselect_vconcat): Likewise. * config/mips/mips.c (mips_expand_vselect_vconcat): Likewise. * expmed.c (init_expmed_one_mode): Update use of GET_MODE_WIDER_MODE. Avoid checking for a MODE_INT if we already know the mode is not a SCALAR_INT_MODE_P. (extract_high_half): Update use of GET_MODE_WIDER_MODE, forcing a wider mode to exist. (expmed_mult_highpart_optab): Likewise. (expmed_mult_highpart): Likewise. * expr.c (expand_expr_real_2): Update use of GET_MODE_WIDER_MODE, using else_void. * lto-streamer-in.c (lto_input_mode_table): Likewise. * optabs-query.c (find_widening_optab_handler_and_mode): Likewise. * stor-layout.c (bit_field_mode_iterator::next_mode): Likewise. * internal-fn.c (expand_mul_overflow): Update use of GET_MODE_2XWIDER_MODE. * omp-low.c (omp_clause_aligned_alignment): Likewise. * tree-ssa-math-opts.c (convert_mult_to_widen): Update use of GET_MODE_WIDER_MODE. (convert_plusminus_to_widen): Likewise. * tree-switch-conversion.c (array_value_type): Likewise. * var-tracking.c (emit_note_insn_var_location): Likewise. * tree-vrp.c (simplify_float_conversion_using_ranges): Likewise. Return false inside rather than outside the loop if no wider mode exists * optabs.c (expand_binop): Update use of GET_MODE_WIDER_MODE and GET_MODE_2XWIDER_MODE (can_compare_p): Use else_void. * gdbhooks.py (OptMachineModePrinter): New class. (build_pretty_printer): Use it for opt_mode. gcc/ada/ * gcc-interface/decl.c (validate_size): Update use of GET_MODE_WIDER_MODE, forcing a wider mode to exist. Co-Authored-By: Alan Hayward <alan.hayward@arm.com> Co-Authored-By: David Sherwood <david.sherwood@arm.com> From-SVN: r251457 | |||||
2017-08-30 | [4/77] Add FOR_EACH iterators for modes | Richard Sandiford | 1 | -4/+2 | |
The new iterators are: - FOR_EACH_MODE_IN_CLASS: iterate over all the modes in a mode class. - FOR_EACH_MODE_FROM: iterate over all the modes in a class, starting at a given mode. - FOR_EACH_WIDER_MODE: iterate over all the modes in a class, starting at the next widest mode after a given mode. - FOR_EACH_2XWIDER_MODE: same, but considering only modes that are two times wider than the previous mode. - FOR_EACH_MODE_UNTIL: iterate over all the modes in a class until a given mode is reached. - FOR_EACH_MODE: iterate over all the modes in a class between two given modes, inclusive of the first but not the second. These help with the stronger type checking added by later patches, since every new mode will be in the same class as the previous one. 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org> Alan Hayward <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> gcc/ * machmode.h (mode_traits): New structure. (get_narrowest_mode): New function. (mode_iterator::start): Likewise. (mode_iterator::iterate_p): Likewise. (mode_iterator::get_wider): Likewise. (mode_iterator::get_known_wider): Likewise. (mode_iterator::get_2xwider): Likewise. (FOR_EACH_MODE_IN_CLASS): New mode iterator. (FOR_EACH_MODE): Likewise. (FOR_EACH_MODE_FROM): Likewise. (FOR_EACH_MODE_UNTIL): Likewise. (FOR_EACH_WIDER_MODE): Likewise. (FOR_EACH_2XWIDER_MODE): Likewise. * builtins.c (expand_builtin_strlen): Use new mode iterators. * combine.c (simplify_comparison): Likewise * config/i386/i386.c (type_natural_mode): Likewise. * cse.c (cse_insn): Likewise. * dse.c (find_shift_sequence): Likewise. * emit-rtl.c (init_derived_machine_modes): Likewise. (init_emit_once): Likewise. * explow.c (hard_function_value): Likewise. * expmed.c (extract_fixed_bit_field_1): Likewise. (extract_bit_field_1): Likewise. (expand_divmod): Likewise. (emit_store_flag_1): Likewise. * expr.c (init_expr_target): Likewise. (convert_move): Likewise. (alignment_for_piecewise_move): Likewise. (widest_int_mode_for_size): Likewise. (emit_block_move_via_movmem): Likewise. (copy_blkmode_to_reg): Likewise. (set_storage_via_setmem): Likewise. (compress_float_constant): Likewise. * omp-low.c (omp_clause_aligned_alignment): Likewise. * optabs-query.c (get_best_extraction_insn): Likewise. * optabs.c (expand_binop): Likewise. (expand_twoval_unop): Likewise. (expand_twoval_binop): Likewise. (widen_leading): Likewise. (widen_bswap): Likewise. (expand_parity): Likewise. (expand_unop): Likewise. (prepare_cmp_insn): Likewise. (prepare_float_lib_cmp): Likewise. (expand_float): Likewise. (expand_fix): Likewise. (expand_sfix_optab): Likewise. * postreload.c (move2add_use_add2_insn): Likewise. * reg-stack.c (reg_to_stack): Likewise. * reginfo.c (choose_hard_reg_mode): Likewise. * rtlanal.c (init_num_sign_bit_copies_in_rep): Likewise. * stor-layout.c (mode_for_size): Likewise. (smallest_mode_for_size): Likewise. (mode_for_vector): Likewise. (finish_bitfield_representative): Likewise. * tree-ssa-math-opts.c (target_supports_divmod_p): Likewise. * tree-vect-generic.c (type_for_widest_vector_mode): Likewise. * tree-vect-stmts.c (vectorizable_conversion): Likewise. * var-tracking.c (prepare_call_arguments): Likewise. gcc/ada/ * gcc-interface/misc.c (fp_prec_to_size): Use new mode iterators. (fp_size_to_prec): Likewise. gcc/c-family/ * c-common.c (c_common_fixed_point_type_for_size): Use new mode iterators. * c-cppbuiltin.c (c_cpp_builtins): Likewise. Co-Authored-By: Alan Hayward <alan.hayward@arm.com> Co-Authored-By: David Sherwood <david.sherwood@arm.com> From-SVN: r251455 | |||||
2017-08-29 | Fix --help=target (Ada) (PR other/39851) | Martin Liska | 1 | -1/+1 | |
2017-08-29 Martin Liska <mliska@suse.cz> PR other/39851 * gcc-interface/trans.c (Pragma_to_gnu): Set argument to NULL. From-SVN: r251406 |