aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2021-05-04[Ada] Assert_Failure vs Assertion_ErrorArnaud Charlet5-15/+110
gcc/ada/ * libgnat/s-assert.ads (Assert_Failure): Now a renaming of Assertion_Error. * libgnat/a-assert.ads (Assertion_Error): Now a first class citizen. Remove dependency on System.Assertions. * gcc-interface/a-assert.ads, gcc-interface/a-assert.adb: New. * gcc-interface/Make-lang.in (GNAT_ADA_OBJS, GNATBIND_OBJS): Add a-assert.o from gcc-interface.
2021-05-04[Ada] Move match function for pragma Warnings to public specYannick Moy2-5/+5
gcc/ada/ * erroutc.adb (Matches): Move spec... * erroutc.ads (Matches): ...here.
2021-05-04[Ada] Use error marker for messages in GNATprove modeYannick Moy1-0/+4
gcc/ada/ * gnat1drv.adb (Adjust_Global_Switches): Force error marker in GNATprove mode.
2021-05-04[Ada] Clean up ??? marksBob Duff18-415/+357
gcc/ada/ * binde.adb: No need for ??? marks in Binde, because it is superseded by Bindo. * bindo-writers.adb (Write_Unit_Closure): Verified that -Ra works. * exp_ch4.adb, sinfo.ads (Expand_N_Type_Conversion): Rules for conversions passed to gigi are documented in sinfo.ads. (Expand_N_Unchecked_Type_Conversion): Comment is a duplicate of one in sinfo.ads. (Expand_N_In): Robert already added sufficient comments years after the ??? comment was inserted. (Expand_Membership_Minimize_Eliminate_Overflow): I don't see any reason why Stand should export Long_Long_Integer'Base -- it doesn't export any other base types. (Size_In_Storage_Elements): We are doing an allocator, so we don't care about sizes in bits. (Expand_N_Allocator): PolyORB isn't going to be significantly improved, so we're not going to mess with remote access to class-wide types. (Optimize_Return_Stmt): It's not important to optimize return statements in predicate functions -- there are many more-important optimizations we could do. Keep part of the comment without "???", to clarify why the "and then ...". (User_Defined_Primitive_Equality_Op): The optimization doesn't seem important enough. (Expand_N_Unchecked_Type_Conversion): Refactor to use Expand_N_Unchecked_Expression. (Make_Array_Comparison_Op): This seems like a case of "it it's not broken, don't fix it". Too much risk of causing bugs. * debug_a.adb: Remove ??? comments asking why Current_Error_Node is maintained unconditionally, and add a comment explaining why. * errout.adb: These kinds of minor bugs do indeed exist, but we're never going to get around to fixing them "properly", so we need this code for robustness. * gnatchop.adb (Read_File): Document when read can fail. * gnatdll.adb (Parse_Command_Line): Nobody is complaining about these arbitrary limits, so no need to use Table. Increase the limits just in case. It is clear from the names what they are limits on. * gnatlink.adb: Add needed comments. (Delete): An existing comment makes clear it's intentional, and it's been like that since 1996. (Process_Args): Improve comments. (Search_Library_Path): Refactoring to avoid deep nesting. * inline.adb (Build_Body_To_Inline): Probably won't get around to doing that optimization. (Is_Unit_Subprogram): No, this should not be moved to Sem_Aux, because it is too specialized to this context. (Do_Reset): No comment is needed here; it's clear from the comment on Reset_Dispatching_Calls. Do_Reset is an artificial subprogram; if we had proper iterators, it would just be an if statement in the loop. (Rewrite_Function_Call): Probably won't get around to doing that optimization. * layout.adb (Layout_Type): The gigi comment doesn't need to be a ??? comment, and it's been that way since 2000. The limitation to scalars will likely never be investigated, and it's been that way since 2009. * lib.adb (Check_Same_Extended_Unit): This doesn't look like something that needs fixing; it looks like a permanent workaround. * lib-load.adb (Change_Main_Unit_To_Spec): It is good enough in practice. (Load_Unit): Nobody will ever get around to investigating the obscure PMES oddity, and the optimization is not worth the trouble. * live.adb: It's not worth documenting this. It is used only with a debug switch. Nobody who has done significant work on it is still around, so it would require substantial investigation. * mdll.ads: I see no reason for USE. * namet.ads: Routines are obsolete, but they're not going anywhere anytime soon (too much work, and surprisingly delicate because of dependences on global variables). * osint.ads: Minor. * osint.adb: Improve comments. (Full_Lib_File_Name): Use Smart_Find_File.
2021-05-04[Ada] Reuse Is_Formal_Object where convenientPiotr Trojanek2-8/+3
gcc/ada/ * exp_prag.adb, sem_prag.adb: Replace low-level Ekind membership tests with a high-level call to Is_Formal_Object.
2021-05-04[Ada] Address some ??? commentsArnaud Charlet6-28/+24
gcc/ada/ * cstand.adb, sprint.adb, switch-c.adb, xr_tabls.ads, xr_tabls.adb, xref_lib.adb: Address ??? comments.
2021-05-04[Ada] Reject constants of access-to-variable type as function globalsPiotr Trojanek1-8/+22
gcc/ada/ * sem_prag.adb (Analyze_Global_Item): Take subprogram kind into account when accepting or rejecting a constant of an access-to-variable type as a global Output/In_Out; do this check inside an ELSIF branch to avoid unnecessary evaluation of the subsequent condition.
2021-05-04[Ada] Simplify use of a global name buffer for Global/Depends errorsPiotr Trojanek1-12/+5
gcc/ada/ * sem_prag.adb (Role_Error, Usage_Error): Replace calls to Name_Find and Get_Name_String with a call to To_String.
2021-05-04[Ada] Ongoing work for AI12-0212: container aggregatesEd Schonberg1-56/+180
gcc/ada/ * exp_aggr.adb (Build_Siz_Exp): new function, subsidiary of Expand_Container_Aggregate, to create an expression to be used in the dynamic allocation of a container with a single container element association. (Add_Range): Handle static bounds of ranges over enumerations. (Expand_Container_Aggregate): Add declaration for size expression when needed, and use it in container object declaration for container.
2021-05-04[Ada] Missing finalization on generic instantiationArnaud Charlet2-61/+150
gcc/ada/ * exp_ch7.adb (Build_Finalizer_Helper.New_Finalizer_Name): Unnest so that it can be reused. (Build_Finalizer_Helper.Process_Declarations): Call the xxx__finalize_body procedure of a package instantiation in case it contains finalization statements. Code clean ups. (Build_Finalizer_Helper.Create_Finalizer): Export and set an Interface_Name for library level finalizers since these may be imported now. (Build_Finalizer_Helper): Need to process library level package body instantiations which may contain objects requiring finalization. * libgnat/s-finmas.ads: Fix typo.
2021-05-04[Ada] Address some ??? comments in checks.adbArnaud Charlet1-121/+80
gcc/ada/ * checks.adb (Append_Range_Checks, Apply_Selected_Length_Checks, Determine_Range, Insert_Range_Checks, Install_Null_Excluding_Check, Selected_Length_Checks, Selected_Range_Checks): Address ??? comments and code cleanups.
2021-05-04[Ada] Reject formals of mode IN appearing as global outputsPiotr Trojanek1-9/+5
gcc/ada/ * sem_prag.adb (Check_Mode_Restriction_In_Enclosing_Context): Apply the rule even with no explicit Global contract (and remove a dead condition for Refined_Global).
2021-05-04[Ada] Check entries for formals of mode IN appearing as global outputsPiotr Trojanek1-2/+2
gcc/ada/ * sem_prag.adb (Check_Mode_Restriction_In_Enclosing_Context): Extend check to protected entries.
2021-05-04[Ada] Fix reference to SPARK RM rule in commentPiotr Trojanek1-1/+1
gcc/ada/ * sem_prag.adb (Check_Mode_Restriction_In_Enclosing_Context): Fix reference to SPARK RM rule number.
2021-05-04[Ada] Preliminary cleanup in floating-point output implementationEric Botcazou8-436/+196
gcc/ada/ * exp_intr.adb: Remove with/use clauses for Urealp. (Expand_Is_Negative): Delete. (Expand_Intrinsic_Call): Do not call it. * rtsfind.ads (RE_Id): Remove RE_Float_Unsigned. (RE_Unit_Table): Remove entry for RE_Float_Unsigned. * snames.ads-tmpl (Name_Is_Negative): Delete. * libgnat/s-imgrea.ads (Set_Image_Real): Fix mode of S parameter. * libgnat/s-imgrea.adb: Add with/use clauses for System.Img_Util. (LLU): New subtype. (Maxdigs): Use it. (Is_Negative): Reimplement. (Image_Floating_Point): Simplify. (Set_Image_Real): Fix mode of S parameter. Remove the low-level processing on characters. Flip the sign of the Scale variable. Compute the maximum number of digits for the straight notation. Call Set_Decimal_Digits at the end to do the final formatting. * libgnat/s-imguti.ads (Floating_Invalid_Value): New type. (Set_Floating_Invalid_Value): New procedure. * libgnat/s-imguti.adb (Set_Floating_Invalid_Value): Implement it based on existing code from Set_Image_Real. * libgnat/s-unstyp.ads (Float_Unsigned): Delete.
2021-05-04[Ada] Fix inconsistent handling of character set control switchesPiotr Trojanek5-41/+30
gcc/ada/ * csets.adb (Initialize): Refactor into CASE statement; raise exception on unsupported code of character set (it will be gently rejected earlier when scanning command line switches). * switch-b.adb (Scan_Binder_Switches): Refactor into a membership expression; add missing '9' choice; reorder as described by GNAT UG, section 4.3.11. * switch-c.adb (Scan_Front_End_Switches): Refactor into a membership expression and reorder as above. * doc/gnat_ugn/building_executable_programs_with_gnat.rst (gnatic): Mention '5' as an allowed value for "c". * gnat_ugn.texi: Regenerate.
2021-05-04[Ada] Guard against leading and trailing spaces reappearing in errorsPiotr Trojanek1-0/+5
gcc/ada/ * errout.adb (Error_Msg_Internal): Add assertion to prevent style mistakes reappearing in the future.
2021-05-04[Ada] Wrong membership test computation for interface typeJavier Miranda1-1/+1
gcc/ada/ * exp_ch4.adb (Tagged_Membership): Remove wrong condition that is not consistent with the documentation of this subprogram.
2021-05-04[Ada] Fix continuation message for missing ALL in access typeYannick Moy1-1/+1
gcc/ada/ * sem_res.adb (Valid_Conversion): Make message a continuation.
2021-05-04[Ada] Address ??? comments in styleg.adbArnaud Charlet1-4/+4
gcc/ada/ * styleg.adb: Address ??? comments.
2021-05-04OpenMP/Fortran - fix pasto + testcase in depobj [PR100397]Tobias Burnus2-8/+11
gcc/fortran/ChangeLog: PR testsuite/100397 * trans-openmp.c (gfc_trans_omp_depobj): Fix pasto in enum values. libgomp/ChangeLog: PR testsuite/100397 * testsuite/libgomp.fortran/depobj-1.f90 (dep2, dep3): Move var declaration to scope of non-'depend'-guarded assignment to avoid races.
2021-05-04Fix typo in builtins.c.Prathamesh Kulkarni1-1/+1
gcc/ChangeLog: 2021-05-04 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> * builtins.c (try_store_by_multiple_pieces): Fix constfun's prototype.
2021-05-03introduce try store by multiple piecesAlexandre Oliva4-12/+197
The ldist pass turns even very short loops into memset calls. E.g., the TFmode emulation calls end with a loop of up to 3 iterations, to zero out trailing words, and the loop distribution pass turns them into calls of the memset builtin. Though short constant-length clearing memsets are usually dealt with efficiently, for non-constant-length ones, the options are setmemM, or a function calls. RISC-V doesn't have any setmemM pattern, so the loops above end up "optimized" into memset calls, incurring not only the overhead of an explicit call, but also discarding the information the compiler has about the alignment of the destination, and that the length is a multiple of the word alignment. This patch handles variable lengths with multiple conditional power-of-2-constant-sized stores-by-pieces, so as to reduce the overhead of length compares. It also changes the last copy-prop pass into ccp, so that pointer alignment and length's nonzero bits are detected and made available for the expander, even for ldist-introduced SSA_NAMEs. for gcc/ChangeLog * builtins.c (try_store_by_multiple_pieces): New. (expand_builtin_memset_args): Use it. If target_char_cast fails, proceed as for non-constant val. Pass len's ctz to... * expr.c (clear_storage_hints): ... this. Try store by multiple pieces after setmem. (clear_storage): Adjust. * expr.h (clear_storage_hints): Likewise. (try_store_by_multiple_pieces): Declare. * passes.def: Replace the last copy_prop with ccp.
2021-05-04Daily bump.GCC Administrator13-1/+2597
2021-05-03[openmp, simt] Disable SIMT for user-defined reductionTom de Vries2-0/+40
The test-case included in this patch contains this target region: ... for (int i0 = 0 ; i0 < N0 ; i0++ ) counter_N0.i += 1; ... When running with nvptx accelerator, the counter variable is expected to be N0 after the region, but instead is N0 / 32. The problem is that rather than getting the result for all warp lanes, we get it for just one lane. This is caused by the implementation of SIMT being incomplete. It handles regular reductions, but appearantly not user-defined reductions. For now, handle this by disabling SIMT in this case, specifically by setting sctx->max_vf to 1. Tested libgomp on x86_64-linux with nvptx accelerator. gcc/ChangeLog: 2021-05-03 Tom de Vries <tdevries@suse.de> PR target/100321 * omp-low.c (lower_rec_input_clauses): Disable SIMT for user-defined reduction. libgomp/ChangeLog: 2021-05-03 Tom de Vries <tdevries@suse.de> PR target/100321 * testsuite/libgomp.c/target-44.c: New test.
2021-05-03testsuite: Fix dg directives order in arm/aarch64 vml[as]_float_not_fused.cChristophe Lyon2-2/+2
dg-do must come before dg-skip-if, this patch fixes this oversight in these two tests. 2021-05-03 Christophe Lyon <christophe.lyon@linaro.org> gcc/testsuite/ * gcc.target/aarch64/advsimd-intrinsics/vmla_float_not_fused.c: Fix dg directives order. * gcc.target/aarch64/advsimd-intrinsics/vmls_float_not_fused.c: Likewise.
2021-05-03Fix expected output for nds32le and m32rJeff Law1-4/+4
gcc/testsuite * gcc.dg/tree-ssa/ssa-dse-26.c: Fix expected output for nds32le and m32r.
2021-05-03c++: base-clause parsing and implicit 'this' [PR100362]Patrick Palka2-1/+32
My r11-6815 change to defer access checking when processing a base-clause removed a pair of pushclass / popclass calls that seemed to be unnecessary now that we'd also defer access checking while parsing the base-clause. But it turns out these calls make a difference in the below testcase, where we have a local class whose base-clause implicitly uses the 'this' of the enclosing class. Before r11-6815, while parsing the base-clause of the local class, maybe_resolve_dummy would fail to resolve the dummy 'this' object because the current scope would be the local class. Now, since the current scope is the lambda, maybe_resolve_dummy succeeds and returns the 'this' for the enclosing class Qux. Later, during deferred instantiation of the local class, we get confused trying to resolve the access of 'a_' through this non-dummy 'this'. So this patch just reinstates the calls to pushclass / popclass that were removed in r11-6815. gcc/cp/ChangeLog: PR c++/100362 * parser.c (cp_parser_class_head): Reinstate calls to pushclass and popclass when parsing the base-clause that were removed in r11-6815. gcc/testsuite/ChangeLog: PR c++/100362 * g++.dg/cpp1y/lambda-generic-100362.C: New test.
2021-05-03c++: mark_used and ADL with template-id [PR100344]Patrick Palka3-5/+37
My r11-295 patch for PR68942 didn't consider that the callee of an ADL-eligible function call can be a TEMPLATE_ID_EXPR, and we don't want to disable mark_used when substituting into the template arguments of this TEMPLATE_ID_EXPR because the arguments are clearly used regardless of the outcome of ADL. In the first testcase below, this oversight causes us to trip over the assert in build_call_a for the call to find_index<int> because the function no longer had its TREE_USED bit set from mark_used. So this patch restricts the original fix to disable mark_used only when the callee is a FUNCTION_DECL, which seems to be the only case that matters for PR68942. For instance, in the second testcase below we already don't mark_used the deleted function specialization even before r11-295. gcc/cp/ChangeLog: PR c++/68942 PR c++/100344 * pt.c (tsubst_copy_and_build) <case CALL_EXPR>: Set tf_conv only when the callee is a FUNCTION_DECL. gcc/testsuite/ChangeLog: PR c++/68942 PR c++/100344 * g++.dg/template/call8.C: New test. * g++.dg/template/koenig12a.C: New test.
2021-05-03Fix expected output for lm32 and bfinJeff Law1-4/+4
gcc/testsuite * gcc.dg/tree-ssa/ssa-dse-26.c: Fix expected output for bfin and lm32.
2021-05-03c++: Fix ICE with invalid requires-expression [PR100055]Marek Polacek2-1/+15
This fixes a crash on invalid requires-expression: in this test, current_template_parms is null so accessing TEMPLATE_PARMS_CONSTRAINTS is going to fail. So don't crash, but make sure we've complained already. gcc/cp/ChangeLog: PR c++/100055 * decl.c (grokfndecl): Check current_template_parms. gcc/testsuite/ChangeLog: PR c++/100055 * g++.dg/concepts/diagnostic18.C: New test.
2021-05-03c++: Remove GCC12 FIXME for DR1312Marek Polacek2-5/+4
This patch removes a FIXME I left for myself for GCC 12, along with adjusting the relevant test. gcc/cp/ChangeLog: DR 1312 * constexpr.c (cxx_eval_constant_expression): Don't check integer_zerop. gcc/testsuite/ChangeLog: DR 1312 * g++.dg/cpp0x/constexpr-cast2.C: Remove XFAILs.
2021-05-03Fix xstormy16 selectorJeff Law1-4/+4
gcc/testsuite * gcc.dg/tree-ssa/ssa-dse-26.c: Fix xstormy selector.
2021-05-03Fix test results on rxJeff Law1-4/+4
gcc/testsuite * gcc.dg/tree-ssa/ssa-dse-26.c: Update expected output for rx too.
2021-05-03Fix test results on or1kJeff Law1-4/+4
gcc/testsuite * gcc.dg/tree-ssa/ssa-dse-26.c: Update expected output for or1k too.
2021-05-03Fix test results on cr16 and xstormy16Jeff Law1-2/+5
gcc/testsuite * gcc.dg/tree-ssa/ssa-dse-26.c: Update expected output for cr16 and xstormy16 targets.
2021-05-03Improve PHI handling in DSERichard Biener3-10/+37
This improves handling of PHI defs when walking uses in dse_classify_store to track two PHI defs. This happens when there are CFG merges and one PHI feeds into another. If we decide to want more then using a sbitmap for this might be the way to go. 2021-05-03 Richard Biener <rguenther@suse.de> * tree-ssa-dse.c (dse_classify_store): Track two PHI defs. * gcc.dg/tree-ssa/ssa-dse-42.c: New testcase. * gcc.dg/pr81192.c: Disable DSE.
2021-05-03Perform reverse program order walk for GIMPLE DSERichard Biener2-107/+91
The following changes the post-dominator domwalk done by GIMPLE DSE to a reverse program order walk. This enables 2% more stmts do be DSEd during bootstrap and in particular for testcases like the one added where it is important to visit post dominators in a particular order. 2021-05-03 Richard Biener <rguenther@suse.de> * tree-ssa-dse.c: Do not include domwalk.h but cfganal.h. (dse_dom_walker): Remove. (dse_dom_walker::dse_optimize_stmt): Rename... (dse_optimize_stmt): ... to this, pass in live_bytes sbitmap. (dse_dom_walker::before_dom_children): Inline ... (pass_dse::execute): ... here. Perform a reverse program order walk. * gcc.dg/tree-ssa/ssa-dse-41.c: New testcase.
2021-05-03GCC_CET_HOST_FLAGS: Check if host supports multi-byte NOPsH.J. Lu6-32/+210
Check if host supports multi-byte NOPs before enabling CET on host. gcc/ PR bootstrap/99703 * configure: Regenerated. libbacktrace/ PR bootstrap/99703 * configure: Regenerated. libcc1/ PR bootstrap/99703 * configure: Regenerated. libcpp/ PR bootstrap/99703 * configure: Regenerated. libdecnumber/ PR bootstrap/99703 * configure: Regenerated. lto-plugin/ PR bootstrap/99703 * configure: Regenerated.
2021-05-03GCC_CET_HOST_FLAGS: Check if host supports multi-byte NOPsH.J. Lu2-3/+45
Sync with binutils for PR binutils/27397. Check if host supports multi-byte NOPs before enabling CET on host. config/ PR bootstrap/99703 * cet.m4 (GCC_CET_HOST_FLAGS): Check if host supports multi-byte NOPs. libiberty/ PR bootstrap/99703 * configure: Regenerated.
2021-05-03IBM Z: Handle hard registers in s390_md_asm_adjust()Ilya Leoshkevich3-4/+112
gen_fprx2_to_tf() and gen_tf_to_fprx2() cannot handle hard registers, since the subregs they create do not pass validation. Change s390_md_asm_adjust() to manually copy between hard VRs and FPRs instead of using these two functions. gcc/ChangeLog: PR target/100217 * config/s390/s390.c (s390_hard_fp_reg_p): New function. (s390_md_asm_adjust): Handle hard registers. gcc/testsuite/ChangeLog: PR target/100217 * gcc.target/s390/vector/long-double-asm-in-out-hard-fp-reg.c: New test. * gcc.target/s390/vector/long-double-asm-inout-hard-fp-reg.c: New test.
2021-05-03tree-ssa-dse: Fix up go.test/test/fixedbugs/issue16095.go miscompilation ↵Jakub Jelinek1-1/+3
[PR100382] The new DCE code inside of tree DSE removes in -fnon-call-exceptions go code a load from NULL pointer the testcase relies on throwing an exception and so the test hangs. The following patch just repeats a check that e.g. tree-ssa-dce.c uses to prevent this. 2021-05-03 Jakub Jelinek <jakub@redhat.com> PR tree-optimization/100382 * tree-ssa-dse.c: Include tree-eh.h. (dse_dom_walker::before_dom_children): Don't remove stmts if stmt_unremovable_because_of_non_call_eh_p is true.
2021-05-03[Ada] Ada.Strings.Unbounded.Aux.Set_StringArnaud Charlet3-19/+45
gcc/ada/ * libgnat/a-stunau.ads, libgnat/a-stunau.adb, libgnat/a-stunau__shared.adb (Set_String): Remove old version, replace by a new version taking a callback to set the string.
2021-05-03[Ada] Missing Preelaborate_Initialization on Ada.Containers.Ordered_Maps.MapArnaud Charlet1-0/+1
gcc/ada/ * libgnat/a-coorma.ads (Map): Add missing Preelaborate_Initialization.
2021-05-03[Ada] Reuse Is_Universal_Numeric_Type where possiblePiotr Trojanek8-51/+22
gcc/ada/ * exp_ch4.adb (Analyze_Number_Declaration, Expand_N_Op_Expon): Simplify with Is_Universal_Numeric_Type. * sem_attr.adb (Resolve_Attribute): Likewise. * sem_ch3.adb: Likewise. * sem_ch4.adb (Check_Common_Type, Check_Arithmetic_Pair): Likewise. * sem_eval.adb (Eval_Unary_Op, Test_In_Range): Likewise. * sem_res.adb (Resolve_Arithmetic_Op, Resolve_Membership_Op, Resolve_Op_Expon, Resolve_Unary_Op, Set_Mixed_Mode_Operand, Set_Operand_Type): Likewise. * sem_type.adb (Disambiguate, Find_Unique_Type): Likewise. * sem_util.adb (Universal_Interpretation): Likewise.
2021-05-03[Ada] Minor style fixes in Max_Aggregate_SizePiotr Trojanek1-4/+14
gcc/ada/ * exp_aggr.adb (Max_Aggregate_Size): Add header boxes for nested routines; move a local constant after nested subprogram bodies; refill comment.
2021-05-03[Ada] Reuse a wrapper for Resolve with implicit type where possiblePiotr Trojanek2-3/+3
gcc/ada/ * sem_attr.adb (Analyze_Attribute): Reuse Resolve with implicit type when analysing attribute Priority. * sem_ch5.adb (Analyze_Case_Statement): Likewise for a rare case in analysis of case statements. (Analyze_Iterator_Specification): Likewise for non-overloaded domain of iteration.
2021-05-03[Ada] Replace low-level membership test with a high-level Is_Record_TypePiotr Trojanek2-2/+2
gcc/ada/ * einfo.adb (Write_Entity_Info): Simplify an Ekind membership test. * exp_aggr.adb (Is_CCG_Supported_Aggregate): Likewise.
2021-05-03[Ada] Refine type of a counter object from Int to NatPiotr Trojanek2-15/+15
gcc/ada/ * exp_ch7.adb (Build_Finalize_Statements): Refine type of a local counter variable. * exp_dist.adb (Append_Record_Traversal): Refine type of Counter parameter. (Add_Process_Element): Likewise. (Build_From_Any_Call): Refine type of a local counter variable. (Build_From_Any_Function): Likewise. (Build_To_Any_Function): Likewise. (FA_Rec_Add_Process_Element): Likewise. (TA_Append_Record_Traversal): Likewise. (TA_Rec_Add_Process_Element): Likewise.
2021-05-03[Ada] Simplify implicit loading for GNATprove with Discard_NodePiotr Trojanek1-3/+1
gcc/ada/ * rtsfind.adb (SPARK_Implicit_Load): Simplify with Discard_Node.