Commit Graph

131763 Commits

Author SHA1 Message Date
Alan Lawrence
f901401e53 [PATCH AArch64] Prefer dup to zip for vec_perm_const; enable dup for bigendian; add testcase.
gcc/:
	* config/aarch64/aarch64.c (aarch64_evpc_dup): Enable for bigendian.
	(aarch64_expand_vec_perm_const): Check for dup before zip.

gcc/testsuite:

	* gcc.target/aarch64/vdup_n_2.c: New test.

From-SVN: r213659
2014-08-06 10:17:05 +00:00
Maciej W. Rozycki
06e105fc9b pr44194-1.c: Also exclude powerpc*-*-linux*, except if powerpc_elfv2.
* gcc.dg/pr44194-1.c: Also exclude powerpc*-*-linux*, except if
	powerpc_elfv2.

From-SVN: r213657
2014-08-06 10:02:37 +00:00
Jakub Jelinek
67fb7be7b8 re PR rtl-optimization/61801 (sched2 miscompiles syscall sequence with -g)
PR rtl-optimization/61801
	* gcc.target/i386/pr61801.c: Rewritten.

From-SVN: r213652
2014-08-06 10:40:19 +02:00
Kyrylo Tkachov
4aa81c2e6a [AArch64] Use REG_P and CONST_INT_P instead of GET_CODE + comparison.
* config/aarch64/aarch64.c (aarch64_classify_address): Use REG_P and
	CONST_INT_P instead of GET_CODE and compare.
	(aarch64_select_cc_mode): Likewise.
	(aarch64_print_operand): Likewise.
	(aarch64_rtx_costs): Likewise.
	(aarch64_simd_valid_immediate): Likewise.
	(aarch64_simd_check_vect_par_cnst_half): Likewise.
	(aarch64_simd_emit_pair_result_insn): Likewise.

From-SVN: r213651
2014-08-06 08:32:07 +00:00
GCC Administrator
0483b3636d Daily bump.
From-SVN: r213649
2014-08-06 00:16:32 +00:00
David Malcolm
17ef89b220 gdbhooks.py: add "break-on-pass" command
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
2014-08-05 21:01:47 +00:00
Trevor Saunders
6ef6945c9c fix pr62009 use after free in redirect_edge_var_map_dup
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
2014-08-05 19:52:08 +00:00
Eric Botcazou
fa12e57e0c Fix more typos.
From-SVN: r213643
2014-08-05 18:35:50 +00:00
Eric Botcazou
7bd4381cd0 Fix typos.
From-SVN: r213642
2014-08-05 18:29:21 +00:00
Braden Obrzut
4a4f287dc1 Implement constexpr variable templates
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
2014-08-05 14:24:06 -04:00
Edmar Wienskoski
d406ae470c Fixed text formatting
From-SVN: r213640
2014-08-05 14:44:36 +00:00
Richard Biener
96b3c03f4e re PR rtl-optimization/61672 (Less redundant instructions deleted by pre_delete after r208113.)
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
2014-08-05 13:05:06 +00:00
Kyrylo Tkachov
b8a5fbd280 [AArch64] Fix types for vqdmlals_lane_s32 and vqdmlsls_lane_s32 intrinsics.
* 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
2014-08-05 10:46:31 +00:00
Kyrylo Tkachov
d2937a2e3f [AArch64] Implement some saturating math NEON intrinsics.
* 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
2014-08-05 10:43:41 +00:00
Kyrylo Tkachov
ada5287e55 [AArch64] Implement some vmul*_lane*_f* intrinsics in arm_neon.h.
* 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
2014-08-05 10:39:31 +00:00
Kyrylo Tkachov
ad784b91ac [ARM/AArch64] Add CRC32 scheduling information to Cortex-A53 and Cortex-A57.
* 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
2014-08-05 10:27:07 +00:00
Kyrylo Tkachov
66224c7d68 [ARM] Adjust clz, rbit and rev patterns for -mrestrict-it.
* 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
2014-08-05 09:56:31 +00:00
Kyrylo Tkachov
0021b8a5ab Correct usage of dg-require-fork in gcc.dg/torture/ftrapv-1.c
* gcc.dg/torture/ftrapv-1.c: Correct usage of dg-require-fork.

