1. 20 Jun, 2016 12 commits
    • [AArch64] Give some new costs for Cortex-A57 floating-point operations · b2fb6b75
      gcc/
      
      	* config/arm/aarch-cost-tables.h (cortexa57_extra_costs): Make FP
      	costs relative to the cost of a register move.
      
      From-SVN: r237601
      James Greenhalgh committed
    • [multiple changes] · 20250fb8
      2016-06-20  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* make.adb, gnatbind.adb, g-socket.adb, sem_ch13.adb: Minor
      	reformatting.
      	* lib.ads, sem_util.adb: Minor typo in comment.
      
      2016-06-20  Yannick Moy  <moy@adacore.com>
      
      	* sem_prag.adb, sem_prag.ads (Build_Pragma_Check_Equivalent):
      	Add parameter Keep_Pragma_Id to optionally keep
      	the identifier of the pragma instead of converting
      	to pragma Check. Also set type of new function call
      	appropriately.	(Collect_Inherited_Class_Wide_Conditions):
      	Call Build_Pragma_Check_Equivalent with the new parameter
      	Keep_Pragma_Id set to True to keep the identifier of the copied
      	pragma.
      	* sinfo.ads: Add comment.
      
      2016-06-20  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch7.adb (Build_Invariant_Procedure_Body):
      	Always install the scope of the invariant procedure
      	in order to produce better error messages. Do not
      	insert the body when the context is a generic unit.
      	(Build_Invariant_Procedure_Declaration): Perform minimal
      	decoration of the invariant procedure and its formal parameter
      	in case they are not analyzed.	Do not insert the declaration
      	when the context is a generic unit.
      
      From-SVN: r237600
      Arnaud Charlet committed
    • sem_ch13.adb (Visible_Component): New procedure... · 9e3be36e
      2016-06-20  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch13.adb (Visible_Component): New procedure, subsidiary
      	of Replace_Type_References_ Generic, to determine whether an
      	identifier in a predicate or invariant expression is a visible
      	component of the type to which the predicate or invariant
      	applies. Implements the visibility rule stated in RM 13.1.1
      	(12/3).
      
      From-SVN: r237599
      Ed Schonberg committed
    • [multiple changes] · 2f8d7dfe
      2016-06-20  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* s-regpat.adb, sem_prag.adb, pprint.adb, sem_ch13.adb: Minor
      	reformatting.
      
      2016-06-20  Tristan Gingold  <gingold@adacore.com>
      
      	* make.adb (Check_Standard_Library): Consider system.ads
      	if s-stalib.adb is not available.
      	* gnatbind.adb (Add_Artificial_ALI_File): New procedure extracted from
      	gnatbind.
      
      2016-06-20  Thomas Quinot  <quinot@adacore.com>
      
      	* g-socket.adb (Is_IP_Address): A string consisting in digits only is
      	not a dotted quad.
      
      2016-06-20  Arnaud Charlet  <charlet@adacore.com>
      
      	* exp_ch7.adb (Build_Invariant_Procedure_Body):
      	decorate invariant procedure body with typical properties of
      	procedure entityes.
      
      2016-06-20  Arnaud Charlet  <charlet@adacore.com>
      
      	* a-exetim-darwin.adb: New file.
      
      From-SVN: r237598
      Arnaud Charlet committed
    • Improve modes_tieable by returning true in more cases... · 61f17a5c
      Improve modes_tieable by returning true in more cases: allow scalar access
      within vectors without requiring an extra move.  Removing these moves helps
      the register allocator in deciding whether to use integer or FP registers on
      operations that can be done on both.  This saves about 100 instructions in the
      gcc.target/aarch64 tests.
      
      A typical example:
      
      	orr     v1.8b, v0.8b, v1.8b
      	fmov    x0, d0
      	fmov    x1, d1
      	add     x0, x1, x0
      	ins     v0.d[0], x0
      	orr     v0.8b, v1.8b, v0.8b
      
      after:
      
      	orr     v1.8b, v0.8b, v1.8b
      	add     d0, d1, d0
      	orr     v0.8b, v1.8b, v0.8b
      
          gcc/
      	* config/aarch64/aarch64.c (aarch64_modes_tieable_p):
      	Allow scalar/single vector modes to be tieable.
      
      From-SVN: r237597
      Wilco Dijkstra committed
    • [multiple changes] · 3ddfabe3
      2016-06-16  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* atree.ads, atree.adb (Elist29): New routine.
      	(Set_Elist29): New routine.
      	* atree.h New definition for Elist29.
      	* einfo.adb Subprograms_For_Type is now an Elist rather than
      	a node. Has_Invariants is now a synthesized attribute
      	and does not require a flag. Has_Own_Invariants
      	is now Flag232. Has_Inherited_Invariants is
      	Flag291. Is_Partial_Invariant_Procedure is Flag292.
      	(Default_Init_Cond_Procedure): Reimplemented.
      	(Has_Inherited_Invariants): New routine.
      	(Has_Invariants): Reimplemented.
      	(Has_Own_Invariants): New routine.
      	(Invariant_Procedure): Reimplemented.
      	(Is_Partial_Invariant_Procedure): New routine.
      	(Partial_Invariant_Procedure): Reimplemented.
      	(Predicate_Function): Reimplemented.
      	(Predicate_Function_M): Reimplemented.
      	(Set_Default_Init_Cond_Procedure): Reimplemented.
      	(Set_Has_Inherited_Invariants): New routine.
      	(Set_Has_Invariants): Removed.
      	(Set_Has_Own_Invariants): New routine.
      	(Set_Invariant_Procedure): Reimplemented.
      	(Set_Is_Partial_Invariant_Procedure): New routine.
      	(Set_Partial_Invariant_Procedure): Reimplemented.
      	(Set_Predicate_Function): Reimplemented.
      	(Set_Predicate_Function_M): Reimplemented.
      	(Set_Subprograms_For_Type): Reimplemented.
      	(Subprograms_For_Type): Reimplemented.
      	(Write_Entity_Flags): Output Flag232 and Flag291.
      	* einfo.ads Add new attributes Has_Inherited_Invariants
      	Has_Own_Invariants Is_Partial_Invariant_Procedure
      	Partial_Invariant_Procedure Change the documentation
      	of attributes Has_Inheritable_Invariants Has_Invariants
      	Invariant_Procedure Is_Invariant_Procedure Subprograms_For_Type
      	(Has_Inherited_Invariants): New routine along with pragma Inline.
      	(Has_Own_Invariants): New routine along with pragma Inline.
      	(Is_Partial_Invariant_Procedure): New routine along with pragma Inline.
      	(Partial_Invariant_Procedure): New routine.
      	(Set_Has_Inherited_Invariants): New routine along with pragma Inline.
      	(Set_Has_Invariants): Removed along with pragma Inline.
      	(Set_Has_Own_Invariants): New routine along with pragma Inline.
      	(Set_Is_Partial_Invariant_Procedure): New routine
      	along with pragma Inline.
      	(Set_Partial_Invariant_Procedure): New routine.
      	(Set_Subprograms_For_Type): Update the signature.
      	(Subprograms_For_Type): Update the signature.
      	* exp_ch3.adb Remove with and use clauses for Sem_Ch13.
      	(Build_Array_Invariant_Proc): Removed.
      	(Build_Record_Invariant_Proc): Removed.
      	(Freeze_Type): Build the body of the invariant procedure.
      	(Insert_Component_Invariant_Checks): Removed.
      	* exp_ch7.adb Add with and use clauses for Sem_Ch6, Sem_Ch13,
      	and Stringt.
      	(Build_Invariant_Procedure_Body): New routine.
      	(Build_Invariant_Procedure_Declaration): New routine.
      	* exp_ch7.ads (Build_Invariant_Procedure_Body): New routine.
      	(Build_Invariant_Procedure_Declaration): New routine.
      	* exp_ch9.adb (Build_Corresponding_Record): Do not propagate
      	attributes related to invariants to the corresponding record
      	when building the corresponding record. This is done by
      	Build_Invariant_Procedure_Declaration.
      	* exp_util.adb (Make_Invariant_Call): Reimplemented.
      	* freeze.adb (Freeze_Array_Type): An array type requires an
      	invariant procedure when its component type has invariants.
      	(Freeze_Record_Type): A record type requires an invariant
      	procedure when at least one of its components has an invariant.
      	* sem_ch3.adb (Analyze_Private_Extension_Declaration): Inherit
      	invariant-related attributes.
      	(Analyze_Subtype_Declaration):
      	Inherit invariant-related attributes.
      	(Build_Derived_Record_Type): Inherit invariant-related attributes.
      	(Check_Duplicate_Aspects): Reimplemented.
      	(Get_Partial_View_Aspect): New routine.
      	(Process_Full_View): Inherit invariant-related attributes. Reimplement
      	the check on hidden inheritance of class-wide invariants.
      	(Remove_Default_Init_Cond_Procedure): Reimplemented.
      	* sem_ch6.adb (Analyze_Subprogram_Specification): Do not modify
      	the controlling type for an invariant procedure declaration
      	or body.
      	(Is_Invariant_Procedure_Or_Body): New routine.
      	* sem_ch7.adb (Analyze_Package_Specification): Build the partial
      	invariant body in order to preanalyze and resolve all invariants
      	of a private type at the end of the visible declarations. Build
      	the full invariant body in order to preanalyze and resolve
      	all invariants of a private type's full view at the end of
      	the private declarations.
      	(Preserve_Full_Attributes): Inherit invariant-related attributes.
      	* sem_ch9.adb (Analyze_Protected_Type_Declaration): Ensure that
      	aspects are analyzed with the proper view when the protected type
      	is a completion of a private type. Inherit invariant-related attributes.
      	(Analyze_Task_Type_Declaration): Ensure that
      	aspects are analyzed with the proper view when the task type
      	is a completion of a private type. Inherit invariant-related
      	attributes.
      	* sem_ch13.adb Remove with and use clauses for Stringt.
      	(Build_Invariant_Procedure_Declaration): Removed.
      	(Build_Invariant_Procedure): Removed.
      	(Freeze_Entity_Checks): Do not build the body of the invariant
      	procedure here.
      	The body is built when the type is frozen in Freeze_Type.
      	(Inherit_Aspects_At_Freeze_Point): Do not inherit any attributes
      	related to invariants here because this leads to erroneous
      	inheritance.
      	(Replace_Node): Rename to Replace_Type_Ref.
      	* sem_ch13.ads (Build_Invariant_Procedure_Declaration): Removed.
      	(Build_Invariant_Procedure): Removed.
      	* sem_prag.adb Add with and use clauses for Exp_Ch7.
      	(Analyze_Pragma): Reimplement the analysis of pragma Invariant.
      	* sem_res.adb (Resolve_Actuals): Emit a specialized error when
      	the context is an invariant.
      	* sem_util.adb (Get_Views): New routine.
      	(Incomplete_Or_Partial_View): Consider generic packages when
      	examining declarations.
      	(Inspect_Decls): Consider full type
      	declarations because they may denote a derivation from a
      	private type.
      	(Propagate_Invariant_Attributes): New routine.
      	* sem_util.ads (Get_Views): New routine.
      	(Propagate_Invariant_Attributes): New routine.
      
      2016-06-16  Arnaud Charlet  <charlet@adacore.com>
      
      	* pprint.adb (Expression_Image): Add better handling of UCs,
      	we don't want to strip them all for clarity.
      
      From-SVN: r237596
      Arnaud Charlet committed
    • The Cortex-A57 scheduler is missing fcsel, so add it. · 1db6c46d
          gcc/
      	* config/arm/cortex-a57.md (cortex_a57_fp_cpys): Add fcsel.
      
      From-SVN: r237595
      Wilco Dijkstra committed
    • [typo] alignement -> alignment · ff7b374b
      2016-06-20  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
      
          * params.def (PARAM_ALIGN_LOOP_ITERATIONS): Use "alignment" instead of
          "alignement".
          * tree.h (TYPE_ALIGN): Likewise.
      
      2016-06-20  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
      
          * exp_util.adb (Safe_Unchecked_Type_Conversion): Use "alignment"
          instead of "alignement".
      
      2016-06-20  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
      
          * gfortran.dg/common_align_2.f90: Use "alignment" instead of
          "alignement".
      
      From-SVN: r237590
      Kyrylo Tkachov committed
    • re PR target/71103 (avr-gcc crashes with unrecognizable insn error) · 554cfc9e
      gcc/
      	PR target/71103
      	* config/avr/avr.md (movqi): Handle loading subreg:qi (const).
      
      gcc/testsuite/
      	PR target/71103
      	* gcc.target/avr/torture/pr71103-2.c: New test.
      
      From-SVN: r237589
      Georg-Johann Lay committed
    • avr.c (avr_print_operand): Fix "format not a string literal" build warnings. · b4f26c06
      	* config/avr/avr.c (avr_print_operand): Fix "format not a string
      	literal" build warnings.
      	(avr_print_operand_address): Dito.
      
      From-SVN: r237588
      Georg-Johann Lay committed
    • re PR target/71375 (Failure on startup on rs6000-ibm-aix{4.3|5.1.0}) · ba70141d
              PR target/71375
              * config/rs6000/aix51.h (TARGET_EXTRA_BUILTINS): Define as 0.
              * config/rs6000/aix43.h (TARGET_EXTRA_BUILTINS): Same.
      
      From-SVN: r237587
      David Edelsohn committed
    • Daily bump. · 3b2ad7db
      From-SVN: r237586
      GCC Administrator committed
  2. 19 Jun, 2016 4 commits
  3. 18 Jun, 2016 6 commits
  4. 17 Jun, 2016 18 commits