- 27 Apr, 2017 36 commits
-
-
2017-04-27 Yannick Moy <moy@adacore.com> * gnat1drv.adb (Adjust_Global_Switches): Issue a warning in GNATprove mode if the runtime library does not support IEEE-754 floats. 2017-04-27 Ed Schonberg <schonberg@adacore.com> * sem_prag.adb (Inherit_Class_Wide_Pre): If the parent operation is itself inherited it does not carry any contract information, so examine its parent operation which is its Alias. From-SVN: r247332
Arnaud Charlet committed -
2017-04-27 Ed Schonberg <schonberg@adacore.com> * sem_attr.adb (Analyze_Attribute, case 'Image): In Ada2012 the prefix can be an object reference in which case Obj'Image (X) can only be interpreted as an indexing of the parameterless version of the attribute. * par-ch4.adb (P_Name): An attribute reference can be the prefix of an indexing or a slice operation if the attribute does not require parameters. In Ada2012 'Image also belongs in this category, and A'Image (lo .. hi) is legal and must be parsed as a slice. 2017-04-27 Yannick Moy <moy@adacore.com> * exp_ch4.adb: Minor reformatting. * gnat1drv.adb (Adjust_Global_Switches): When in GNATprove mode, disable the CodePeer and C generation modes. Similar to the opposite actions done in CodePeer mode. From-SVN: r247331
Arnaud Charlet committed -
2017-04-27 Yannick Moy <moy@adacore.com> * sem_res.adb: Remove duplicate code. * sem_attr.adb: Delete duplicate code. 2017-04-27 Bob Duff <duff@adacore.com> * g-dyntab.adb: Reduce the amount of copying in Release. No need to copy items past Last. 2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> * checks.adb Add with and use clauses for Sem_Disp. (Install_Primitive_Elaboration_Check): New routine. * checks.ads (Install_Primitive_Elaboration_Check): New routine. * exp_attr.adb (Expand_N_Attribute_Reference): Clean up the processing of 'Elaborated. * exp_ch6.adb (Expand_N_Subprogram_Body): Install a primitive elaboration check. From-SVN: r247330
Arnaud Charlet committed -
2017-04-27 Bob Duff <duff@adacore.com> * g-dyntab.ads, g-dyntab.adb, g-table.ads: Remove incorrect assertion. If the table grows and then shrinks back to empty, we won't necessarily point back to the empty array. Code cleanups. * sinput.ads: Add 'Base to Size clause to match the declared component subtypes. From-SVN: r247329
Bob Duff committed -
a-cforma.adb, [...] (=): Generic parameter removed to allow the use of regular equality over elements in... 2017-04-27 Claire Dross <dross@adacore.com> * a-cforma.adb, a-cforma.ads (=): Generic parameter removed to allow the use of regular equality over elements in contracts. (Formal_Model): Ghost package containing model functions that are used in subprogram contracts. (Current_To_Last): Removed, model functions should be used instead. (First_To_Previous): Removed, model functions should be used instead. (Strict_Equal): Removed, model functions should be used instead. (No_Overlap): Removed, model functions should be used instead. * a-cofuma.adb, a-cofuma.ads (Enable_Handling_Of_Equivalence) Boolean generic parameter to disable contracts for equivalence between keys. (Witness): Create a witness of a key that is used for handling of equivalence between keys. (Has_Witness): Check whether a witness is contained in a map. (W_Get): Get the element associated to a witness. (Lift_Equivalent_Keys): Removed, equivalence between keys is handled directly. * a-cofuse.adb, a-cofuse.ads (Enable_Handling_Of_Equivalence) Boolean generic parameter to disable contracts for equivalence between keys. * a-cfhama.adb, a-cfhama.ads (Formal_Model.P) Disable handling of equivalence on functional maps. * a-cfdlli.adb, a-cfdlli.ads (Formal_Model.P) Disable handling of equivalence on functional maps. From-SVN: r247328
Claire Dross committed -
re PR middle-end/80533 (Alias analysis of zero length array does not recognize accesses beyond end of array) 2017-04-27 Richard Biener <rguenther@suse.de> PR middle-end/80533 * emit-rtl.c (set_mem_attributes_minus_bitpos): When stripping ARRAY_REFs from MEM_EXPR make sure we're not keeping a reference to a trailing array. From-SVN: r247327
Richard Biener committed -
2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch9.adb (Expand_Entry_Barrier): Code cleanup. Do not perform the optimization which removes the declarations of the discriminant and component renamings when validity checks on operands and attributes are in effect. 2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> * exp_spark.adb, exp_util.adb, sem_ch7.adb, g-dyntab.adb, g-dyntab.ads, freeze.adb, a-cfinve.ads, a-cofuma.adb, a-cofuma.ads, a-cfhama.adb, a-cfhama.ads, a-cofove.ads: Minor reformatting. 2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> * g-debpoo.adb (Dump_Gnatmem): Protect against a possible null pointer dereference. * g-spipat.adb (Dump): Code clean up. Protect against a possible null pointer dereference. From-SVN: r247326
Hristian Kirtchev committed -
2017-04-27 Bob Duff <duff@adacore.com> * g-dyntab.ads, g-dyntab.adb: Default for Table_Low_Bound. Rename Empty --> Empty_Table_Ptr, and don't duplicate code for it. Free renames Init, since they do the same thing. * g-table.ads: Default for Table_Low_Bound. * table.ads: Default for Table_Low_Bound, Table_Initial, and Table_Increment. From-SVN: r247324
Bob Duff committed -
2017-04-27 Bob Duff <duff@adacore.com> * g-dyntab.ads, g-dyntab.adb: Add assertions to subprograms that can reallocate. * atree.adb, elists.adb, fname-uf.adb, ghost.adb, inline.adb, * lib.adb, namet.adb, nlists.adb, sem.adb, sinput.adb, stringt.adb: Reorder code so that above assertions do not fail. * table.ads: Remove obsolete comment on Locked. 2017-04-27 Claire Dross <dross@adacore.com> * a-cfdlli.ads: Code cleanup. 2017-04-27 Yannick Moy <moy@adacore.com> * exp_spark.adb (Expand_SPARK_Freeze_Type): Build a DIC procedure when needed for proof. (Expand_SPARK): Call the new procedure. * exp_util.ads Fix typo. 2017-04-27 Gary Dismukes <dismukes@adacore.com> * a-cofuma.ads, a-cfhama.ads: Minor reformatting, grammar, and typo fixes. From-SVN: r247323
Arnaud Charlet committed -
re PR middle-end/80539 (gcc ICE at -O2 and above on valid code on x86_64-linux-gnu in "chrec_fold_plus_poly_poly") 2017-04-27 Richard Biener <rguenther@suse.de> PR middle-end/80539 * tree-chrec.c (chrec_fold_plus_poly_poly): Deal with not being in loop-closed SSA form conservatively. (chrec_fold_multiply_poly_poly): Likewise. * gcc.dg/torture/pr80539.c: New testcase. From-SVN: r247322
Richard Biener committed -
2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> * sem_elab.adb Add new type Visited_Element and update the contents of table Elab_Visited. Various code clean up. (Check_Elab_Call): Determine whether a prior call to the same subprogram was already examined within the same context. (Check_Internal_Call_Continue): Register the subprogram being called as examined within a particular context. Do not suppress elaboration warnings. 2017-04-27 Gary Dismukes <dismukes@adacore.com> * xoscons.adb, osint.ads: Minor reformatting. 2017-04-27 Bob Duff <duff@adacore.com> * g-dyntab.ads, g-dyntab.adb: Misc cleanup. Rename Table_Count_Type --> Table_Last_Type, because the name was confusing (a "count" usually starts at zero). Add functionality supported or needed by other tables packages (Move, Release_Threshold). * g-table.ads, g-table.adb: This is now just a thin wrapper around g-dyntab.ads/g-dyntab.adb. Add functionality supported or needed by other tables packages (Save, Restore). * table.ads, table.adb: This is now just a thin wrapper around * g-table.ads/g-table.adb. * namet.h, scos.h, uintp.h: These files are reaching into the private data of some instances of g-table, whose names changed, so the above change requires some adjustment here. It now uses public interfaces. 2017-04-27 Bob Duff <duff@adacore.com> * namet.adb, namet.ads: Minor: remove unused procedures. 2017-04-27 Eric Botcazou <ebotcazou@adacore.com> * checks.adb (Apply_Scalar_Range_Check): Initialize Ok variable too. (Minimize_Eliminate_Overflows): Initialize Llo and Lhi. Add pragma Warnings on Rtype variable in nested block. * * exp_ch3.adb (Build_Init_Statements): Initialize VAR_LOC. * exp_ch4.adb (Expand_Concatenate): Initialize 3 variables. (Size_In_Storage_Elements): Add pragma Warnings on Res variable. * exp_ch7.adb (Build_Adjust_Statements): Initialize Bod_Stmts. (Process_Component_List_For_Finalize): Initialize Counter_Id. (Build_Finalize_Statements): Initialize Bod_Stmts. * exp_disp.adb (Expand_Dispatching_Call): Initialize SCIL_Node. 2017-04-27 Claire Dross <dross@adacore.com> * a-cfhama.adb, a-cfhamai.ads (=): Generic parameter removed to allow the use of regular equality over elements in contracts. (Formal_Model): Ghost package containing model functions that are used in subprogram contracts. (Current_To_Last): Removed, model functions should be used instead. (First_To_Previous): Removed, model functions should be used instead. (Strict_Equal): Removed, model functions should be used instead. (No_Overlap): Removed, model functions should be used instead. (Equivalent_Keys): Functions over cursors are removed. They were awkward with explicit container parameters. * a-cofuma.adb, a-cofuma.ads (Lift_Equivalent_Keys): New lemma (proof only) procedure to help GNATprove when equivalence over keys is not equality. From-SVN: r247320
Arnaud Charlet committed -
2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> * exp_util.adb, a-cfdlli.adb, a-cfdlli.ads, exp_ch9.adb, g-dyntab.adb, sem_dim.adb, a-cfinve.adb, a-cfinve.ads, a-cofove.adb, a-cofove.ads: Minor reformatting and code cleanups. From-SVN: r247319
Hristian Kirtchev committed -
2017-04-27 Ed Schonberg <schonberg@adacore.com> * freeze.adb (Build_Inherited_Condition_Pragmas): New procedure, subsidiary of Check_Inherited_Conditions, to build pragmas for an operation whose ancestor has classwide pre/postconditions. This is used both to check the legality of the inheritance in Ada and in SPARK, and to determine whether a wrapper is needed for an inherited operation. * exp_util.adb (Build_Class_Wide_Expression, Replace_Entity): Improve placement of error message for inherited classwide conditions that become illegal on type derivation. 2017-04-27 Yannick Moy <moy@adacore.com> * sem_ch12.adb (Analyze_Generic_Package_Declaration): Set SPARK_Mode from context on generic package. * sem_ch7.adb (Analyze_Package_Declaration): Simplify code to remove useless test. 2017-04-27 Claire Dross <dross@adacore.com> * a-cofuve.ads (Range_Shifted): Rewrite precondition to avoid overflows in computations. * a-cofove.ads (Capacity_Range): Rewrite last bound to avoid overflows in computations. (Insert): Rewrite precondition to avoid overflows in computations. * a-cfinve.ads (Capacity_Range): Rewrite last bound to avoid overflows in computations. (Insert): Rewrite precondition to avoid overflows in computations. From-SVN: r247318
Arnaud Charlet committed -
2017-04-27 Steve Baird <baird@adacore.com> * exp_ch9.adb (Expand_N_Asynchronous_Select): Initialize the Cancel flag when it is declared in order to avoid confusing CodePeer about the possibility of an uninitialized variable read. 2017-04-27 Ed Schonberg <schonberg@adacore.com> * sem_dim.adb (Analyze_Dimension_Object_Declaration): There is no dimensionality error if the subtype of the expression is identical to the nominal subtype in the declaration, even though the expression itself may have been constant-folded and lack a dimension vector. * sem_dim.ads: Add comments on setting of dimension vectors and its interaction with node rewritings and side-effect removal. 2017-04-27 Bob Duff <duff@adacore.com> * debug.adb: Minor comment correction. * sem_dim.ads: Minor reformatting and typo fixes. 2017-04-27 Bob Duff <duff@adacore.com> * g-table.adb, g-table.adsa, scos.h: From the C side, access First and Last of the tables via function calls, rather than relying on layout of data structures. 2017-04-27 Ed Schonberg <schonberg@adacore.com> * exp_util.adb: No wrapper in GNATprove mode. 2017-04-27 Yannick Moy <moy@adacore.com> * sem_res.adb (Resolve_Comparison_Op): Always evaluate comparisons between values of universal types. 2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> * sem_elab.adb (Check_Internal_Call_Continue): Do not generate an elaboration counter nor a check when in GNATprove mode. * sem_util.adb (Build_Elaboration_Entity): Do not create an elaboration counter when in GNATprove mode. From-SVN: r247317
Arnaud Charlet committed -
2017-04-27 Ed Schonberg <schonberg@adacore.com> * freeze.adb: copy-paste typo. 2017-04-27 Yannick Moy <moy@adacore.com> * sem_prag.adb (Analyze_Pre_Post_In_Decl_Part): Use correct test to detect call in GNATprove mode instead of compilation. 2017-04-27 Claire Dross <dross@adacore.com> * a-cfdlli.adb, a-cfdlli.ads (Formal_Model.M_Elements_In_Union): New property function expressing that the element of a sequence are contained in the union of two sequences. (Formal_Model.M_Elements_Included): New property function expressing that the element of a sequence are another sequence. (Generic_Sorting): Use new property functions to state that elements are preserved by Sort and Merge. * a-cofove.adb, a-cofove.ads (=): Generic parameter removed to allow the use of regular equality over elements in contracts. (Formal_Model): Ghost package containing model functions that are used in subprogram contracts. (Capacity): On unbounded containers, return the maximal capacity. (Current_To_Last): Removed, model functions should be used instead. (First_To_Previous): Removed, model functions should be used instead. (Append): Default parameter value replaced by new wrapper to allow more precise contracts. (Insert): Subprogram restored, it seems it was useful to users even if it is inefficient. (Delete): Subprogram restored, it seems it was useful to users even if it is inefficient. (Prepend): Subprogram restored, it seems it was useful to users even if it is inefficient. (Delete_First): Subprogram restored, it seems it was useful to users even if it is inefficient. (Delete_Last): Default parameter value replaced by new wrapper to allow more precise contracts. (Generic_Sorting.Merge): Subprogram restored. * a-cfinve.adb, a-cfinve.ads (=): Generic parameter removed to allow the use of regular equality over elements in contracts. (Formal_Model): Ghost package containing model functions that are used in subprogram contracts. (Capacity): On unbounded containers, return the maximal capacity. (Current_To_Last): Removed, model functions should be used instead. (First_To_Previous): Removed, model functions should be used instead. (Append): Default parameter value replaced by new wrapper to allow more precise contracts. (Insert): Subprogram restored, it seems it was useful to users even if it is inefficient. (Delete): Subprogram restored, it seems it was useful to users even if it is inefficient. (Prepend): Subprogram restored, it seems it was useful to users even if it is inefficient. (Delete_First): Subprogram restored, it seems it was useful to users even if it is inefficient. (Delete_Last): Default parameter value replaced by new wrapper to allow more precise contracts. (Generic_Sorting.Merge): Subprogram restored. (Vector): Do not reuse formal vectors, as it is no longer possible to supply them with an equality function over elements. 2017-04-27 Bob Duff <duff@adacore.com> * g-dyntab.adb (Release): When allocating the new table, use the correct slice of the old table to initialize it. From-SVN: r247316
Arnaud Charlet committed -
* einfo.ads: Minor fixes in comments. 2017-04-27 Ed Schonberg <schonberg@adacore.com> * sem_prag.adb: disable clones in SPARK_Mode. 2017-04-27 Gary Dismukes <dismukes@adacore.com> * sem_util.ads, contracts.adb: Minor reformatting. From-SVN: r247315
Arnaud Charlet committed -
From-SVN: r247314
Arnaud Charlet committed -
sem_util.adb, [...] (Build_Class_Wide_Clone_Body): Build body of subprogram that has a class-wide condition that contains calls to... 2017-04-27 Ed Schonberg <schonberg@adacore.com> * sem_util.adb, sem_util.ads (Build_Class_Wide_Clone_Body): Build body of subprogram that has a class-wide condition that contains calls to other primitives. (Build_Class_Wide_Clone_Call); Build a call to the common class-wide clone of a subprogram with classwide conditions. The body of the subprogram becomes a wrapper for a call to the clone. The inherited operation becomes a similar wrapper to which modified conditions apply, and the call to the clone includes the proper conversion in a call the parent operation. (Build_Class_Wide_Clone_Decl (Spec_Id : Entity_Id): For a subprogram that has a classwide condition that contains calls to other primitives, build an internal subprogram that is invoked through a type-specific wrapper for all inherited subprograms that may have a modified condition. * sem_prag.adb (Check_References): If subprogram has a classwide condition, create entity for corresponding clone, to be invoked through wrapper subprograns. (Analyze_Pre_Post_Condition_In_Decl_Part): Do not emit error message about placement if pragma isi internally generated. * sem_ch6.adb (Analyze_Subprogram_Body_Helper): If subprogram has a classwide clone, build body of clone as copy of original body, and rewrite original body as a wrapper as a wrapper for a call to the clone, so that it incorporates the original pre/postconditions of the subprogram. * freeze.adb (Check_Inherited_Conditions): For an inherited subprogram that inherits a classwide condition, build spec and body of corresponding wrapper so that call to inherited operation gets the modified conditions. * contracts.adb (Analyze_Contracts): If analysis of classwide condition has created a clone for a primitive operation, analyze declaration of clone. From-SVN: r247313
Ed Schonberg committed -
2017-04-27 Steve Baird <baird@adacore.com> * exp_util.adb (Build_Allocate_Deallocate_Proc): Add "Suppress => All_Checks" to avoid generating unnecessary checks. 2017-04-27 Yannick Moy <moy@adacore.com> * debug.adb: Reserve debug flag 'm' for no inlining in GNATprove. * sem_ch6.adb (Anayze_Subprogram_Body_Helper): Skip creation of inlining body in GNATprove mode when switch -gnatdm used. * sem_res.adb (Resolve_Call): Skip detection of lack of inlining in GNATprove mode when switch -gnatdm used. 2017-04-27 Arnaud Charlet <charlet@adacore.com> * sem_ch13.adb (Analyze_Attribute_Definition_Clause [Attribute_Address]): Call Set_Address_Taken when ignoring rep clauses, so that we keep an indication of the address clause before removing it from the tree. From-SVN: r247312
Arnaud Charlet committed -
2017-04-27 Yannick Moy <moy@adacore.com> * exp_util.ads, exp_util.adb (Evaluate_Name): Force evaluation of expression being qualified, when not an object name, or else evaluate the underlying name. From-SVN: r247311
Yannick Moy committed -
2017-04-27 Jerome Lambourg <lambourg@adacore.com> * bindusg.adb, bindgen.adb, gnatbind.adb, opt.ads: add -nognarl switch. 2017-04-27 Justin Squirek <squirek@adacore.com> * exp_ch7.adb (Build_Finalize_Statements): Move Num_Comps to Process_Component_List_For_Finalization as a local variable. (Process_Component_For_Finalize): Add an extra parameter to avoid global references. (Process_Component_List_For_Finalization): Correct calls to Process_Component_For_Finalize to take Num_Comps as a parameter. From-SVN: r247310
Arnaud Charlet committed -
2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch8.adb (Find_Direct_Name): Account for the case where a use-visible entity is defined within a nested scope of an instance when giving priority to entities which were visible in the original generic. * sem_util.ads, sem_util.adb (Nearest_Enclosing_Instance): New routine. 2017-04-27 Tristan Gingold <gingold@adacore.com> * raise-gcc.c: Don't use unwind.h while compiling for the frontend, but mimic host behavior. 2017-04-27 Javier Miranda <miranda@adacore.com> * sem_ch3.adb (Build_Discriminated_Subtype): Propagate Has_Pragma_Unreferenced_Objects to the built subtype. 2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> * sem_prag.adb (Analyze_Global_Item): Do not consider discriminants because they are not "entire objects". Remove the discriminant-related checks because they are obsolete. (Analyze_Input_Output): Do not consider discriminants because they are not "entire objects". 2017-04-27 Ed Schonberg <schonberg@adacore.com> * sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): Do not perform check if the current scope does not come from source, as is the case for a rewritten task body, because check has been performed already, and may not be doable because of changed visibility. From-SVN: r247309
Arnaud Charlet committed -
2017-04-26 Tamar Christina <tamar.christina@arm.com> PR middle-end/79665 * expr.c (expand_expr_real_2): Move TRUNC_MOD_EXPR, FLOOR_MOD_EXPR, CEIL_MOD_EXPR, ROUND_MOD_EXPR cases. From-SVN: r247307
Tamar Christina committed -
2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> * a-cofuse.adb, a-cfdlli.adb, a-cofuse.ads, a-cfdlli.ads, a-cofuve.adb, a-cofuve.ads, a-cofuma.adb, a-cofuma.ads, sem_eval.adb, a-cofuba.adb: Minor reformatting. 2017-04-27 Ed Schonberg <schonberg@adacore.com> * sem_ch4.adb (Analyze_Call): If the return type of a function is incomplete in an context in which the full view is available, replace the type of the call by the full view, to prevent spurious type errors. * exp_disp.adb (Check_Premature_Freezing): Disable check on an abstract subprogram so that compiler does not reject a parameter of a primitive operation of a tagged type being frozen, when the untagged type of that parameter cannot be frozen. 2017-04-27 Bob Duff <duff@adacore.com> * sem_attr.adb (Compute_Type_Key): Don't walk representation items for irrelevant types, which could be in a different source file. 2017-04-27 Steve Baird <baird@adacore.com> * exp_attr.adb (Expand_N_Attribute_Reference): Don't expand Image, Wide_Image, Wide_Wide_Image attributes for CodePeer. From-SVN: r247305
Arnaud Charlet committed -
2017-04-27 Yannick Moy <moy@adacore.com> * exp_unst.ads: Fix typos in comments. 2017-04-27 Ed Schonberg <schonberg@adacore.com> * sem_eval.adb (Choice_Matches): Handle properly a real literal whose type has a defined static predicate. 2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch4.adb (Insert_Dereference_Action): Do not adjust the address of a controlled object when the associated access type is subject to pragma No_Heap_Finalization. Code reformatting. From-SVN: r247304
Arnaud Charlet committed -
2017-04-27 Pierre-Marie de Rodat <derodat@adacore.com> * gcc-interface/utils.c (gnat_type_for_size): Set TYPE_ARTIFICIAL on created types. From-SVN: r247303
Pierre-Marie de Rodat committed -
2017-04-27 Claire Dross <dross@adacore.com> * a-cfdlli.adb, a-cfdlli.ads (Formal_Model): Adapt to modifications in functional containers. * a-cofuba.ads, a-cofuma.ads, a-cofuse.ads, a-cofuve.ads Reformat to improve readablity. Subprograms are separated between basic operations, constructors and properties. Universally quantified formulas in contracts are factorized in independant functions with a name and a comment. Names of parameters are improved. 2017-04-27 Gary Dismukes <dismukes@adacore.com> * exp_spark.adb, sem_elab.adb: Minor reformatting and typo fix. 2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> * sem_res.adb (Resolve_Type_Conversion): Do not install a predicate check here since this is already done during the expansion phase. Verify whether the operand satisfies the static predicate (if any) of the target type. * sem_ch3.adb (Analyze_Object_Declaration): Do not install a predicate check if the object is initialized by means of a type conversion because the conversion is subjected to the same check. 2017-04-27 Tristan Gingold <gingold@adacore.com> * raise.c (__gnat_builtin_longjmp): Remove. (__gnat_bracktrace): Add a dummy definition for the compiler (__gnat_eh_personality, __gnat_rcheck_04, __gnat_rcheck_10) (__gnat_rcheck_19, __gnat_rcheck_20, __gnat_rcheck_21) (__gnat_rcheck_30, __gnat_rcheck_31, __gnat_rcheck_32): Likewise. * a-exexpr.adb: Renamed from a-exexpr-gcc.adb * a-except.ads, a-except.adb: Renamed from a-except-2005.ads and a-except-2005.adb. * raise-gcc.c: Allow build in compiler, compiled as a C++ file. (__gnat_Unwind_ForcedUnwind): Adjust prototype. (db): Constify msg_format. (get_call_site_action_for): Don't use void arithmetic. * system.ads (Frontend_Exceptions): Set to False. (ZCX_By_Default): Set to True. (GCC_ZC_Support): Set to True. * gcc-interface/Makefile.in: No more variants for a-exexpr.adb and a-except.ad[sb]. * gcc-interface/Make-lang.in: Add support for backend zcx exceptions in gnat1 and gnatbind. * gnat1, gnatbind: link with raise-gcc.o, a-exctra.o, s-addima.o, s-excmac.o, s-imgint.o, s-traceb.o, s-trasym.o, s-wchstw.o * s-excmac.ads, s-excmac.adb: Copy of variants. * a-except.o: Adjust preequisites. Add handling of s-excmac-arm.adb and s-excmac-gcc.adb. From-SVN: r247301
Arnaud Charlet committed -
PR demangler/80513 * cp-demangle.c (d_number): Check for overflow. * cplus-dem.c (consume_count): Fix overflow check. (gnu_special): Check for underscore after thunk delta. * testsuite/demangle-expected: Add tests for overflows and invalid characters in thunks. From-SVN: r247300
Jonathan Wakely committed -
2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> * exp_prag.adb, a-cofuse.adb, a-cofuse.ads, einfo.adb, sem_prag.adb, cstand.adb, par-prag.adb, a-cofuve.adb, a-cofuve.ads, a-cofuma.adb, a-cofuma.ads, a-cofuba.adb, a-cofuba.ads: Minor reformatting. 2017-04-27 Tristan Gingold <gingold@adacore.com> * s-excmac-gcc.ads, s-excmac-gcc.adb, s-excmac-arm.ads, s-excmac-arm.adb (New_Occurrence): Rewrite it in Ada95. 2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch7.adb (Establish_Transient_Scope): Rewrite the loop which detects potential enclosing transient scopes. The loop now terminates much earlier as transient scopes are bounded by packages and subprograms. 2017-04-27 Claire Dross <dross@adacore.com> * a-cfdlli.adb, a-cfdlli.ads (=): Generic parameter removed to allow the use of regular equality over elements in contracts. (Cursor): Type is now public so that it can be used in model functions. (Formal_Model): Ghost package containing model functions that are used in subprogram contracts. (Current_To_Last): Removed, model functions should be used instead. (First_To_Previous): Removed, model functions should be used instead. (Strict_Equal): Removed, model functions should be used instead. (Append): Default parameter value replaced by new wrapper to allow more precise contracts. (Insert): Default parameter value replaced by new wrapper to allow more precise contracts. (Delete): Default parameter value replaced by new wrapper to allow more precise contracts. (Prepend): Default parameter value replaced by new wrapper to allow more precise contracts. (Delete_First): Default parameter value replaced by new wrapper to allow more precise contracts. (Delete_Last): Default parameter value replaced by new wrapper to allow more precise contracts. 2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> * exp_spark.adb (Expand_SPARK): Perform specialized expansion for object declarations. (Expand_SPARK_N_Object_Declaration): New routine. * sem_elab.adb (Check_A_Call): Include calls to the Default_Initial_Condition procedure of a type under the SPARK elaboration checks umbrella. From-SVN: r247299
Arnaud Charlet committed -
2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> * sem.adb (Analyze): Diagnose an illegal iterated component association. * sem_util.ads, sem_util.adb (Diagnose_Iterated_Component_Association): New routine. 2017-04-27 Bob Duff <duff@adacore.com> * adaint.c (__gnat_get_current_dir): Return 0 in length if getcwd fails. * a-direct.adb, g-dirope.adb, osint.adb, s-os_lib.adb: Raise exception if getcwd failed. 2017-04-27 Yannick Moy <moy@adacore.com> * exp_dbug.adb, exp_dbug.ads (Get_External_Name): Prefix ghost entities with special prefix. 2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> * debug.adb Change the documentation of switch -gnatd.s. * exp_ch7.adb (Make_Transient_Block): Transient blocks do not need to manage the secondary stack when an enclosing scope already performs this functionality (aka relaxed management). Switch -gnatd.s may be used to force strict management in which case the block will manage the secondary stack unconditionally. Add a guard to stop the traversal when encountering a package or a subprogram scope. 2017-04-27 Ed Schonberg <schonberg@adacore.com> * sem_res.adb (Resolve_Call): Refine further the handling of limited views of return types in function calls. If the function that returns a limited view appears in the current unit, we do not replace its type by the non-limited view because this transformation is performed int the back-end. However, the type of the call itself must be the non-limited view, to prevent spurious resolution errors. 2017-04-27 Ed Schonberg <schonberg@adacore.com> * einfo,ads, einfo.adb (Class_Wide_Preconds, Class_Wide_Postconds): Removed, proposed implementation using generics for class-wide preconditions proved impractical. (Class_Wide_Clone): New attribute of subprogram. Designates subprogram created for primitive operations with class-wide pre/postconditions that contain calls to other primitives. The clone holds the body of the original primitive, but the pre/postonditions do not apply to it. The original body is rewritten as a wrapper for a call to the clone. (Is_Class_Wide_Clone): New flag to identify a Class_Wide_Clone. If the flag is set, no code for the corresponding pre/postconditions is inserted into its body. 2017-04-27 Bob Duff <duff@adacore.com> * exp_prag.adb, par-prag.adb, sem_ch13.adb: Ignore Scalar_Storage_Order if -gnatI is given. * sem_prag.adb (Analyze_Pragma): Ignore Default_Scalar_Storage_Order if -gnatI is given. From-SVN: r247298
Arnaud Charlet committed -
a-cofuba.ads (Add): Take as an additional input parameter the position where the element should be... 2017-04-27 Claire Dross <dross@adacore.com> * a-cofuba.ads (Add): Take as an additional input parameter the position where the element should be inserted. (Remove): New function that removes an element from the container. * a-cofuma.ads (Add): Adapt to the new API of Base.Add. * a-cofuse.ads (Add): Adapt to the new API of Base.Add. (Remove): New function that removes an element from a set. * a-cofuve.ads (Add): Adapt to the new API of Base.Add. (Remove): New function that removes an element from a sequence. (Insert): New function that adds anywhere in a sequence. From-SVN: r247297
Claire Dross committed -
2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> * checks.adb (Generate_Range_Check): Revert previous change. 2017-04-27 Gary Dismukes <dismukes@adacore.com> * sem_util.adb: Minor reformatting/rewording. 2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> * lib-xref.adb (Generate_Reference): The use of attribute 'Result is not considered a violation of pragma Unreferenced. 2017-04-27 Justin Squirek <squirek@adacore.com> * cstand.adb (Create_Standard): Correctly set Directly_Designated_Type for Any_Access. * sem_type.adb (Covers): Minor grammar fixes. 2017-04-27 Bob Duff <duff@adacore.com> * sem_attr.adb: Minor cleanup. 2017-04-27 Claire Dross <dross@adacore.com> * a-cofuba.ads, a-cofuba.adb (Ada.Containers.Functional_Base): New private child of Ada.Containers used to implement all functional containers. * a-cofuma.ads, a-cofuma.adb (Ada.Containers.Functional_Maps): New child of Ada.Containers. It provides functional indefinite unbounded maps which can be used as high level models for specification of data structures. * a-cofuse.ads, a-cofuse.adb (Ada.Containers.Functional_Sets): New child of Ada.Containers. It provides functional indefinite unbounded sets which can be used as high level models for specification of data structures. * a-cofuve.ads, a-cofuve.adb (Ada.Containers.Functional_Vectors): New child of Ada.Containers. It provides functional indefinite unbounded vectors which can be used as high level models for specification of data structures. * Makefile.rtl: Add new packages. * impunit.adb: Add new packages. From-SVN: r247296
Arnaud Charlet committed -
2017-04-27 Gary Dismukes <dismukes@adacore.com> * sem_ch4.adb: Minor reformatting. 2017-04-27 Ed Schonberg <schonberg@adacore.com> * sem_ch12.adb (Analyze_Associations): minor reformatting. (Check_Fixed_Point_Actual): Do not emit a warning on a fixed point type actual that has user-defined arithmetic primitives, when there is a previous actual for a formal package that defines a fixed-point type with the parent user-defined operator. 2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> * checks.adb (Generate_Range_Check): Reinstate part of previous change. * sem_attr.adb (Resolve_Attribute): Generate a range check when the component type allows range checks. 2017-04-27 Ed Schonberg <schonberg@adacore.com> * sem_aux.adb (Is_Generic_Formal): Use original node to locate corresponding declaration, because formal derived types are rewritten as private extensions. 2017-04-27 Ed Schonberg <schonberg@adacore.com> * sem_dim.adb (Analyze_Dimension_Binary_Op): Do not check dimensions of operands if node has been analyzed already, because previous analysis and dimension checking will have removed the dimension information from the operands. 2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> * debug.adb: Document the use of switch -gnatd.s. * einfo.ads Update the documentation on attribute Sec_Stack_Needed_For_Return and attribute Uses_Sec_Stack. Remove the uses of these attributes from certain entities. * exp_ch7.adb (Make_Transient_Block): Reimplement the circuitry which determines whether the block should continue to manage the secondary stack. (Manages_Sec_Stack): New routine. 2017-04-27 Bob Duff <duff@adacore.com> * atree.ads: Minor edit. 2017-04-27 Hristian Kirtchev <kirtchev@adacore.com> * sinfo.ads: Update the section on Ghost mode. Add a section on SPARK mode. Update the placement of section on expression functions. 2017-04-27 Bob Duff <duff@adacore.com> * sinput.adb (Get_Source_File_Index): Don't assert that S is in the right range in the case where this is a .dg file under construction. 2017-04-27 Yannick Moy <moy@adacore.com> * sem_util.adb (Check_Result_And_Post_State): Handle more precisely each conjunct in expressions formed by and'ing sub-expressions. From-SVN: r247295
Arnaud Charlet committed -
2017-04-27 Gary Dismukes <dismukes@adacore.com> * exp_ch4.adb, sem_ch4.adb: Minor typo fix and reformatting. From-SVN: r247294
Gary Dismukes committed -
PR target/77728 * config/aarch64/aarch64.c (struct aarch64_fn_arg_alignment): Remove. (aarch64_function_arg_alignment): Return unsigned int again, but still ignore TYPE_FIELDS chain decls other than FIELD_DECLs. (aarch64_layout_arg): Adjust aarch64_function_arg_alignment caller. Don't emit -Wpsabi note. (aarch64_function_arg_boundary): Likewise. (aarch64_gimplify_va_arg_expr): Adjust aarch64_function_arg_alignment caller. testsuite/ * g++.dg/abi/pr77728-2.C: Don't expect -Wpsabi notes. From-SVN: r247292
Jakub Jelinek committed -
From-SVN: r247291
GCC Administrator committed
-
- 26 Apr, 2017 4 commits
-
-
2017-04-26 Paolo Carlini <paolo.carlini@oracle.com> * decl.c (grok_ctor_properties, ambi_op_p, unary_op_p): Change return type to bool. * cp-tree.h (grok_ctor_properties): Update. From-SVN: r247286
Paolo Carlini committed -
* testsuite/23_containers/deque/allocator/move_assign-2.cc: Improve comment. Ensure first test works because allocator type propagates and not because is_always_equal is true. * testsuite/23_containers/vector/52591.cc: Likewise. Restore original testcase that instantiates the move-assignment operator. From-SVN: r247284
Jonathan Wakely committed -
parser.c (cp_parser_nested_name_specifier_opt): Add fix-it information to diagnostic of invalid colon in nested-name-specifier. * parser.c (cp_parser_nested_name_specifier_opt): Add fix-it information to diagnostic of invalid colon in nested-name-specifier. * g++.dg/diagnostic/nested-name-1.C: New test. From-SVN: r247282
Volker Reichelt committed -
* tree.h (crc32_unsigned_n): Declare. (crc32_unsigned, crc32_unsigned): Make inline. * tree.c (crc32_unsigned_bits): Replace with ... (crc32_unsigned_n): ... this. (crc32_unsigned, crc32_byte): Remove. (crc32_string): Remove unnecessary braces. From-SVN: r247281
Nathan Sidwell committed
-