From-SVN: r213629
2014-08-05 09:54:14 +00:00
Kyrylo Tkachov
371e764dd9 [convert.c] PR 61876: Guard transformation to lrint by -fno-math-errno.
* convert.c (convert_to_integer): Guard transformation to lrint by
	-fno-math-errno.

From-SVN: r213628
2014-08-05 09:52:21 +00:00
James Greenhalgh
bc5e395d60 [AArch64] Some aarch64-builtins.c cleanup.
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
2014-08-05 09:49:05 +00:00
Roman Gareev
6a12a0041b [gcc/]
* graphite-isl-ast-to-gimple.c:
	(set_options): New function.
	(scop_to_isl_ast): Add calling of set_options.

From-SVN: r213623
2014-08-05 08:42:09 +00:00
Jakub Jelinek
8cab83f05f loop-unroll.c (struct iv_to_split): Remove n_loc and loc fields.
* 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
2014-08-05 10:09:00 +02:00
Roman Gareev
574921c272 graphite-isl-ast-to-gimple.c: Add a new struct ast_build_info.
[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
2014-08-05 03:41:29 +00:00
Ian Lance Taylor
b5975cebfb re PR go/61308 (gccgo: ICE in Expression::check_bounds [GoSmith])
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
2014-08-05 03:11:17 +00:00
Ian Lance Taylor
6e4f9a957e re PR go/61308 (gccgo: ICE in Expression::check_bounds [GoSmith])
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
2014-08-05 02:58:15 +00:00
GCC Administrator
cb7b4e7717 Daily bump.
From-SVN: r213615
2014-08-05 00:16:51 +00:00
Ian Lance Taylor
d79fe5971a runtime: Add casts to mincore call to compile on Solaris.
Based on patch from Rainer Orth.

From-SVN: r213599
2014-08-04 17:54:09 +00:00
Rohit Arul Raj
c1b361560f re PR middle-end/60102 (powerpc fp-bit ices at dwf_regno)
[gcc/testsuite]
2014-08-04  Rohit  <rohitarulraj@freescale.com>

	PR target/60102
	* gcc.target/powerpc/pr60102.c: New testcase.

From-SVN: r213598
2014-08-04 16:55:07 +00:00
Rohit Arul Raj
23742a9e1b re PR middle-end/60102 (powerpc fp-bit ices at dwf_regno)
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
2014-08-04 16:34:34 +00:00
Jakub Jelinek
62c986afde * runtime/memory.c (xmallocarray): Avoid division for the common case.
From-SVN: r213593
2014-08-04 17:46:33 +02:00
Jakub Jelinek
3696163cb4 task.c (GOMP_taskgroup_end): If taskgroup->num_children is not zero...
* 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
2014-08-04 17:45:50 +02:00
Arnaud Charlet
c6d4f6b465 Remove trailing blanks.
From-SVN: r213591
2014-08-04 15:39:17 +02:00
Arnaud Charlet
eefe955597 [multiple changes]
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
2014-08-04 15:20:30 +02:00
Arnaud Charlet
9a9d35ffaa [multiple changes]
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
2014-08-04 15:19:06 +02:00
Robert Dewar
c2a2dbcc6b aspects.ads, [...]: Add entries for aspect Obsolescent.
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
2014-08-04 15:17:46 +02:00
Arnaud Charlet
6cf7eae689 [multiple changes]
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
2014-08-04 15:16:24 +02:00
Arnaud Charlet
bc3c2eca1a [multiple changes]
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
2014-08-04 15:09:07 +02:00
Richard Biener
3daa26d0e9 gimple-fold.h (gimple_fold_builtin): Remove.
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
2014-08-04 13:08:34 +00:00
Arnaud Charlet
24d4b3d500 [multiple changes]
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
2014-08-04 15:02:44 +02:00
Arnaud Charlet
69fff50e08 [multiple changes]
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
2014-08-04 14:58:06 +02:00
Hristian Kirtchev
e85f4337c3 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
2014-08-04 14:55:46 +02:00
Robert Dewar
135da41f0d exp_ch6.adb, [...]: Minor reformatting.
2014-08-04  Robert Dewar  <dewar@adacore.com>

	* exp_ch6.adb, sem_util.adb: Minor reformatting.

From-SVN: r213581
2014-08-04 14:54:59 +02:00
Arnaud Charlet
6a74a7b056 [multiple changes]
2014-08-04  Olivier Hainque  <hainque@adacore.com>

	* a-comutr.ads: Set Root_Node_Type'Alignment to
	Standard'Maximum_Alignment, so that it is at least as large as
	the max default for Tree_Node_Type'Alignment.

2014-08-04  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch3.adb (Freeze_Type): Remove the generation and inheritance
	of the default initial condition procedure [body].
	* sem_ch3.adb (Analyze_Declarations): Create the bodies of
	all default initial condition procedures at the end of private
	declaration analysis.
	* sem_util.adb (Build_Default_Init_Cond_Procedure_Bodies): New
	routine.
	(Build_Default_Init_Cond_Procedure_Body): Merged in the
	processing of routine Build_Default_Init_Cond_Procedure_Bodies.
	* sem_util.ads (Build_Default_Init_Cond_Procedure_Bodies):
	New routine.
	(Build_Default_Init_Cond_Procedure_Body): Removed.

2014-08-04  Ed Schonberg  <schonberg@adacore.com>

	* sem_elab.adb (Check_Elab_Call): Do not check a call to a
	postcondtion.
	* exp_ch6.adb (Expand_Call): Clarify handling of inserted
	postcondition call.

From-SVN: r213580
2014-08-04 14:53:23 +02:00
Arnaud Charlet
51dcceecdf [multiple changes]
2014-08-04  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_prag.adb (Analyze_Pragma): Ensure that an
	internally generated spec for a stand alone body is recognized
	as a proper context for pragma SPARK_Mode.

2014-08-04  Robert Dewar  <dewar@adacore.com>

	* erroutc.adb (Delete_Msg): Do not decrement Warnings_Treated_As_Errors.

2014-08-04  Arnaud Charlet  <charlet@adacore.com>

	* adabkend.adb (Scan_Back_End_Switches): Ignore extra -o
	when -gnatO has already been specified, for compatibility
	with gcc driver.
	(Scan_Compiler_Args): Do not call Set_Output_Object_File_Name in
	codepeer mode.
	* g-expect.ads: Fix typo.

2014-08-04  Thomas Quinot  <quinot@adacore.com>

	* exp_ch4.adb (Insert_Dereference_Action): the actual Size
	must account for the bounds template if the designated type is
	an unconstrained array.

From-SVN: r213579
2014-08-04 14:51:00 +02:00
Hristian Kirtchev
df9107226f 2014-08-04 Hristian Kirtchev <kirtchev@adacore.com>
* a-cfhama.adb, a-cfhase.adb, a-cforma.adb, a-cforse.adb Add
	SPARK_Mode in the body.
	* sem_ch7.adb (Analyze_Package_Body_Helper): Restore the original
	way to verify the consistency of SPARK_Mode between a spec and
	a body.
	* sem_ch12.adb (Analyze_Package_Instantiation): Remove the call
	to Set_Ignore_Pragma_SPARK_Mode. Set flag Ignore_Pragma_SPARK_Mode
	manually.
	(Analyze_Subprogram_Instantiation): Remove the call to
	Set_Ignore_Pragma_SPARK_Mode. Set flag Ignore_Pragma_SPARK_Mode
	manually.
	* sem_prag.adb (Analyze_Pragma): Remove local variable
	Inst_Id. SPARK_Mode can no longer be applied to a package or
	subprogram instantiation.
	* sem_util.adb, sem_util.ads (Set_Ignore_Pragma_SPARK_Mode):
	Removed.

From-SVN: r213578
2014-08-04 14:49:23 +02:00
Arnaud Charlet
4ff2b6dcc9 [multiple changes]
2014-08-04  Robert Dewar  <dewar@adacore.com>

	* sem_prag.adb, osint.adb, osint.ads: Minor reformatting.

2014-08-04  Yannick Moy  <moy@adacore.com>

	* sem_ch3.adb (Derive_Type_Declaration,
	Process_Discriminants): Remove SPARK-specific legality checks.

2014-08-04  Thomas Quinot  <quinot@adacore.com>

	* g-sechas.ads, g-sechas.adb (HMAC_Initial_Context): New subprogram.
	* gnat_rm.texi (GNAT.MD5/SHA1/SHA224/SHA256/SHA512): Document support
	for HMAC.

From-SVN: r213577
2014-08-04 14:47:56 +02:00
Hristian Kirtchev
e72a92e447 sem_ch7.adb (Analyze_Package_Body_Helper): When verifying the compatibility of SPARK_Mode between a spec and a body...
2014-08-04  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_ch7.adb (Analyze_Package_Body_Helper): When verifying the
	compatibility of SPARK_Mode between a spec and a body, use the
	SPARK_Mode of the public part.
	* sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): Use
	the already available routine to exchange the aspects between
	the template and its copy. Analyze the aspects of copy to
	ensure that the corresponding pragmas perform their semantic
	effects.  The partial analysis of aspects is no longer needed.
	(Analyze_Package_Instantiation): Save and restore the SPARK_Mode
	of the context.
	(Analyze_Subprogram_Instantiation): Save and restore the SPARK_Mode of
	the context.
	* sem_prag.adb (Analyze_Pragma): Do not bypass a subprogram
	instantiation which does not come from source.

