1. 21 Nov, 2014 13 commits
  2. 20 Nov, 2014 27 commits
    • Disable an unsafe VRP transformation when -fno-strict-overflow is set · 7ac753f9
      gcc/
      	* tree-vrp.c (test_for_singularity): New parameter
      	strict_overflow_p.  Set *strict_overflow_p to true if signed
      	overflow must be undefined for the return value to satisfy the
      	conditional.
      	(simplify_cond_using_ranges): Don't perform the simplification
      	if it violates overflow rules.
      
      gcc/testsuite/
      	* gcc.dg/no-strict-overflow-8.c: New test.
      
      From-SVN: r217895
      Patrick Palka committed
    • re PR c++/63959 (G++ misreports volatile int as trivially copyable) · 75bda2e8
      	PR c++/63959
      	* tree.c (trivially_copyable_p): Check for CP_TYPE_VOLATILE_P.
      
      From-SVN: r217893
      Ville Voutilainen committed
    • Warn on undefined loop exit. · 48067724
      2014-11-20  Andrew Stubbs  <ams@codesourcery.com>
      
      	gcc/
      	* tree-ssa-loop-niter.c (maybe_lower_iteration_bound): Warn if a loop
      	condition would be removed due to undefined behaviour.
      
      	gcc/testsuite/
      	* gcc.dg/undefined-loop-1.c: New file.
      	* gcc.dg/undefined-loop-2.c: New file.
      
      From-SVN: r217891
      Andrew Stubbs committed
    • re PR target/63981 (some C++ tests fail with -mabi=ilp32 on aarch64 (with -O2 and above)) · ea6a433c
      2014-11-20  Andrew Pinski  <apinski@cavium.com>
      
              PR ipa/63981
              PR ipa/63982
              * ipa-polymorphic-call.c (possible_placement_new):
              Use POINTER_SIZE instead of GET_MODE_BITSIZE (Pmode).
              (ipa_polymorphic_call_context::restrict_to_inner_class): Likewise.
              (extr_type_from_vtbl_ptr_store): Likewise.
      
      From-SVN: r217889
      Andrew Pinski committed
    • re PR target/63981 (some C++ tests fail with -mabi=ilp32 on aarch64 (with -O2 and above)) · b30df7b6
      2014-11-20  Andrew Pinski  <apinski@cavium.com>
      
              PR ipa/63981
              * ipa-polymorphic-call.c (possible_placement_new):
              Use POINTER_SIZE instead of GET_MODE_BITSIZE (Pmode).
              (ipa_polymorphic_call_context::restrict_to_inner_class): Likewise.
              (extr_type_from_vtbl_ptr_store): Likewise.
      
      From-SVN: r217888
      Andrew Pinski committed
    • PR63426 Fix various signed integer overflows · d7ca26e4
      Running the testsuite after bootstrap-ubsan on gcc112 shows several issues. See
      https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63426 for the full list.
      
      This patch fixes several of them.
      
      2014-11-20  Markus Trippelsdorf  <markus@trippelsdorf.de>
      
      	* config/rs6000/constraints.md: Avoid signed integer overflows.
      	* config/rs6000/predicates.md: Likewise.
      	* config/rs6000/rs6000.c (num_insns_constant_wide): Likewise.
      	(includes_rldic_lshift_p): Likewise.
      	(includes_rldicr_lshift_p): Likewise.
      	* emit-rtl.c (const_wide_int_htab_hash): Likewise.
      	* loop-iv.c (determine_max_iter): Likewise.
      	(iv_number_of_iterations): Likewise.
      	* tree-ssa-loop-ivopts.c (get_computation_cost_at): Likewise.
      	* varasm.c (get_section_anchor): Likewise.
      
      From-SVN: r217886
      Markus Trippelsdorf committed
    • re PR target/63870 ([Aarch64] [ARM] Errors in use of NEON intrinsics are reported incorrectly) · 46ed6024
              PR target/63870
              * config/aarch64/aarch64-builtins.c (aarch64_simd_expand_args): Pass
              expression to aarch64_simd_lane_bounds.
              * config/aarch64/aarch64-protos.h (aarch64_simd_lane_bounds): Update
              prototype.
              * config/aarch64/aarch64-simd.md: (aarch64_combinez<mode>): Update
              call to aarch64_simd_lane_bounds.
              (aarch64_get_lanedi): Likewise.
              (aarch64_ld2_lane<mode>): Likewise.
              (aarch64_ld3_lane<mode>): Likewise.
              (aarch64_ld4_lane<mode>): Likewise.
              (aarch64_im_lane_boundsi): Likewise.
              * config/aarch64/aarch64.c (aarch64_simd_lane_bounds): Add exp
              parameter. Report calling function in error message if exp is non-NULL.
      
      From-SVN: r217885
      Charles Baylis committed
    • re PR ada/63931 (Ada libraries use 5.0 as LIB_VERSION) · a6e76bcb
      	PR ada/63931                                   
      	* gnatvsn.ads (Library_Version): Switch to "5".
      
      From-SVN: r217884
      Arnaud Charlet committed
    • re PR target/60111 ([SH] ICE compiling Newlib) · f3101b31
      2014-11-20  Segher Boessenkool  <segher@kernel.crashing.org>
      
      	PR target/60111
      	* config/sh/sh.c: Use signed char for signed field.
      
      From-SVN: r217883
      Segher Boessenkool committed
    • [multiple changes] · 572f38e4
      2014-11-20  Thomas Quinot  <quinot@adacore.com>
      
      	* freeze.adb (Freeze_Entity): Do not reset Is_True_Constant
      	for aliased constant objects.
      
      2014-11-20  Robert Dewar  <dewar@adacore.com>
      
      	* exp_util.adb (Following_Address_Clause): Use new Name_Table
      	boolean flag set by parser to avoid the search if there is no
      	address clause anywhere for the name.
      	* namet.adb (Name_Enter): Initialize Boolean_Info flag
      	(Name_Find): ditto (Reinitialize): ditto (Get_Name_Table_Boolean):
      	New function (Set_Name_Table_Boolean): New procedure
      	* namet.ads: Add and document new Boolean field in name table
      	(Get_Name_Table_Boolean): New function.
      	(Set_Name_Table_Boolean): New procedure.
      	* par-ch13.adb (P_Representation_Clause): Set Name_Table boolean
      	flag for an identifier name if we detect an address clause or
      	use-at clause for the identifier.
      	* sem_ch3.adb (Analyze_Object_Declaration): Remove comment about
      	Following_Address_Clause since this function is now optimized
      	and is not a performance concern.
      	* sem_prag.adb (Analyze_Pragma, case Elaborate): In SPARK
      	mode, pragma Elaborate is now allowed, but does not suppress
      	elaboration checking.
      
      From-SVN: r217882
      Arnaud Charlet committed
    • Makefile.in: Add some support for VxWorks7. · 28eccd34
      2014-11-20  Jerome Lambourg  <lambourg@adacore.com>
      
      	* gcc-interface/Makefile.in: Add some support for VxWorks7.
      
      From-SVN: r217881
      Jerome Lambourg committed
    • [multiple changes] · bcdb6b04
      2014-11-20  Thomas Quinot  <quinot@adacore.com>
      
      	* sem_ch13.adb, freeze.adb: Minor reformatting.
      	* gnat_rm.texi: Minor editing.
      
      2014-11-20  Robert Dewar  <dewar@adacore.com>
      
      	* sem_prag.adb (Analyze_Pragma): Minor reformatting.
      	(Process_Suppress_Unsuppress): Ignore suppress Elaboration_Check
      	in SPARK.
      
      2014-11-20  Bob Duff  <duff@adacore.com>
      
      	* gnat_rm.texi: Correction to documentation of
      	'Unrestricted_Access in case of access to unconstrained array.
      	* a-cofove.adb (Capacity): Fix bug -- was always
      	returning Capacity_Range'Last.
      	(Is_Sorted): Fix bug -- was always returning True, because
      	Container.Last = Last. That test isn't even needed, because the
      	loop will go around zero times in that case, so deleted that
      	test rather than fixing it.
      	(Reverse_Elements): Make sure to use the correct array bounds.
      
      2014-11-20  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch12.adb (Analyze_Associations): In GNATProve mode, build
      	wrappers for functions and operators that are actuals only if
      	expander is enabled. Wrappers play no role within a generic unit.
      
      2014-11-20  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_util.adb (Policy_In_Effect): Use the
      	configuration level assertion flag.
      
      From-SVN: r217880
      Arnaud Charlet committed
    • [multiple changes] · d7d99211
      2014-11-20  Arnaud Charlet  <charlet@adacore.com>
      
      	* s-parame-ae653.ads: Update comments.
      
      2014-11-20  Robert Dewar  <dewar@adacore.com>
      
      	* types.ads, einfo.ads: Minor reformatting.
      	* sem_elab.adb (Check_A_Call): Add guard for reference to Alias
      	for variable case.
      
      2014-11-20  Bob Duff  <duff@adacore.com>
      
      	* a-cofove.adb (Elems,Elemsc): Use access-to-constrained arrays
      	instead of access-to-unconstrained, because the latter doesn't
      	work with 'Unrestricted_Access when the result is returned from
      	a function.
      	* a-cofove.ads (Vector): Move the discriminant-dependent array
      	after the other components for efficiency. Otherwise the compiler
      	will generate a lot of code to calculate the offset of the other
      	components every time they're accessed.
      
      2014-11-20  Olivier Hainque  <hainque@adacore.com>
      
      	* opt.ads: Fix comment on Generate_SCO_Instance_Table wrt when
      	it is set to true.
      
      From-SVN: r217879
      Arnaud Charlet committed
    • [multiple changes] · de4899bb
      2014-11-20  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch3.adb (Expand_N_Object_Declaration): Handle properly
      	a type invariant check on an object with default initialization
      	and an address clause.
      
      2014-11-20  Robert Dewar  <dewar@adacore.com>
      
      	* sem_elab.adb (Check_A_Call): Handle variable ref case in
      	SPARK (Check_Elab_Call): ditto (Find_Elab_Reference): ditto
      	(Get_Referenced_Ent): ditto.
      	* sem_elab.ads: Comment fixes to account for the fact that we
      	now deal with variable references in SPARK mode.
      	* sem_res.adb (Resolve_Entity_Name): In SPARK_Mode Call
      	Check_Elab_Call for variable.
      
      2014-11-20  Yannick Moy  <moy@adacore.com>
      
      	* a-cofove.ads (Copy): Fix precondition, which should allow
      	Capacity = 0.
      	(First_To_Previous, Current_To_Last): Add necessary preconditions.
      
      From-SVN: r217878
      Arnaud Charlet committed
    • [multiple changes] · 8c691dc6
      2014-11-20  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch3.adb (Build_Initialization_Call): Reimplement the
      	circuitry which extraacts the [underlying] full view of a
      	private type to handle a case where the private type acts as a
      	generic actual.
      	* exp_ch5.adb (Expand_Iterator_Loop_Over_Array): Inherit the
      	loop label form the original loop regardless of whether it came
      	from source.
      	* sem_attr.adb (Analyze_Attribute): When taking 'Access of an
      	expression function with a generated body that has not been
      	analyzed yet, analyze the body to freeze the expression.
      	* sem_util.adb (Set_Public_Status_Of): New routine.
      	(Transfer_Entities): Handle the case where a private type with
      	an internally generated full view is being transfered and update
      	its full view.
      
      2014-11-20  Vincent Celier  <celier@adacore.com>
      
      	* prj-nmsc.adb (Check_Object): If a unit is in a multi-source
      	file, its object file is never the same as any other unit.
      
      2014-11-20  Bob Duff  <duff@adacore.com>
      
      	* s-taskin.adb (Initialize_ATCB): Take into
      	account the fact that the domain of the activator can be null
      	if we're initializing a foreign task.
      
      From-SVN: r217877
      Arnaud Charlet committed
    • [multiple changes] · 1e2d79e2
      2014-11-20  Robert Dewar  <dewar@adacore.com>
      
      	* sem_ch12.adb: Minor reformatting.
      
      2014-11-20  Jerome Lambourg  <lambourg@adacore.com>
      
      	* s-osinte-vxworks.ads: Add comments. Minor reformatting.
      
      2014-11-20  Yannick Moy  <moy@adacore.com>
      
      	* sem_prag.adb, sem_elab.adb: Minor rewording of error message in
      	SPARK mode, for consistency.
      
      From-SVN: r217876
      Arnaud Charlet committed
    • [multiple changes] · 0e290c54
      2014-11-20  Vasiliy Fofanov  <fofanov@adacore.com>
      
      	* gnat_ugn.texi: New section on gnattest stubbing. Minor
      	reformatting.
      
      2014-11-20  Jerome Lambourg  <lambourg@adacore.com>
      
      	* s-taprop-vxworks.adb (Create_Task): Fix thread comparison.
      	Minor reformatting.
      
      From-SVN: r217875
      Arnaud Charlet committed
    • [multiple changes] · 596f7139
      2014-11-20  Robert Dewar  <dewar@adacore.com>
      
      	* s-tassta.adb, exp_aggr.adb, s-taskin.adb, exp_strm.adb: Minor
      	reformatting.
      	* comperr.adb (Compiler_Abort): New wording for bug box.
      	* par-ch13.adb: Minor reformatting.
      	* par-ch3.adb (P_Identifier_Declarations): Handle aspect
      	specifications given before initialization expression in object
      	declaration cleanly.
      	* gnat1drv.adb (Adjust_Global_Switches): Make sure static
      	elaboration mode is set if we are operating in SPARK mode.
      	* sem_ch12.adb (Analyze_Package_Instantiation): Make
      	sure static elab mode is set if we are in SPARK mode.
      	(Analyze_Subprogram_Instantiation): ditto.
      	(Set_Instance_Env): ditto.
      	* sem_elab.adb (Check_A_Call): In SPARK mode, we require
      	Elaborate_All in the case of a call during elaboration to a
      	subprogram in another unit.
      
      2014-11-20  Ed Schonberg  <schonberg@adacore.com>
      
      	* inline.adb (Can_Split_Unconstrained_Function,
      	Build_Procedure): Copy parameter type rather than creating
      	reference to the entity, to capture class-wide reference, whose
      	name is not retrieved by visibility.
      
      From-SVN: r217874
      Arnaud Charlet committed
    • [multiple changes] · 7e4f00b4
      2014-11-20  Arnaud Charlet  <charlet@adacore.com>
      
      	* s-taspri-solaris.ads: Replace 64 by long_long_integer'size.
      
      2014-11-20  Olivier Hainque  <hainque@adacore.com>
      
      	* init.c (__gnat_map_signal for VxWorks): Use a common mapping
      	scheme for VxWorks version >= 6, instead of falling back to the
      	vx5 scheme for versions > 6.
      
      2014-11-20  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_strm.adb (Build_Mutable_Record_Read_Procedure): Use
      	base type when constructing subtype indication for constrained
      	target object.
      
      2014-11-20  Jose Ruiz  <ruiz@adacore.com>
      
      	* projects.texi: Minor spelling fix.
      
      2014-11-20  Bob Duff  <duff@adacore.com>
      
      	* gnat_ugn.texi: Add doc for --split-line-before-op switch in gnatpp.
      
      2014-11-20  Vincent Celier  <celier@adacore.com>
      
      	* prj-attr.adb (Register_New_Package): Allow the registration
      	of an already unknown package and make it known.
      
      From-SVN: r217873
      Arnaud Charlet committed
    • convert trans-mem to hash_table · 50979347
      gcc/
      
      	* cfgexpand.c, gimple-ssa.h, trans-mem.c: Replace htab with
      	hash_table.
      
      From-SVN: r217872
      Trevor Saunders committed
    • remove more ggc htabs · 907dadbd
      gcc/
      
      	* ipa-utils.c, lto-section-in.c, lto-streamer.h,
      	tree-scalar-evolution.c: Replace htab with hash_table.
      
      lto/
      
      	* lto.c: Replace htab with hash_table.
      
      From-SVN: r217871
      Trevor Saunders committed
    • use vec in lto_tree_ref_table · 9c71e9df
      gcc/ChangeLog:
      
      2014-11-20  Trevor Saunders  <tsaunders@mozilla.com>
      
      	* lto-section-in.c (lto_delete_in_decl_state): Adjust.
      	(lto_free_function_in_decl_state): Likewise.
      	* lto-streamer-out.c (copy_function_or_variable): Likewise.
      	* lto-streamer.h (lto_file_decl_data_get_ ## name): Likewise.
      	(lto_file_decl_data_num_ ## name ## s): Likewise.
      	(struct lto_tree_ref_table): Remove.
      	(struct lto_in_decl_state): Replace lto_tree_ref_table with vec<tree>.
      
      gcc/lto/ChangeLog:
      
      2014-11-20  Trevor Saunders  <tsaunders@mozilla.com>
      
      	* lto.c (lto_read_in_decl_state): Adjust.
      	(lto_fixup_state): Likewise.
      
      From-SVN: r217870
      Trevor Saunders committed
    • remove param1_is usage · de144fb2
      gcc/
      
      	* hash-map.h (hash_map::iterator): New class.
      	(hash_map::begin): New method.
      	(hash_map::end): Likewise.
      	* alias.c, config/alpha/alpha.c, dwarf2asm.c, omp-low.c, tree.h:
      	replace splay_tree with hash_map.
      
      From-SVN: r217869
      Trevor Saunders committed
    • fix hash_table when empty elements are not 0 · 1f012f56
      gcc/ChangeLog:
      
      2014-11-20  Trevor Saunders  <tsaunders@mozilla.com>
      
      	* hash-table.h (hash_table::hash_table): Call alloc_entries.
      	(hash_table::alloc_entries): new method.
      	(hash_table::expand): Call alloc_entries.
      	(hash_table::empty): Likewise.
      
      From-SVN: r217868
      Trevor Saunders committed
    • convert many if_marked htab to hash_table · d242408f
      ada/
      
      	* gcc-interface/decl.c, gcc-interface/utils.c: replace htab with
      	hash_table.
      
      cp/
      
      	* cp-objcp-common.c: Use hash_table instead of htab.
      
      gcc/
      
      	* config/i386/i386.c, function.c, trans-mem.c, tree-core.h,
      	tree.c, tree.h, ubsan.c, varasm.c: Use hash_table instead of htab.
      
      From-SVN: r217867
      Trevor Saunders committed
    • implement a replacement for if_marked · aebf76a2
      gcc/ChangeLog:
      
      2014-11-20  Trevor Saunders  <tsaunders@mozilla.com>
      
      	* doc/gty.texi: Document the new cache gty attribute.
      	* gengtype.c (finish_cache_funcs): New function.
      	(write_roots): Call gt_clear_cache on global variables with the cache
      	gty attribute.
      	* ggc-common.c (ggc_mark_roots): Call gt_clear_caches.
      	* ggc.h (gt_clear_caches): New declaration.
      	* hash-table.h (struct ggc_cache_hasher): New hasher for caches in gc
      	memory.
      	(gt_cleare_cache): New function.
      	* emit-rtl.c, rtl.h, tree.c: Use hash_table instead of htab.
      
      From-SVN: r217866
      Trevor Saunders committed