1. 08 Jul, 2016 10 commits
  2. 07 Jul, 2016 25 commits
    • re PR c++/70869 (internal compiler error: Segmentation fault on array of pointer… · 842dc2e6
      re PR c++/70869 (internal compiler error: Segmentation fault on array of pointer to function members)
      
      	PR c++/70869
      	PR c++/71054
      	* cp-gimplify.c (cp_genericize_r): For DECL_EXPR for non-static
      	artificial vars, genericize their initializers.
      
      	* g++.dg/cpp0x/pr70869.C: New test.
      	* g++.dg/cpp0x/pr71054.C: New test.
      
      Co-Authored-By: Kai Tietz <ktietz70@googlemail.com>
      
      From-SVN: r238124
      Jakub Jelinek committed
    • * g++.dg/debug/pr71432.C: Fail on AIX. · 31be4262
      From-SVN: r238122
      David Edelsohn committed
    • Update libstdc++ status docs · 9fc0faf0
      	* doc/xml/manual/status_cxx2014.xml: Update LFTS status table.
      	* doc/html/*: Regenerate.
      
      From-SVN: r238120
      Jonathan Wakely committed
    • [multiple changes] · 86ec3bfb
      2016-07-07  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch6.adb (Expand_Internal_Init_Call): Subsidiary procedure
      	to Expand_Protected_ Subprogram_Call, to handle properly a
      	call to a protected function that provides the initialization
      	expression for a private component of the same protected type.
      	* sem_ch9.adb (Analyze_Protected_Definition): Layout must be
      	applied to itypes generated for a private operation of a protected
      	type that has a formal of an anonymous access to subprogram,
      	because these itypes have no freeze nodes and are frozen in place.
      	* sem_ch4.adb (Analyze_Selected_Component): If prefix is a
      	protected type and it is not a current instance, do not examine
      	the first private component of the type.
      
      2016-07-07  Arnaud Charlet  <charlet@adacore.com>
      
      	* exp_imgv.adb, g-dynhta.adb, s-regexp.adb, s-fatgen.adb, s-poosiz.adb:
      	Minor removal of extra whitespace.
      	* einfo.ads: minor removal of repeated "as" in comment
      
      2016-07-07  Vadim Godunko  <godunko@adacore.com>
      
      	* adaint.c: Complete previous change.
      
      From-SVN: r238117
      Arnaud Charlet committed
    • [multiple changes] · 0640c7d1
      2016-07-07  Vadim Godunko  <godunko@adacore.com>
      
      	* adainit.h, adainit.c (__gnat_is_read_accessible_file): New
      	subprogram.
      	(__gnat_is_write_accessible_file): New subprogram.
      	* s-os_lib.ads, s-os_lib.adb (Is_Read_Accessible_File): New subprogram.
      	(Is_Write_Accessible_File): New subprogram.
      
      2016-07-07  Justin Squirek  <squirek@adacore.com>
      
      	* sem_ch12.adb (Install_Body): Minor refactoring in the order
      	of local functions.
      	(In_Same_Scope): Change loop condition to be more expressive.
      
      From-SVN: r238116
      Arnaud Charlet committed
    • [multiple changes] · 8c519039
      2016-07-07  Gary Dismukes  <dismukes@adacore.com>
      
      	* sem_ch3.adb, sem_prag.adb, sem_prag.ads, prj-ext.adb, freeze.adb,
      	sem_attr.adb: Minor reformatting, fix typos.
      
      2016-07-07  Justin Squirek  <squirek@adacore.com>
      
      	* sem_ch12.adb (In_Same_Scope): Created this function to check
      	a generic package definition against an instantiation for scope
      	dependancies.
      	(Install_Body): Add function In_Same_Scope and
      	amend conditional in charge of delaying the package instance.
      	(Is_In_Main_Unit): Add guard to check if parent is present in
      	assignment of Current_Unit.
      
      From-SVN: r238115
      Arnaud Charlet committed
    • Optimize fortran loops with +-1 step. · 1c122092
      	* gfortran.dg/do_1.f90: Remove a corner case that triggers
      	an undefined behavior.
      	* gfortran.dg/do_3.F90: Likewise.
      	* gfortran.dg/do_check_11.f90: New test.
      	* gfortran.dg/do_check_12.f90: New test.
      	* gfortran.dg/do_corner_warn.f90: New test.
      	* lang.opt (Wundefined-do-loop): New option.
              * resolve.c (gfc_resolve_iterator): Warn for Wundefined-do-loop.
      	(gfc_trans_simple_do): Generate a c-style loop.
      	(gfc_trans_do): Fix GNU coding style.
      	* invoke.texi: Mention the new warning.
      
      From-SVN: r238114
      Martin Liska committed
    • sem_ch6.adb (Analyze_Subprogram_Body_Helper): Remove redundant test, adjust… · 9cc6b3f8
      sem_ch6.adb (Analyze_Subprogram_Body_Helper): Remove redundant test, adjust comments and formatting.
      
      2016-07-07  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Remove redundant test,
      	adjust comments and formatting.
      	* sem_prag.adb (Inlining_Not_Possible): Do not test Front_End_Inlining
      	here but...
      	(Make_Inline): ...here before calling Inlining_Not_Possible instead.
      	(Set_Inline_Flags): Remove useless test.
      	(Analyze_Pragma) <Pragma_Inline>: Add comment about -gnatn switch.
      
      From-SVN: r238113
      Eric Botcazou committed
    • Add PRED_FORTRAN_LOOP_PREHEADER to DO loops with step · 7119f1b1
      	* trans-stmt.c (gfc_trans_do): Add expect builtin for DO
      	loops with step bigger than +-1.
      	* gfortran.dg/predict-1.f90: Ammend the test.
      	* gfortran.dg/predict-2.f90: Likewise.
      
      From-SVN: r238112
      Martin Liska committed
    • [multiple changes] · 0e77949e
      2016-07-07  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_prag.ads, sem_prag.adb (Build_Classwide_Expression): Include
      	overridden operation as parameter, in order to map formals of
      	the overridden and overring operation properly prior to rewriting
      	the inherited condition.
      	* freeze.adb (Check_Inherited_Cnonditions): Change call to
      	Build_Class_Wide_Expression accordingly.  In Spark_Mode, add
      	call to analyze the contract of the parent operation, prior to
      	mapping formals between operations.
      
      2016-07-07  Arnaud Charlet  <charlet@adacore.com>
      
      	* adabkend.adb (Scan_Back_End_Switches): Ignore -o/-G switches
      	as done in back_end.adb.
      	(Scan_Compiler_Args): Remove special case for CodePeer/SPARK, no longer
      	needed, and prevents proper handling of multi-unit sources.
      
      2016-07-07  Thomas Quinot  <quinot@adacore.com>
      
      	* g-sechas.adb, g-sechas.ads (GNAT.Secure_Hashes.H): Add Hash_Stream
      	type with Write primitive calling Update on the underlying context
      	(and dummy Read primitive raising P_E).
      
      2016-07-07  Thomas Quinot  <quinot@adacore.com>
      
      	* sem_ch13.adb: Minor reformatting.
      
      From-SVN: r238111
      Arnaud Charlet committed
    • [multiple changes] · 7dccd194
      2016-07-07  Thomas Quinot  <quinot@adacore.com>
      
      	* g-socket.ads: Document performance consideration for stream
      	wrapper.
      
      2016-07-07  Arnaud Charlet  <charlet@adacore.com>
      
      	* osint-c.ads (Set_File_Name): Clarify spec.
      
      From-SVN: r238110
      Arnaud Charlet committed
    • freeze.adb: Reenable code. · c7658039
      2016-07-07  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* freeze.adb: Reenable code.
      
      From-SVN: r238109
      Eric Botcazou committed
    • minor reformatting. · d1ce5f8c
      From-SVN: r238107
      Arnaud Charlet committed
    • sem_ch6.adb (Process_Formals): Set ghost flag on formal entities of ghost subprograms. · 0bb97bdf
      2016-07-07  Yannick Moy  <moy@adacore.com>
      
      	* sem_ch6.adb (Process_Formals): Set ghost flag
      	on formal entities of ghost subprograms.
      	* ghost.adb (Check_Ghost_Context.Is_OK_Ghost_Context): Accept ghost
      	entities in use type clauses.
      
      From-SVN: r238106
      Yannick Moy committed
    • Prevent LTO wrappers to process a recursive execution · f965d3da
      	* file-find.c (remove_prefix): New function.
      	* file-find.h (remove_prefix): Declare the function.
      	* gcc-ar.c (main): Skip a folder of the wrapper if
      	a wrapped binary would point to the same file.
      
      From-SVN: r238089
      Martin Liska committed
    • tree-scalar-evolution.c (iv_can_overflow_p): export. · 019d6598
      
      	* tree-scalar-evolution.c (iv_can_overflow_p): export.
      	* tree-scalar-evolution.h (iv_can_overflow_p): Declare.
      	* tree-ssa-loop-ivopts.c (alloc_iv): Use it.
      
      From-SVN: r238088
      Jan Hubicka committed
    • re PR ipa/71624 ([CHKP] internal compiler error: in duplicate_thunk_for_node) · 275792f2
      gcc/
      
      	PR ipa/71624
      	* ipa-inline-analysis.c (compute_inline_parameters): Set
      	local.can_change_signature to false for intrumentation
      	thunk callees.
      
      gcc/testsuite/
      
      	PR ipa/71624
      	* g++.dg/pr71624.C: New test.
      
      From-SVN: r238086
      Ilya Enkovich committed
    • arm.h (TARGET_USE_MOVT): Check MOVT/MOVW availability with TARGET_HAVE_MOVT. · 33427b46
      2016-07-07  Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
          gcc/
          * config/arm/arm.h (TARGET_USE_MOVT): Check MOVT/MOVW availability
          with TARGET_HAVE_MOVT.
          (TARGET_HAVE_MOVT): Define.
          * config/arm/arm.c (const_ok_for_op): Check MOVT/MOVW
          availability with TARGET_HAVE_MOVT.
          * config/arm/arm.md (arm_movt): Use TARGET_HAVE_MOVT to check MOVT
          availability.
          (addsi splitter): Use TARGET_THUMB && TARGET_HAVE_MOVT rather than
          TARGET_THUMB2.
          (symbol_refs movsi splitter): Remove TARGET_32BIT check.
          (arm_movtas_ze): Use TARGET_HAVE_MOVT to check MOVT availability.
          * config/arm/constraints.md (define_constraint "j"): Use
          TARGET_HAVE_MOVT to check MOVT availability.
      
      From-SVN: r238083
      Thomas Preud'homme committed
    • arm-protos.h: Reindent FL_FOR_* macro definitions. · 3129a320
      2016-07-07  Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
          gcc/
          * config/arm/arm-protos.h: Reindent FL_FOR_* macro definitions.
      
      From-SVN: r238082
      Thomas Preud'homme committed
    • arm-arches.def (armv8-m.base): Define new architecture. · 05a437c1
      2016-07-07  Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
          gcc/
          * config/arm/arm-arches.def (armv8-m.base): Define new architecture.
          (armv8-m.main): Likewise.
          (armv8-m.main+dsp): Likewise.
          * config/arm/arm-protos.h (FL_FOR_ARCH8M_BASE): Define.
          (FL_FOR_ARCH8M_MAIN): Likewise.
          * config/arm/arm-tables.opt: Regenerate.
          * config/arm/bpabi.h: Add armv8-m.base, armv8-m.main and
          armv8-m.main+dsp to BE8_LINK_SPEC.
          * config/arm/arm.h (TARGET_HAVE_LDACQ): Exclude ARMv8-M.
          (enum base_architecture): Add BASE_ARCH_8M_BASE and BASE_ARCH_8M_MAIN.
          * config/arm/arm.c (arm_arch_name): Increase size to work with ARMv8-M
          Baseline and Mainline.
          (arm_option_override_internal): Also disable arm_restrict_it when
          !arm_arch_notm.  Update comment for -munaligned-access to also cover
          ARMv8-M Baseline.
          (arm_file_start): Increase buffer size for printing architecture name.
          * doc/invoke.texi: Document architectures armv8-m.base, armv8-m.main
          and armv8-m.main+dsp.
          (mno-unaligned-access): Clarify that this is disabled by default for
          ARMv8-M Baseline architectures as well.
      
          gcc/testsuite/
          * lib/target-supports.exp: Generate add_options_for_arm_arch_FUNC and
          check_effective_target_arm_arch_FUNC_multilib for ARMv8-M Baseline and
          ARMv8-M Mainline architectures.
      
          libgcc/
          * config/arm/lib1funcs.S (__ARM_ARCH__): Define to 8 for ARMv8-M.
      
      From-SVN: r238081
      Thomas Preud'homme committed
    • lib1funcs.S (HAVE_ARM_CLZ): Define for ARMv6* or later and ARMv5t* rather than… · 3d16d9ec
      lib1funcs.S (HAVE_ARM_CLZ): Define for ARMv6* or later and ARMv5t* rather than for a fixed list of...
      
      2016-07-07  Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
          libgcc/
          * config/arm/lib1funcs.S (HAVE_ARM_CLZ): Define for ARMv6* or later
          and ARMv5t* rather than for a fixed list of architectures.
      
      From-SVN: r238080
      Thomas Preud'homme committed
    • elf.h: Use __ARM_ARCH_ISA_THUMB and __ARM_ARCH_ISA_ARM to decide whether to prevent... · 6f493951
      2016-07-07  Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
          gcc/
          * config/arm/elf.h: Use __ARM_ARCH_ISA_THUMB and __ARM_ARCH_ISA_ARM to
          decide whether to prevent some libgcc routines being included for some
          multilibs rather than __ARM_ARCH_6M__ and add comment to indicate the
          link between this condition and the one in
          libgcc/config/arm/lib1func.S.
      
          gcc/testsuite/
          * lib/target-supports.exp (check_effective_target_arm_cortex_m): Use
          __ARM_ARCH_ISA_ARM to test for Cortex-M devices.
      
          libgcc/
          * config/arm/bpabi-v6m.S: Clarify what architectures is the
          implementation suitable for.
          * config/arm/lib1funcs.S (__prefer_thumb__): Define among other cases
          for all Thumb-1 only targets.
          (NOT_ISA_TARGET_32BIT): Define for Thumb-1 only targets.
          (THUMB_LDIV0): Test for NOT_ISA_TARGET_32BIT rather than
          __ARM_ARCH_6M__.
          (EQUIV): Likewise.
          (ARM_FUNC_ALIAS): Likewise.
          (umodsi3): Add check to __ARM_ARCH_ISA_THUMB != 1 to guard the idiv
          version.
          (modsi3): Likewise.
          (clzsi2): Test for NOT_ISA_TARGET_32BIT rather than __ARM_ARCH_6M__.
          (clzdi2): Likewise.
          (ctzsi2): Likewise.
          (L_interwork_call_via_rX): Test for __ARM_ARCH_ISA_ARM rather than
          __ARM_ARCH_6M__ in guard for checking whether it is defined.
          (final includes): Test for NOT_ISA_TARGET_32BIT rather than
          __ARM_ARCH_6M__ and add comment to indicate the connection between
          this condition and the one in gcc/config/arm/elf.h.
          * config/arm/libunwind.S: Test for __ARM_ARCH_ISA_THUMB and
          __ARM_ARCH_ISA_ARM rather than __ARM_ARCH_6M__.
          * config/arm/t-softfp: Likewise.
      
      From-SVN: r238079
      Thomas Preud'homme committed
    • tree-ssa-pre.c: Include alias.h. · 3c5b29f5
      2016-07-07  Richard Biener  <rguenther@suse.de>
      
      	* tree-ssa-pre.c: Include alias.h.
      	(compute_avail): If we have multiple VN_REFERENCEs with the
      	same hashtable entry adjust that to make it a valid replacement
      	for all of them with respect to alignment and aliasing
      	when doing insertion.
      	* tree-ssa-sccvn.h (vn_reference_operands_for_lookup): Declare.
      	* tree-ssa-sccvn.c (vn_reference_operands_for_lookup): New function.
      
      From-SVN: r238078
      Richard Biener committed
    • rs6000: Make the ctr* patterns allow ints in vector regs (PR71763) · 5ddaee94
      Similar to PR70098, which is about integers in floating point registers,
      we can have the completely analogous problem with vector registers as well
      now that we allow integers in vector registers.  So, this patch solves it
      in the same way.  This only works for targets with direct move.
      
      To recap: register allocation can decide to put an integer mode value in
      a floating point or vector register.  If that register is used in a bd*z
      instruction, which is a jump instruction, reload can not do an output
      reload on it (it does not do output reloads on any jump insns), so the
      float or vector register will remain, and we have to allow it here or
      recog will ICE.  Later on we will split this to valid instructions,
      including a move from that fp/vec register to an int register; it is this
      move that will still fail (PR70098) if we do not have direct move enabled.
      
      
      	PR target/70098
      	PR target/71763
      	* config/rs6000/rs6000.md (*ctr<mode>_internal1, *ctr<mode>_internal2,
      	*ctr<mode>_internal5, *ctr<mode>_internal6): Add *wi to the output
      	constraint.
      
      gcc/testsuite/
      	PR target/70098
      	PR target/71763
      	* gcc.target/powerpc/pr71763.c: New file.
      
      From-SVN: r238076
      Segher Boessenkool committed
    • Daily bump. · 242fab36
      From-SVN: r238073
      GCC Administrator committed
  3. 06 Jul, 2016 5 commits
    • remove unused CTOR_LISTS_DEFINED_EXTERNALLY macro · 1770511a
      The last target to use this was i386-interix, so since that is gone we
      don't need this anymore.
      
      libgcc/ChangeLog:
      
      2016-07-06  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
      
      	* libgcc2.c (SYMBOL__MAIN): Remove checks for
      	CTOR_LISTS_DEFINED_EXTERNALLY.
      
      From-SVN: r238067
      Trevor Saunders committed
    • make side_effects a vec<rtx> · e97f6223
      gcc/ChangeLog:
      
      2016-07-06  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
      
      	* var-tracking.c (struct adjust_mem_data): Make side_effects a vector.
      	(adjust_mems): Adjust.
      	(adjust_insn): Likewise.
      	(prepare_call_arguments): Likewise.
      
      From-SVN: r238066
      Trevor Saunders committed
    • make stores rtx_insn_list a vec · 0777c850
      gcc/ChangeLog:
      
      2016-07-06  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
      
      	* gcse.c (struct ls_expr): Make stores field a vector.
      	(ldst_entry): Adjust.
      	(free_ldst_entry): Likewise.
      	(print_ldst_list): Likewise.
      	(compute_ld_motion_mems): Likewise.
      	(update_ld_motion_stores): Likewise.
      
      From-SVN: r238065
      Trevor Saunders committed
    • remove unused loads rtx_insn_list · 5c576429
      gcc/ChangeLog:
      
      2016-07-06  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
      
      	* gcse.c (struct ls_expr): Remove loads field.
      	(ldst_entry): Adjust.
      	(free_ldst_entry): Likewise.
      	(print_ldst_list): Likewise.
      	(compute_ld_motion_mems): Likewise.
      
      From-SVN: r238064
      Trevor Saunders committed
    • make antic_stores a vec<rtx_insn *> · 6dbe4c9e
      gcc/ChangeLog:
      
      2016-07-06  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
      
      	* store-motion.c (struct st_expr): Make antic_stores a vector.
      	(st_expr_entry): Adjust.
      	(free_st_expr_entry): Likewise.
      	(print_store_motion_mems): Likewise.
      	(find_moveable_store): Likewise.
      	(compute_store_table): Likewise.
      	(remove_reachable_equiv_notes): Likewise.
      	(replace_store_insn): Likewise.
      	(build_store_vectors): Likewise.
      
      From-SVN: r238063
      Trevor Saunders committed