From-SVN: r213576
2014-08-04 14:45:12 +02:00
Arnaud Charlet
f1c7be38ad [multiple changes]
2014-08-04  Hristian Kirtchev  <kirtchev@adacore.com>

	* a-cfhama.ads, a-cfhase.ads, a-cforma.ads, a-cforse.ads Add
	SPARK_Mode pragmas to the public and private part of the unit.
	* sem_ch3.adb (Derive_Type_Declaration): Ensure that a derived
	type cannot have discriminants if the parent type already has
	discriminants.
	(Process_Discriminants): Ensure that the type of a discriminant is
	discrete.
	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): The check on
	SPARK_Mode compatibility between a spec and a body can now be
	safely performed while processing a generic.
	* sem_ch7.adb (Analyze_Package_Body_Helper): The check on
	SPARK_Mode compatibility between a spec and a body can now be
	safely performed while processing a generic.
	* sem_prag.adb (Analyze_Pragma): Pragma SPARK_Mode can now be
	safely analyzed when processing a generic.

2014-08-04  Nicolas Roche  <roche@adacore.com>

	* g-dirope.adb: Minor reformating.

From-SVN: r213575
2014-08-04 14:42:52 +02:00
Martin Liska
31acf1bb11 IPA C++ refactoring 3/N
* cgraph.h (csi_end_p): Removed.
	(csi_next): Likewise.
	(csi_node): Likewise.
	(csi_start): Likewise.
	(cgraph_node_in_set_p): Likewise.
	(cgraph_node_set_size): Likewise.
	(vsi_end_p): Likewise.
	(vsi_next): Likewise.
	(vsi_node): Likewise.
	(vsi_start): Likewise.
	(varpool_node_set_size): Likewise.
	(cgraph_node_set_nonempty_p): Likewise.
	(varpool_node_set_nonempty_p): Likewise.
	* cgraphunit.c (cgraph_process_new_functions): vec replaces
	cgraph_node_set.
	* ipa-inline-transform.c: Likewise.
	* ipa-utils.c (cgraph_node_set_new): Removed.
	(cgraph_node_set_add): Likewise.
	(cgraph_node_set_remove): Likewise.
	(cgraph_node_set_find): Likewise.
	(dump_cgraph_node_set): Likewise.
	(debug_cgraph_node_set): Likewise.
	(free_cgraph_node_set): Likewise.
	(varpool_node_set_new): Likewise.
	(varpool_node_set_add): Likewise.
	(varpool_node_set_remove): Likewise.
	(varpool_node_set_find): Likewise.
	(dump_varpool_node_set): Likewise.
	(free_varpool_node_set): Likewise.
	(debug_varpool_node_set): Likewise.
	* tree-emutls.c (struct tls_var_data):
	(emutls_index): Removed.
	(emutls_decl): Likewise.
	(gen_emutls_addr): Function implementation uses newly added
	hash_map<varpool_node *, tls_var_data>.
	(clear_access_vars): Likewise.
	(create_emultls_var): Likewise.
	(ipa_lower_emutls): Likewise.
	(reset_access): New function.

From-SVN: r213573
2014-08-04 11:56:50 +00:00
Ganesh Gopalasubramanian
890e586486 Add MOVBE and RDRND for AMD bdver4
From-SVN: r213572
2014-08-04 11:25:04 +00:00