- 25 Apr, 2017 40 commits
-
-
Integer promotion combined with equal sizes for short and int (16 bits) causes overflow warnings when expanding the TEST macro for USHRT_MAX. Fix by explicitly disabling overflow warnings for targets with !int32plus. gcc/testsuite/ 2017-04-25 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> * gcc.dg/attr-alloc_size-10.c: Ignore overflow warnings for targets with int size less than 32 bits. From-SVN: r247203
Senthil Kumar Selvaraj committed -
2017-04-25 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Derive_Subprogram): Implement rule in RM 6.1.1 (10-15): if derived type T with progenitors is abstract, and primitive P of this type inherits non-trivial classwide preconditions from both a parent operation and from an interface operation, then the inherited operation is abstract if the parent operation is not null. * sem_disp.ads, sem_disp.adb: replace function Covers_Some_Interface with Covered_Interface_Op to yield the actual interface operation that is implemented by a given inherited operation. 2017-04-25 Javier Miranda <miranda@adacore.com> * exp_ch4.adb (Expand_N_Op_Expon): Relocate left and right operands after performing the validity checks. Required because validity checks may remove side effects from the operands. 2017-04-25 Javier Miranda <miranda@adacore.com> * exp_attr.adb (Attribute_Unrestricted_Access): Do not disable implicit type conversion. Required to generate code that displaces the pointer to reference the secondary dispatch table. 2017-04-25 Pascal Obry <obry@adacore.com> * prj-attr.adb, snames.ads-tmpl: Add package Install's Required_Artifacts attribute. From-SVN: r247202
Arnaud Charlet committed -
gcc/ 2017-04-25 Claudiu Zissulescu <claziss@synopsys.com> * config/arc/arc.c (LEGITIMATE_OFFSET_ADDRESS_P): Delete macro. (legitimate_offset_address_p): New function. (arc_legitimate_address_p): Use above function. From-SVN: r247201
Claudiu Zissulescu committed -
The TARGET_ASM_OUTPUT_MI_THUNK hook doesn't take into account the variant when we compile for PIC. gcc/ 2017-04-25 Claudiu Zissulescu <claziss@synopsys.com> * config/arc/arc.c (arc_output_mi_thunk): Emit PIC calls. From-SVN: r247200
Claudiu Zissulescu committed -
gcc/ 2017-04-25 Claudiu Zissulescu <claziss@synopsys.com> * config/arc/arc.c (arc_conditional_register_usage): Use ACCL, ACCH registers whenever they are available. From-SVN: r247199
Claudiu Zissulescu committed -
gcc/ 2017-04-25 Claudiu Zissulescu <claziss@synopsys.com> * config/arc/arc.c (arc_conditional_register_usage): Make D0, D1 double regs fix when not used. From-SVN: r247198
Claudiu Zissulescu committed -
2017-04-25 Ed Schonberg <schonberg@adacore.com> * sem_util.adb (Same_Value): String literals are compile-time values, and comparing them must use Expr_Value_S. 2017-04-25 Ed Schonberg <schonberg@adacore.com> * sem_ch4.adb (Complete_Object_Interpretation): If an explicit dereference is introduced for the object, and the object is overloaded, do not check whether it is aliased, because it may include an implicit dereference. * sem_type.adb (Disambiguate): If two interpretations are access attribute types with the same designated type keep either of them and do not report an ambiguity. A true ambiguity will be reported elsewhere. 2017-04-25 Bob Duff <duff@adacore.com> * a-numeri.ads: Change the encoding of Greek letter Pi from brackets encoding to UTF-8. Use pragma Wide_Character_Encoding to indicate the encoding. We considered using a byte order mark (BOM), but that causes various trouble (misc software eats the BOM, if you have a patch with a BOM, then it's not at the start of the patch, so it's not a BOM, the BOM affects with-ing files, etc.). * scng.adb, s-wchcnv.adb: Minor. 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch3.adb, sem_ch8.adb, sem_disp.adb: Minor reformatting. From-SVN: r247197
Arnaud Charlet committed -
gcc/ 2017-04-25 Claudiu Zissulescu <claziss@synopsys.com> * config/arc/arc.h (REGNO_OK_FOR_BASE_P): Consider also extension core registers. (REG_OK_FOR_INDEX_P_NONSTRICT): Likewise. (REG_OK_FOR_BASE_P_NONSTRICT): Likewise. From-SVN: r247196
Claudiu Zissulescu committed -
gcc/ 2017-04-25 Claudiu Zissulescu <claziss@synopsys.com> * config/arc/arc.c (arc_output_addsi): Check for h-register class when emitting short ADD instructions. From-SVN: r247195
Claudiu Zissulescu committed -
gcc/ 2017-04-25 Claudiu Zissulescu <claziss@synopsys.com> * config/arc/arc.md (cmpsi_cc_insn_mixed): Use 'h' register constraint. (cmpsi_cc_c_insn): Likewise. (cbranchsi4_scratch): Compute proper instruction length using compact_hreg_operand. * config/arc/predicates.md (compact_hreg_operand): New predicate. From-SVN: r247194
Claudiu Zissulescu committed -
From-SVN: r247193
Arnaud Charlet committed -
2017-04-25 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Add_Internal_Interface_Entities): Move Has_Non_Trivial_Precondition to sem_util. for use elsewhere. Improve error message on operations that inherit non-conforming classwide preconditions from ancestor and progenitor. * sem_util.ads, sem_util.adb (Has_Non_Trivial_Precondition): moved here from sem_ch3. * sem_ch8.adb (Analyze_Subprogram_Renaming): Implement legality check given in RM 6.1.1 (17) concerning renamings of overriding operations that inherits class-wide preconditions from ancestor or progenitor. 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch7.adb (Build_Adjust_Or_Finalize_Statements): Code cleanup. (Build_Adjust_Statements): Code cleanup. (Build_Finalizer): Update the initialization of Exceptions_OK. (Build_Finalize_Statements): Code cleanup. (Build_Initialize_Statements): Code cleanup. (Make_Deep_Array_Body): Update the initialization of Exceptions_OK. (Make_Deep_Record_Body): Update the initialization of Exceptions_OK. (Process_Object_Declaration): Generate a null exception handler only when exceptions are allowed. (Process_Transients_In_Scope): Update the initialization of Exceptions_OK. * exp_util.ads, exp_util.adb (Exceptions_In_Finalization_OK): New routine. * sem_ch11.adb (Analyze_Exception_Handlers): Do not check any restrictions when the handler is internally generated and the mode is warnings. 2017-04-25 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Has_Non_Trivial_Precondition): New predicate to enforce legality rule on classwide preconditions inherited from both an ancestor and a progenitor (RM 6.1.1 (10-13). * sem_disp.adb (Check_Dispatching_Context): A call to an abstract subprogram need not be dispatching if it appears in a precondition for an abstract or null subprogram. 2017-04-25 Gary Dismukes <dismukes@adacore.com> * sem_ch10.adb: Minor typo fix. From-SVN: r247192
Arnaud Charlet committed -
From-SVN: r247186
Arnaud Charlet committed -
From-SVN: r247184
Arnaud Charlet committed -
2017-04-25 Eric Botcazou <ebotcazou@adacore.com> * fname.adb (Is_Internal_File_Name): Arrange for the slices to have a length which is a power of 2. (Is_Predefined_File_Name): Likewise. Adjust comment. 2017-04-25 Bob Duff <duff@adacore.com> * exp_aggr.adb (Component_Count): Protect the arithmetic from attempting to convert a value >= 2**31 to Int, which would otherwise raise Constraint_Error. 2017-04-25 Bob Duff <duff@adacore.com> * opt.ads (Locking_Policy): Fix incorrect documentation. The first character of the policy name is not unique. 2017-04-25 Bob Duff <duff@adacore.com> * s-fileio.adb (Name): Raise Use_Error if the file is a temp file. * s-ficobl.ads (Is_Temporary_File): Remove incorrect comment about this flag not being used. It was already used, and it is now used more. From-SVN: r247183
Arnaud Charlet committed -
2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> * einfo.adb Flag301 is now known as Ignore_SPARK_Mode_Pragmas. (Ignore_SPARK_Mode_Pragmas): New routine. (Set_Ignore_SPARK_Mode_Pragmas): New routine. (Write_Entity_Flags): Add an entry for Ignore_SPARK_Mode_Pragmas. * einfo.ads Add new attribute Ignore_SPARK_Mode_Pragmas and update related entities. (Ignore_SPARK_Mode_Pragmas): New routine along with pragma Inline. (Set_Ignore_SPARK_Mode_Pragmas): New routine along with pragma Inline. * opt.ads Rename flag Ignore_Pragma_SPARK_Mode to Ignore_SPARK_Mode_Pragmas_In_Instance. * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Save and restore the value of global flag Ignore_SPARK_Mode_Pragmas_In_Instance. Set or reinstate the value of global flag Ignore_SPARK_Mode_Pragmas_In_Instance when either the corresponding spec or the body must ignore all SPARK_Mode pragmas found within. (Analyze_Subprogram_Declaration): Mark the spec when it needs to ignore all SPARK_Mode pragmas found within to allow the body to infer this property in case it is instantiated or inlined later. * sem_ch7.adb (Analyze_Package_Body_Helper): Save and restore the value of global flag Ignore_SPARK_Mode_Pragmas_In_Instance. Set the value of global flag Ignore_SPARK_Mode_Pragmas_In_Instance when the corresponding spec also ignored all SPARK_Mode pragmas found within. (Analyze_Package_Declaration): Mark the spec when it needs to ignore all SPARK_Mode pragmas found within to allow the body to infer this property in case it is instantiated or inlined later. * sem_ch12.adb (Analyze_Formal_Package_Declaration): Save and restore the value of flag Ignore_SPARK_Mode_Pragmas_In_Instance. Mark the formal spec when it needs to ignore all SPARK_Mode pragmas found within to allow the body to infer this property in case it is instantiated or inlined later. (Analyze_Package_Instantiation): Save and restore the value of global flag Ignore_SPARK_Mode_Pragmas_In_Instance. Mark the instance spec when it needs to ignore all SPARK_Mode pragmas found within to allow the body to infer this property in case it is instantiated or inlined later. (Analyze_Subprogram_Instantiation): Save and restore the value of global flag Ignore_SPARK_Mode_Pragmas_In_Instance. Mark the instance spec and anonymous package when they need to ignore all SPARK_Mode pragmas found within to allow the body to infer this property in case it is instantiated or inlined later. (Instantiate_Package_Body): Save and restore the value of global flag Ignore_SPARK_Mode_Pragmas_In_Instance. Set the value of global flag Ignore_SPARK_Mode_Pragmas_In_Instance when the corresponding instance spec also ignored all SPARK_Mode pragmas found within. (Instantiate_Subprogram_Body): Save and restore the value of global flag Ignore_SPARK_Mode_Pragmas_In_Instance. Set the value of global flag Ignore_SPARK_Mode_Pragmas_In_Instance when the corresponding instance spec also ignored all SPARK_Mode pragmas found within. * sem_prag.adb (Analyze_Pragma): Update the reference to Ignore_Pragma_SPARK_Mode. * sem_util.adb (SPARK_Mode_Is_Off): A construct which ignored all SPARK_Mode pragmas defined within yields mode "off". 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> * bindgen.adb, exp_dbug.adb, errout.adb, fname.adb: Minor reformatting. 2017-04-25 Bob Duff <duff@adacore.com> * exp_atag.adb (Build_CW_Membership): Add "Suppress => All_Checks" to avoid generating unnecessary checks. * exp_ch4.adb (Expand_N_In, Make_Tag_Check): Add "Suppress => All_Checks". * sem.ads: Fix comment. * expander.ads: Fix comment. * exp_atag.ads: Fix comment: "Index = 0" should be "Index >= 0". 2017-04-25 Gary Dismukes <dismukes@adacore.com> * s-taprop-linux.adb: Minor editorial fixes. From-SVN: r247182
Arnaud Charlet committed -
2017-04-25 Eric Botcazou <ebotcazou@adacore.com> * sem_util.adb (New_Copy_Tree): Put back the declarations of the hash tables at library level. Reinstate the NCT_Hash_Tables_Used variable and set it to True whenever the main hash table is populated. Short- circuit the Assoc function if it is false and add associated guards. From-SVN: r247181
Arnaud Charlet committed -
2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> * checks.adb (Insert_Valid_Check): Code cleanup. * exp_ch6.adb (Add_Validation_Call_By_Copy_Code): New routine. (Expand_Actuals): Generate proper copy-back for a validation variable when it acts as the argument of a type conversion. * sem_util.adb (Is_Validation_Variable_Reference): Augment the predicate to operate on type qualifications. From-SVN: r247180
Hristian Kirtchev committed -
2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> * sem_prag.adb, exp_ch6.adb, binde.adb, sem_disp.adb, s-fileio.adb: Minor reformatting. From-SVN: r247179
Hristian Kirtchev committed -
2017-04-25 Bob Duff <duff@adacore.com> * sem_prag.adb (No_Return): Give an error if the pragma applies to a body. Specialize the error for the specless body case, as is done for (e.g.) pragma Convention. * debug.adb: Add switch -gnatd.J to disable the above legality checks. This is mainly for use in our test suite, to avoid rewriting a lot of illegal (but working) code. It might also be useful to customers. Under this switch, if a pragma No_Return applies to a body, and the procedure raises an exception (as it should), the pragma has no effect. If the procedure does return, execution is erroneous. 2017-04-25 Bob Duff <duff@adacore.com> * exp_ch6.adb (Expand_Actuals): This is the root of the problem. It took N as an 'in out' parameter, and in some cases, rewrote N, but then set N to Original_Node(N). So the node returned in N had no Parent. The caller continued processing of this orphaned node. In some cases that caused a crash (e.g. Remove_Side_Effects climbs up Parents in a loop, and trips over the Empty Parent). The solution is to make N an 'in' parameter. Instead of rewriting it, return the list of post-call actions, so the caller can do the rewriting later, after N has been fully processed. (Expand_Call_Helper): Move most of Expand_Call here. It has too many premature 'return' statements, and we want to do the rewriting on return. (Insert_Post_Call_Actions): New procedure to insert the post-call actions in the appropriate place. In the problematic case, that involves rewriting N as an Expression_With_Actions. (Expand_Call): Call the new procedures Expand_Call_Helper and Insert_Post_Call_Actions. From-SVN: r247178
Bob Duff committed -
2017-04-25 Ed Schonberg <schonberg@adacore.com> * sem_prag.adb (Inherits_Class_Wide_Pre): Cleanup code, handle properly type derived from generic formal types, to handle properly modified version of ACATS 4.1B B611017. 2017-04-25 Javier Miranda <miranda@adacore.com> * exp_unst.adb (Subp_Index): Adding missing support for renamings and functions that return a constrained array type (i.e. functions for which the frontend built a procedure with an extra out parameter). 2017-04-25 Pascal Obry <obry@adacore.com> * s-string.adb: Minor code clean-up. 2017-04-25 Bob Duff <duff@adacore.com> * s-os_lib.ads, s-os_lib.adb (Non_Blocking_Wait_Process): New procedure. * adaint.h, adaint.c (__gnat_portable_no_block_wait): C support function for Non_Blocking_Wait_Process. 2017-04-25 Bob Duff <duff@adacore.com> * prep.adb (Preprocess): Remove incorrect Assert. Current character can be ASCII.CR. From-SVN: r247177
Arnaud Charlet committed -
2017-04-25 Ed Schonberg <schonberg@adacore.com> * sem_prag.adb (Set_Convention_From_Pragma): Cleanup code for convention Stdcall, which has a number of exceptions. Convention is legal on a component declaration whose type is an anonymous access to subprogram. 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch4.adb: sem_ch4.adb Various reformattings. (Try_One_Prefix_Interpretation): Use the base type when dealing with a subtype created for purposes of constraining a private type with discriminants. 2017-04-25 Javier Miranda <miranda@adacore.com> * einfo.ads, einfo.adb (Has_Private_Extension): new attribute. * warnsw.ads, warnsw.adb (All_Warnings): Set warning on late dispatching primitives (Restore_Warnings): Restore warning on late dispatching primitives (Save_Warnings): Save warning on late dispatching primitives (Do_Warning_Switch): Use -gnatw.j/-gnatw.J to enable/disable this warning. (WA_Warnings): Set warning on late dispatching primitives. * sem_ch3.adb (Analyze_Private_Extension_Declaration): Remember that its parent type has a private extension. * sem_disp.adb (Warn_On_Late_Primitive_After_Private_Extension): New subprogram. * usage.adb: Document -gnatw.j and -gnatw.J. From-SVN: r247176
Arnaud Charlet committed -
2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch7.adb, checks.adb, sem_prag.adb, eval_fat.adb: Minor reformatting. 2017-04-25 Bob Duff <duff@adacore.com> * binde.adb (Validate): Do not pass dynamic strings to pragma Assert, because older compilers do not support that. 2017-04-25 Bob Duff <duff@adacore.com> * s-fileio.adb (Close): When a temp file is closed, delete it and clean up its Temp_File_Record immediately, rather than waiting until later. (Temp_File_Record): Add File component, so Close can know which Temp_File_Record corresponds to the file being closed. (Delete): Don't delete temp files, because they are deleted by Close. (Open): Set the File component of Temp_File_Record. This requires moving the creation of the Temp_File_Record to the end, after the AFCB has been created. From-SVN: r247175
Arnaud Charlet committed -
2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> * checks.adb (Insert_Valid_Check): Do not generate a validity check when inside a generic. 2017-04-25 Yannick Moy <moy@adacore.com> * sem_res.adb (Resolve_Type_Conversion): Fix bad logic. 2017-04-25 Arnaud Charlet <charlet@adacore.com> * snames.ads-tmpl (Snames): More names for detecting predefined potentially blocking subprograms. 2017-04-25 Ed Schonberg <schonberg@adacore.com> * sem_prag.adb (Analyze_Pre_Post_Condition): The rules concerning inheritance of class-wide preconditions do not apply to postconditions. 2017-04-25 Bob Duff <duff@adacore.com> * s-ficobl.ads: Minor comment fix. From-SVN: r247174
Arnaud Charlet committed -
checks.adb (Apply_Scalar_Range_Check): Analyze precisely conversions from float to integer in GNATprove mode. 2017-04-25 Yannick Moy <moy@adacore.com> * checks.adb (Apply_Scalar_Range_Check): Analyze precisely conversions from float to integer in GNATprove mode. (Apply_Type_Conversion_Checks): Make sure in GNATprove mode to call Apply_Type_Conversion_Checks, so that range checks are properly positioned when needed on conversions, including when converting from float to integer. (Determine_Range): In GNATprove mode, take into account the possibility of conversion from float to integer. * sem_res.adb (Resolve_Type_Conversion): Only enforce range check on conversions from fixed-point to integer, not anymore on conversions from floating-point to integer, when in GNATprove mode. From-SVN: r247173
Yannick Moy committed -
checks.adb (Determine_Range_R): Special case type conversions from integer to float in order to get bounds in... 2017-04-25 Yannick Moy <moy@adacore.com> * checks.adb (Determine_Range_R): Special case type conversions from integer to float in order to get bounds in that case too. * eval_fat.adb (Machine): Avoid issuing warnings in GNATprove mode, for computations involved in interval checking. From-SVN: r247172
Yannick Moy committed -
2017-04-25 Richard Biener <rguenther@suse.de> PR middle-end/80509 * passes.c (pass_manager::pass_manager): Initialize m_name_to_pass_map. From-SVN: r247171
Richard Biener committed -
2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> * checks.adb (Insert_Valid_Check): Partially reimplement validity checks. * einfo.adb Node36 is now used as Validated_Object. (Validated_Object): New routine. (Set_Validated_Object): New routine. (Write_Field36_Name): Add an entry for Validated_Object. * einfo.ads Add new attribute Validated_Object along with usage in entities. (Validated_Object): New routine along with pragma Inline. (Set_Validated_Object): New routine along with pragma Inline. * exp_attr.adb (Make_Range_Test): Add processing for validation variables to avoid extra reads and copies of the prefix. * exp_ch6.adb (Expand_Actuals): Add copy-back for validation variables in order to reflect any changes done in the variable back into the original object. * sem_util.adb (Is_Validation_Variable_Reference): New routine. * sem_util.ads (Is_Validation_Variable_Reference): New routine. 2017-04-25 Steve Baird <baird@adacore.com> * exp_ch7.adb (Build_Array_Deep_Procs, Build_Record_Deep_Procs, Make_Finalize_Address_Body): Don't generate Finalize_Address routines for CodePeer. 2017-04-25 Ed Schonberg <schonberg@adacore.com> * sem_prag.adb (Inherits_Class_Wide_Pre): subsidiary of Analyze_Pre_Post_Condition, to implement the legality checks mandated by AI12-0131: Pre'Class shall not be specified for an overriding primitive subprogram of a tagged type T unless the Pre'Class aspect is specified for the corresponding primitive subprogram of some ancestor of T. From-SVN: r247170
Arnaud Charlet committed -
2017-04-25 Bob Duff <duff@adacore.com> * sem_ch8.adb (Use_One_Type): If a use_type_clause is redundant, set its Used_Operations to empty. This is only necessary for use clauses that appear in the parent of a generic child unit, because those use clauses get reanalyzed when we instantiate the generic, and we don't want the Used_Operations carried over from the original context (where it was probably not redundant). 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch6.adb: Minor reformatting. From-SVN: r247169
Arnaud Charlet committed -
2017-04-25 Bob Duff <duff@adacore.com> * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings): Use Source_Index (Current_Sem_Unit) to find the correct casing. * exp_prag.adb (Expand_Pragma_Check): Use Source_Index (Current_Sem_Unit) to find the correct casing. * par.adb (Par): Null out Current_Source_File, to ensure that the above bugs won't rear their ugly heads again. 2017-04-25 Ed Schonberg <schonberg@adacore.com> * sem_ch8.adb (Find_Type): For an attribute reference 'Class, if prefix type is synchronized and previous errors have suppressed the creation of the corresponding record type, create a spurious class-wide for the synchonized type itself, to catch other misuses of the attribute 2017-04-25 Steve Baird <baird@adacore.com> * exp_ch6.adb (Expand_Simple_Function_Return): if CodePeer_Mode is True, then don't generate the accessibility check for the tag of a tagged result. * exp_intr.adb (Expand_Dispatching_Constructor_Call): if CodePeer_Mode is True, then don't generate the tag checks for the result of call to an instance of Ada.Tags.Generic_Dispatching_Constructor (i.e., both the "is a descendant of" check and the accessibility check). 2017-04-25 Ed Schonberg <schonberg@adacore.com> * sem_ch13.adb: Code cleanups. * a-strbou.ads: minor whitespace fix in Trim for bounded strings. * sem_ch8.ads: Minor comment fix. From-SVN: r247168
Arnaud Charlet committed -
2017-04-25 Eric Botcazou <ebotcazou@adacore.com> * exp_ch4.adb (Library_Level_Target): New function. (Expand_Concatenate): When optimization is enabled, also expand the operation out-of-line if the concatenation is present within the expression of the declaration of a library-level object and not only if it is the expression of the declaration. 2017-04-25 Bob Duff <duff@adacore.com> * freeze.adb (Freeze_Object_Declaration): Do not Remove_Side_Effects if there is a pragma Linker_Section, because in that case we want static initialization in the appropriate section. 2017-04-25 Gary Dismukes <dismukes@adacore.com> * exp_dbug.adb: Minor rewording and reformatting. 2017-04-25 Ed Schonberg <schonberg@adacore.com> * sem_attr.adb (Statically_Denotes_Object): New predicate, to handle the proposed changes to rules concerning potentially unevaluated expressions, to include selected components that do not depend on discriminants, and indexed components with static indices. * sem_util.adb (Is_Potentially_Unevaluated): Add check for predicate in quantified expression, and fix bugs in the handling of case expressions and membership test. (Analyze_Attribute_Old_Result): use new predicate. (Analyze_Attribute, case Loop_Entry): ditto. From-SVN: r247167
Arnaud Charlet committed -
2017-04-25 Bob Duff <duff@adacore.com> * s-secsta.adb (SS_Info): Add a comment explaining why we don't need to walk all the chunks in order to compute the total size. 2017-04-25 Bob Duff <duff@adacore.com> * namet.ads, namet.adb (Global_Name_Buffer): Increase the length of the global name buffer to 4*Max_Line_Length. 2017-04-25 Javier Miranda <miranda@adacore.com> * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): When creating a renaming entity for debug information, mark the entity as needing debug info if it comes from sources. 2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Remove the restriction converning the use of 'Address where the prefix is of a controlled type. 2017-04-25 Pierre-Marie de Rodat <derodat@adacore.com> * exp_dbug.adb: In Debug_Renaming_Declaration, skip slices that are made redundant by an indexed component access. * atree.h: New definition for Original_Node. From-SVN: r247166
Arnaud Charlet committed -
2017-04-25 Hristian Kirtchev <kirtchev@adacore.com> * sem_prag.adb, sem_prag.ads: Minor reformatting. From-SVN: r247165
Hristian Kirtchev committed -
From-SVN: r247164
Arnaud Charlet committed -
sem_ch3.adb (Check_Entry_Contract): Call Preanalyze_Spec_Expression so that resolution takes place as well. 2017-04-25 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Check_Entry_Contract): Call Preanalyze_Spec_Expression so that resolution takes place as well. * sem_util.adb (Check_Internal_Protected_Use): Reject properly internal calls that appear in preconditions of protected operations, in default values for same, and in contract guards for contract cases in SPARK. From-SVN: r247163
Ed Schonberg committed -
2017-04-25 Eric Botcazou <ebotcazou@adacore.com> * a-numaux.ads: Fix description of a-numaux-darwin and a-numaux-x86. (Double): Define to Long_Float. * a-numaux-vxworks.ads (Double): Likewise. * a-numaux-darwin.ads (Double): Likewise. * a-numaux-libc-x86.ads (Double): Define to Long_Long_Float. * a-numaux-x86.ads: Fix package description. * a-numaux-x86.adb (Is_Nan): Minor tweak. (Reduce): Adjust and complete description. Call Is_Nan instead of testing manually. Use an integer temporary to hold rounded value. * a-numaux-darwin.adb (Reduce): Likewise. (Is_Nan): New function. 2017-04-25 Ed Schonberg <schonberg@adacore.com> * sem_ch4.adb (Analyze_Selected_Component): Additional refinement on analysis of prefix whose type is a current instance of a synchronized type, but where the prefix itself is an entity that is an object. 2017-04-25 Ed Schonberg <schonberg@adacore.com> * exp_ch5.adb (Replace_Target): When rewriting the RHS, preserve the identity of callable entities therein, because they have been properly resolved, and prefixed calls may have been rewritten as normal calls. 2017-04-25 Patrick Bernardi <bernardi@adacore.com> * exp_ch3.adb (Build_Init_Statements): Convert the expression of the pragma/aspect Secondary_Stack_Size to internal type System.Parameters.Size_Type before assigning it to the Secondary_Stack_Size component of the task type's corresponding record. 2017-04-25 Eric Botcazou <ebotcazou@adacore.com> * sem_eval.adb (Compile_Time_Compare): Reinstate the expr+literal (etc) optimizations when the type is modular and the offsets are equal. 2017-04-25 Eric Botcazou <ebotcazou@adacore.com> * s-osinte-freebsd.ads: Minor comment tweaks 2017-04-25 Javier Miranda <miranda@adacore.com> * urealp.adb (UR_Write): Reverse previous patch adding documentation on why we generate multiplications instead of divisions (needed to avoid expressions whose computation with large numbers may cause division by 0). 2017-04-25 Bob Duff <duff@adacore.com> * erroutc.adb (Set_Specific_Warning_Off, Set_Warnings_Mode_Off): Use the correct source file for Stop. Was using Current_Source_File, which is only valid during parsing. Current_Source_File will have a leftover value from whatever file happened to be parsed last, because of a with_clause or something. 2017-04-25 Bob Duff <duff@adacore.com> * lib.ads, lib.adb (In_Internal_Unit): New functions similar to In_Predefined_Unit, but including GNAT units. * sem_util.ads, sem_util.adb (Should_Ignore_Pragma): Replace with Should_Ignore_Pragma_Par and Should_Ignore_Pragma_Sem, because Should_Ignore_Pragma was not working reliably outside the parser, because Current_Source_File is not valid. * sem_prag.adb, exp_prag.adb: Call Should_Ignore_Pragma_Sem. * par-prag.adb: Call Should_Ignore_Pragma_Par. From-SVN: r247162
Arnaud Charlet committed -
From-SVN: r247161
Arnaud Charlet committed -
* gnat1drv.adb (Gnat1Drv): Disable Generate_Processed_File in codepeer mode. 2017-04-25 Javier Miranda <miranda@adacore.com> * urealp.adb (UR_Write): Fix output of constants with a base other that 10. 2017-04-25 Justin Squirek <squirek@adacore.com> * sem_ch13.adb (Get_Interfacing_Aspects): Moved to sem_util.adb. * sem_prag.adb (Analyze_Pragma, Process_Import_Or_Interface): Add extra parameter for Process_Interface_Name. (Process_Interface_Name): Add parameter for pragma to analyze corresponding aspect. * sem_util.ads, sem_util.adb (Get_Interfacing_Aspects): Added from sem_ch13.adb From-SVN: r247160
Arnaud Charlet committed -
re PR tree-optimization/79201 (missed optimization: sinking doesn't handle calls, swap PRE and sinking) 2017-04-25 Richard Biener <rguenther@suse.de> PR tree-optimization/79201 * tree-ssa-sink.c (statement_sink_location): Handle calls. * gcc.dg/tree-ssa/ssa-sink-16.c: New testcase. * gcc.target/i386/pr22152.c: Disable sinking. From-SVN: r247159
Richard Biener committed -
From-SVN: r247158
Arnaud Charlet committed
-