1. 06 Aug, 2014 4 commits
  2. 05 Aug, 2014 21 commits
    • gdbhooks.py: add "break-on-pass" command · 17ef89b2
      gcc/
      2014-08-05  David Malcolm  <dmalcolm@redhat.com>
      
              * gdbhooks.py (find_gcc_source_dir): New helper function.
              (class PassNames): New class, locating and parsing passes.def.
              (class BreakOnPass): New command "break-on-pass".
      
      From-SVN: r213646
      David Malcolm committed
    • fix pr62009 use after free in redirect_edge_var_map_dup · 6ef6945c
      The change to get the entry for the old edge before inserting the new
      one was incorrect because if inserting the new one resized the table
      then the pointer to the entry for the old one would become invalid.
      
      gcc/
      
      	* tree-ssa.c (redirect_edge_var_map_dup): insert newe before
      	getting olde.
      
      From-SVN: r213644
      Trevor Saunders committed
    • Fix more typos. · fa12e57e
      From-SVN: r213643
      Eric Botcazou committed
    • Fix typos. · 7bd4381c
      From-SVN: r213642
      Eric Botcazou committed
    • Implement constexpr variable templates · 4a4f287d
      	Implement constexpr variable templates
      	* decl.c (grokvardecl): Handle specializations of variable templates.
      	(grokdeclarator): Handle variable template id expressions and NULL_TREE
      	return from grokvardecl.
      	* decl2.c (check_member_template): Allow declaration of template member
      	variables.
      	* parser.c (cp_parser_template_id): Build a TEMPLATE_ID_EXPR for
      	variable templates.
      	* pt.c (check_template_variable): Accept variable temploids at
      	non-class scope.
      	(push_template_decl_real): The current instantiation of a template
      	can be a VAR_DECL.
      	(determine_specialization): Accept variable templates.
      	(check_explicit_specialization): Handle and check for malformed
      	variable template specializations.
      	(lookup_template_variable): New.
      	(tsubst_decl): Handle variable template specializations.
      	(do_decl_instantiation): Handle template variables.
      	(instantiate_decl): Handle template variables.
      	* semantics.c (finish_template_variable): New.
      	(finish_id_expression): Instantiate variable templates.
      	* cp-tree.h (variable_template_p): New.
      
      From-SVN: r213641
      Braden Obrzut committed
    • Fixed text formatting · d406ae47
      From-SVN: r213640
      Edmar Wienskoski committed
    • re PR rtl-optimization/61672 (Less redundant instructions deleted by pre_delete after r208113.) · 96b3c03f
      2014-08-05  Richard Biener  <rguenther@suse.de>
      
      	PR rtl-optimization/61672
      	* emit-rtl.h (mem_attrs_eq_p): Declare.
      	* emit-rtl.c (mem_attrs_eq_p): Export.  Handle NULL mem-attrs.
      	* cse.c (exp_equiv_p): Use mem_attrs_eq_p.
      	* cfgcleanup.c (merge_memattrs): Likewise.
      	Include emit-rtl.h.
      
      From-SVN: r213638
      Richard Biener committed
    • [AArch64] Fix types for vqdmlals_lane_s32 and vqdmlsls_lane_s32 intrinsics. · b8a5fbd2
      	* config/aarch64/arm_neon.h (vqdmlals_lane_s32): Use scalar types
      	rather than singleton vectors.
      	(vqdmlsls_lane_s32): Likewise.
      
      	* gcc.target/aarch64/scalar_intrinsics.c (test_vqdmlals_lane_s32):
      	Fix types.
      	(test_vqdmlsls_lane_s32): Likewise.
      	* gcc.target/aarch64/simd/vqdmlals_lane_s32.c: Likewise.
      	* gcc.target/aarch64/simd/vqdmlsls_lane_s32.c: Likewise.
      
      From-SVN: r213636
      Kyrylo Tkachov committed
    • [AArch64] Implement some saturating math NEON intrinsics. · d2937a2e
      	* config/aarch64/aarch64-simd.md (aarch64_sqdmulh_laneq<mode>):
      	Use VSDQ_HSI mode iterator.
      	(aarch64_sqrdmulh_laneq<mode>): Likewise.
      	(aarch64_sq<r>dmulh_laneq<mode>_internal): New define_insn.
      	* config/aarch64/aarch64-simd-builtins.def (sqdmulh_laneq):
      	Use BUILTIN_VDQHS macro.
      	(sqrdmulh_laneq): Likewise.
      	* config/aarch64/arm_neon.h (vqdmlalh_laneq_s16): New intrinsic.
      	(vqdmlals_laneq_s32): Likewise.
      	(vqdmlslh_laneq_s16): Likewise.
      	(vqdmlsls_laneq_s32): Likewise.
      	(vqdmulhh_laneq_s16): Likewise.
      	(vqdmulhs_laneq_s32): Likewise.
      	(vqrdmulhh_laneq_s16): Likewise.
      	(vqrdmulhs_laneq_s32): Likewise.
      
      	* gcc.target/aarch64/simd/vqdmlalh_laneq_s16_1.c: New test.
      	* gcc.target/aarch64/simd/vqdmlals_laneq_s32_1.c: Likewise.
      	* gcc.target/aarch64/simd/vqdmlslh_laneq_s16_1.c: Likewise.
      	* gcc.target/aarch64/simd/vqdmlsls_laneq_s32_1.c: Likewise.
      	* gcc.target/aarch64/simd/vqdmulhh_laneq_s16_1.c: Likewise.
      	* gcc.target/aarch64/simd/vqdmulhs_laneq_s32_1.c: Likewise.
      	* gcc.target/aarch64/simd/vqrdmulhh_laneq_s16_1.c: Likewise.
      	* gcc.target/aarch64/simd/vqrdmulhs_laneq_s32_1.c: Likewise.
      
      From-SVN: r213635
      Kyrylo Tkachov committed
    • [AArch64] Implement some vmul*_lane*_f* intrinsics in arm_neon.h. · ada5287e
      	* config/aarch64/arm_neon.h (vmul_f64): New intrinsic.
      	(vmuld_laneq_f64): Likewise.
      	(vmuls_laneq_f32): Likewise.
      	(vmul_n_f64): Likewise.
      	(vmuld_lane_f64): Reimplement in C.
      	(vmuls_lane_f32): Likewise.
      
      	* gcc.target/aarch64/simd/vmul_f64_1.c: New test.
      	* gcc.target/aarch64/simd/vmul_n_f64_1.c: Likewise.
      	* gcc.target/aarch64/simd/vmuld_lane_f64_1.c: Likewise.
      	* gcc.target/aarch64/simd/vmuld_laneq_f64_1.c: Likewise.
      	* gcc.target/aarch64/simd/vmuls_lane_f32_1.c: Likewise.
      	* gcc.target/aarch64/simd/vmuls_laneq_f32_1.c: Likewise.
      
      From-SVN: r213634
      Kyrylo Tkachov committed
    • [ARM/AArch64] Add CRC32 scheduling information to Cortex-A53 and Cortex-A57. · ad784b91
      	* config/arm/cortex-a15.md (cortex_a15_alu_shift): Add crc type
      	to reservation.
      	* config/arm/cortex-a53.md (cortex_a53_alu_shift): Likewise.
      
      From-SVN: r213632
      Kyrylo Tkachov committed
    • [ARM] Adjust clz, rbit and rev patterns for -mrestrict-it. · 66224c7d
      	* config/arm/arm.md (clzsi2): Set predicable_short_it attr to no.
      	(rbitsi2): Likewise.
      	(*arm_rev): Set predicable and predicable_short_it attributes.
      
      From-SVN: r213630
      Kyrylo Tkachov committed
    • Correct usage of dg-require-fork in gcc.dg/torture/ftrapv-1.c · 0021b8a5
      	* gcc.dg/torture/ftrapv-1.c: Correct usage of dg-require-fork.
      
      From-SVN: r213629
      Kyrylo Tkachov committed
    • [convert.c] PR 61876: Guard transformation to lrint by -fno-math-errno. · 371e764d
      	* convert.c (convert_to_integer): Guard transformation to lrint by
      	-fno-math-errno.
      
      From-SVN: r213628
      Kyrylo Tkachov committed
    • [AArch64] Some aarch64-builtins.c cleanup. · bc5e395d
      gcc/
      
      	* config/aarch64/aarch64-builtins.c
      	(aarch64_simd_builtin_type_mode): Delete.
      	(v8qi_UP): Remap to V8QImode.
      	(v4hi_UP): Remap to V4HImode.
      	(v2si_UP): Remap to V2SImode.
      	(v2sf_UP): Remap to V2SFmode.
      	(v1df_UP): Remap to V1DFmode.
      	(di_UP): Remap to DImode.
      	(df_UP): Remap to DFmode.
      	(v16qi_UP):V16QImode.
      	(v8hi_UP): Remap to V8HImode.
      	(v4si_UP): Remap to V4SImode.
      	(v4sf_UP): Remap to V4SFmode.
      	(v2di_UP): Remap to V2DImode.
      	(v2df_UP): Remap to V2DFmode.
      	(ti_UP): Remap to TImode.
      	(ei_UP): Remap to EImode.
      	(oi_UP): Remap to OImode.
      	(ci_UP): Map to CImode.
      	(xi_UP): Remap to XImode.
      	(si_UP): Remap to SImode.
      	(sf_UP): Remap to SFmode.
      	(hi_UP): Remap to HImode.
      	(qi_UP): Remap to QImode.
      	(aarch64_simd_builtin_datum): Make mode a machine_mode.
      	(VAR1): Build builtin name.
      	(aarch64_init_simd_builtins): Remove dead code.
      
      From-SVN: r213627
      James Greenhalgh committed
    • [gcc/] · 6a12a004
      	* graphite-isl-ast-to-gimple.c:
      	(set_options): New function.
      	(scop_to_isl_ast): Add calling of set_options.
      
      From-SVN: r213623
      Roman Gareev committed
    • loop-unroll.c (struct iv_to_split): Remove n_loc and loc fields. · 8cab83f0
      	* loop-unroll.c (struct iv_to_split): Remove n_loc and loc fields.
      	(analyze_iv_to_split_insn): Don't initialize them.
      	(get_ivts_expr): Removed.
      	(allocate_basic_variable, insert_base_initialization): Use
      	SET_SRC instead of *get_ivts_expr.
      	(split_iv): Use &SET_SRC instead of get_ivts_expr.
      
      From-SVN: r213621
      Jakub Jelinek committed
    • graphite-isl-ast-to-gimple.c: Add a new struct ast_build_info. · 574921c2
      [gcc/]
      
      	* graphite-isl-ast-to-gimple.c: Add a new struct ast_build_info.
      	(translate_isl_ast_for_loop): Add checking of the 
      	flag_loop_parallelize_all.
      	(ast_build_before_for): New function.
      	(scop_to_isl_ast): Add checking of the 
      	flag_loop_parallelize_all.
      	* graphite-dependences.c: Move the defenition of the
      	scop_get_dependences from graphite-optimize-isl.c to this file.
      	(apply_schedule_on_deps): Add checking of the ux's emptiness.
      	(carries_deps): Add checking of the x's value.
      	* graphite-optimize-isl.c: Move the defenition of the
      	scop_get_dependences to graphite-dependences.c.
      	* graphite-poly.h: Add declarations of scop_get_dependences
      	and carries_deps.
      
      From-SVN: r213619
      Roman Gareev committed
    • re PR go/61308 (gccgo: ICE in Expression::check_bounds [GoSmith]) · b5975ceb
      	PR go/61308
      
      compiler: Handle enclosing vars for function type in function lit.
      
      This fixes a dumb bug in which the enclosing vars were
      incorrectly cleared when a function literal contains a
      reference to a function type.  The test for this will go into
      the master repository in the change at
      http://codereview.appspot.com/121200043 .
      
      From-SVN: r213618
      Ian Lance Taylor committed
    • re PR go/61308 (gccgo: ICE in Expression::check_bounds [GoSmith]) · 6e4f9a95
      	PR go/61308
      	PR go/61866
      
      compiler: Don't cast index expr to int before bounds check.
      
      This fixes http://gcc.gnu.org/PR61866 : on a 32-bit system,
      casting an int64 index to int drops the upper 32 bits of the
      value, and thus can cause an out-of-range index to appear to
      be in range.
      
      This undoes part of change 1318:fa6e0c716dba
      (https://codereview.appspot.com/104610044) and therefore
      breaks http://gcc.gnu.org/PR61308 again.  I have a separate
      patch for that (http://codereview.appspot.com/122020043).  In
      addition to undoing part of that change, this patch adds code
      to avoid a compiler crash.  This changes PR61308 from a
      compiler crash to an incorrect error message.
      
      From-SVN: r213616
      Ian Lance Taylor committed
    • Daily bump. · cb7b4e77
      From-SVN: r213615
      GCC Administrator committed
  3. 04 Aug, 2014 15 commits
    • runtime: Add casts to mincore call to compile on Solaris. · d79fe597
      Based on patch from Rainer Orth.
      
      From-SVN: r213599
      Ian Lance Taylor committed
    • re PR middle-end/60102 (powerpc fp-bit ices at dwf_regno) · c1b36156
      [gcc/testsuite]
      2014-08-04  Rohit  <rohitarulraj@freescale.com>
      
      	PR target/60102
      	* gcc.target/powerpc/pr60102.c: New testcase.
      
      From-SVN: r213598
      Rohit Arul Raj committed
    • re PR middle-end/60102 (powerpc fp-bit ices at dwf_regno) · 23742a9e
      	PR target/60102
      
      [libgcc]
      2014-07-31  Rohit  <rohitarulraj@freescale.com>
      	* config/rs6000/linux-unwind.h (ppc_fallback_frame_state): Update
      	  based on change in SPE high register numbers and 3 HTM registers.
      
      [gcc]
      2014-07-31  Rohit  <rohitarulraj@freescale.com>
      	* config/rs6000/rs6000.c
      	  (rs6000_reg_names) : Add SPE high register names.
      	  (alt_reg_names) : Likewise.
      	  (rs6000_dwarf_register_span) : For SPE high registers, replace
      	  dwarf register numbers with GCC hard register numbers.
      	  (rs6000_init_dwarf_reg_sizes_extra) : Likewise.
      	  (rs6000_dbx_register_number): For SPE high registers, return dwarf
      	  register number for the corresponding GCC hard register number.
      
      	* config/rs6000/rs6000.h
      	  (FIRST_PSEUDO_REGISTER) : Update based on 32 newly added GCC hard
      	  register numbers for SPE high registers.
      	  (DWARF_FRAME_REGISTERS) :  Likewise.
      	  (DWARF_REG_TO_UNWIND_COLUMN) : Likewise.
      	  (DWARF_FRAME_REGNUM) : Likewise.
      	  (FIXED_REGISTERS) : Likewise.
      	  (CALL_USED_REGISTERS) : Likewise.
      	  (CALL_REALLY_USED_REGISTERS) : Likewise.
      	  (REG_ALLOC_ORDER) : Likewise.
      	  (enum reg_class) : Likewise.
      	  (REG_CLASS_NAMES) : Likewise.
      	  (REG_CLASS_CONTENTS) : Likewise.
      	  (SPE_HIGH_REGNO_P) : New macro to identify SPE high registers.	
      
      	* gcc.target/powerpc/pr60102.c: New testcase.
      
      From-SVN: r213596
      Rohit Arul Raj committed
    • task.c (GOMP_taskgroup_end): If taskgroup->num_children is not zero... · 3696163c
      	* task.c (GOMP_taskgroup_end): If taskgroup->num_children
      	is not zero, but taskgroup->children is NULL and there are
      	any task->children, schedule those instead of waiting.
      	* testsuite/libgomp.c/depend-6.c: New test.
      	* testsuite/libgomp.c/depend-7.c: New test.
      	* testsuite/libgomp.c/depend-8.c: New test.
      	* testsuite/libgomp.c/depend-9.c: New test.
      	* testsuite/libgomp.c/depend-10.c: New test.
      
      From-SVN: r213592
      Jakub Jelinek committed
    • Remove trailing blanks. · c6d4f6b4
      From-SVN: r213591
      Arnaud Charlet committed
    • [multiple changes] · eefe9555
      2014-08-04  Claire Dross  <dross@adacore.com>
      
      	* exp_util.adb (Get_First_Parent_With_Ext_Axioms_For_Entity):
      	For an instance, look at the scope before the generic parent.
      
      2014-08-04  Yannick Moy  <moy@adacore.com>
      
      	* lib-writ.ads: Update comments.
      	* sem_disp.ads, sem_disp.adb (Inherited_Subprograms): Add
      	parameters to filter inherited subprograms.
      
      From-SVN: r213590
      Arnaud Charlet committed
    • [multiple changes] · 9a9d35ff
      2014-08-04  Robert Dewar  <dewar@adacore.com>
      
      	* gnat_rm.texi: Add section on use of address clause for memory
      	mapped I/O.
      
      2014-08-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch3.adb (Analyze_Subtype_Declaration): A subtype, in
      	particular the subtype created for a generic actual, inherits
      	invariant information from the base type.
      
      From-SVN: r213589
      Arnaud Charlet committed
    • aspects.ads, [...]: Add entries for aspect Obsolescent. · c2a2dbcc
      2014-08-04  Robert Dewar  <dewar@adacore.com>
      
      	* aspects.ads, aspects.adb: Add entries for aspect Obsolescent.
      	* gnat_rm.texi: Add documentation for aspect Obsolescent.
      	* sem_ch13.adb (Analyze_Aspect_Specifications): Implement aspect
      	Obsolescent.
      	(Check_Aspect_At_Freeze_Point): Add dummy entry for pragma Obsolescent.
      	* s-osprim-mingw.adb: Minor reformatting.
      	* sem_res.adb (Is_Atomic_Ref_With_Address): New function
      	(Resolve_Indexed_Component): Rework warnings for non-atomic access
      	(Resolve_Selected_Component): Add warnings for non-atomic access.
      
      From-SVN: r213588
      Robert Dewar committed
    • [multiple changes] · 6cf7eae6
      2014-08-04  Doug Rupp  <rupp@adacore.com>
      
      	* g-calend.adb (timeval_to_duration, duration_to_timeval): Change sec
      	formal to long_long.
      	* g-calend.ads (timeval): Bump up size to accomodate sec type.
      	* s-taprop-linux.adb (timeval_to_duration): Change sec formal to
      	long_long
      	* s-osprim-posix.adb (timeval): Bump up size to accomodate
      	new sec type.
      	(timeval_to_duration): Change sec formal to Long_Long_Integer
      	* s-osinte-darwin.adb (timeval): Bump up
      	size to accomodate new sec type.
      	(timeval_to_duration): Change sec formal to long_long
      	* s-osinte-android.adb: Likewise.
      	* cal.c (__gnat_timeal_to_duration, __gnat_duration_to_timeval): Change
      	sec formal from long to long long.
      
      2014-08-04  Robert Dewar  <dewar@adacore.com>
      
      	* sem_res.adb (Resolve_Qualified_Expression): Make sure
      	Do_Range_Check flag gets set.
      
      From-SVN: r213587
      Arnaud Charlet committed
    • [multiple changes] · bc3c2eca
      2014-08-04  Robert Dewar  <dewar@adacore.com>
      
      	* einfo.ads, einfo.adb (Is_Standard_String_Type): New function.
      	* exp_ch3.adb (Build_Array_Init_Proc): Use
      	Is_Standard_String_Type.
      	(Expand_Freeze_Array_Type): ditto.
      	(Get_Simple_Init_Val): ditto.
      	(Needs_Simple_Initialization): ditto.
      	* sem_eval.adb (Eval_String_Literal): Use Is_Standard_String_Type.
      	* sem_warn.adb (Is_Suspicious_Type): Use Is_Standard_String_Type.
      
      2014-08-04  Pascal Obry  <obry@adacore.com>
      
      	* adaint.c (__gnat_try_lock): Use _tcscpy and _tcscat instead of
      	_stprintf which insert garbage into the wfull_path buffer.
      
      2014-08-04  Arnaud Charlet  <charlet@adacore.com>
      
      	* cal.c: Remove old VMS/nucleus code. Remove obsolete vxworks
      	code.
      	* fe.h: Minor reformatting.
      
      2014-08-04  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
      
      	* cstreams.c: (_LARGEFILE_SOURCE): Guard definition.
      
      2014-08-04  Robert Dewar  <dewar@adacore.com>
      
      	* par-ch13.adb (Get_Aspect_Specifications): Improve error
      	recovery, fixing a -gnatQ bomb.
      
      From-SVN: r213586
      Arnaud Charlet committed
    • gimple-fold.h (gimple_fold_builtin): Remove. · 3daa26d0
      2014-08-04  Richard Biener  <rguenther@suse.de>
      
      	* gimple-fold.h (gimple_fold_builtin): Remove.
      	* gimple-fold.c (gimple_fold_builtin): Make static.
      	* tree-ssa-ccp.c (pass_fold_builtins::execute): Use
      	fold_stmt, not gimple_fold_builtin.
      
      From-SVN: r213585
      Richard Biener committed
    • [multiple changes] · 24d4b3d5
      2014-08-04  Yannick Moy  <moy@adacore.com>
      
      	* sem_ch3.adb (Analyze_Object_Declaration): In GNATprove mode,
      	do not generate two Itypes with the same name for an array
      	definition.
      	* sinfo.ads: Expand doc on GNATprove mode.
      
      2014-08-04  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch3.adb (Expand_Freeze_Record_Type): Set the finalization
      	master and storage pool attributes on the root type of an
      	anonymous access type.
      	* exp_ch4.adb (Expand_N_Allocator): Set the finalization master
      	and storage pool attributes on the root type of an anonymous
      	access type.
      
      2014-08-04  Arnaud Charlet  <charlet@adacore.com>
      
      	* exp_ch3.adb: Minor reformatting.
      	* tb-alvms.c, tb-alvxw.c, tb-ivms.c: Removed.
      	* tracebak.c: Remove use of above files.
      	* gcc-interface/Makefile.in: Update dependencies.
      
      2014-08-04  Pierre-Marie Derodat  <derodat@adacore.com>
      
      	* gcc-interface/utils.c (gnat_set_type_context): Also set the
      	context for parallel types' TYPE_STUB_DECL.  Do not change
      	anything if the context is already set for them.
      	(gnat_pushdecl): Update the comment for calls to
      	gnat_set_type_context to mention parallel types.
      	(add_parallel_type): When adding a context-less parallel type to
      	a type that has a context, propagate the context from the latter
      	type to the former.
      	(process_deferred_decl_context): Call gnat_set_type_context
      	rather than manually setting the type context.
      	(build_unc_object_type): Call gnat_set_type_context on the
      	template type.
      
      From-SVN: r213584
      Arnaud Charlet committed
    • [multiple changes] · 69fff50e
      2014-08-04  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch5.adb (Expand_N_Case_Statement): If a choice is a
      	subtype indication and the case statement has only two choices,
      	replace subtype indication with its range, because the resulting
      	membership test cannot have a subtype indication as an operand.
      
      2014-08-04  Arnaud Charlet  <charlet@adacore.com>
      
      	* exp_ch3.adb: Update comments, minor reformatting.
      
      From-SVN: r213583
      Arnaud Charlet committed
    • sem_ch3.adb (Analyze_Declarations): Explain why the bodies of the default… · e85f4337
      sem_ch3.adb (Analyze_Declarations): Explain why the bodies of the default initial condition procedures are build here.
      
      2014-08-04  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_ch3.adb (Analyze_Declarations): Explain why the bodies of
      	the default initial condition procedures are build here.
      	* sem_util.adb (Build_Default_Init_Cond_Procedure): Wrap the
      	analyzed argument of pragma Default_Initial_Condition in some
      	dummy code as GNATprove mode disables assertions, but still
      	needs to see the argument.
      
      From-SVN: r213582
      Hristian Kirtchev committed