Commit Graph

131594 Commits

Author SHA1 Message Date
Vincent Celier
3849c24686 debug.adb: Remove doc for gnatmake/gprbuild switch -ds.
2014-08-01  Vincent Celier  <celier@adacore.com>

	* debug.adb: Remove doc for gnatmake/gprbuild switch -ds.
	* make.adb (List_Bad_Compilations): Use Opt.No_Exit_Message
	instead of Debug.Debug_Flag_S.
	* makeutl.adb (Finish_Program, Fail_Program): Use Opt flag
	No_Exit_Message instead of Debug.Debug_Flag_S to suppress exit
	error messages.
	* makeutl.ads (No_Exit_Message_Option): New constant string
	for switch --no-exit-message.
	* opt.ads (No_Exit_Message): New Boolean flag, defaulted to False.
	* switch-m.adb (Scan_Make_Switches): Recognize new switch
	--no-exit-message.

From-SVN: r213424
2014-08-01 10:34:02 +02:00
Arnaud Charlet
16b10ccc1f [multiple changes]
2014-08-01  Arnaud Charlet  <charlet@adacore.com>

	* exp_vfpt.adb, exp_vfpt.ads: Removed, no longer used.
	* gcc-interface/Make-lang.in: Remove exp_vfpt.o

2014-08-01  Javier Miranda  <miranda@adacore.com>

	* inline.ads (Inlined_Calls, Backend_Calls,
	Backend_Inlined_Subps, Backend_Not_Inlined_Subps): Declarations
	moved to inline.adb (Cannot_Inline): Update documentation.
	(Check_And_Build_Body_To_Inline): Renamed.
	(List_Inlining_Info): Subprogram moved here from package exp_ch6.
	* inline.adb (Check_Inlining_Restrictions): New local variable.
	(Inlined_Calls, Backend_Calls, Backend_Inlined_Subps,
	Backend_Not_Inlined_Subps): Declarations moved here
	from inline.ads (Number_Of_Statements): Removed.
	(Remove_Pragmas): Avoid duplicated version of this subprogram.
	(Build_Body_To_Inline): Code cleanup.
	(Build_Body_To_Inline.Has_Excluded_Statament): Removed.
	(Check_And_Build_Body_To_Inline): Renamed. Code cleanup.
	(Check_Body_To_Inline): Removed.
	(Generate_Body_To_Inline): Renamed as Generate_Subprogram_Body.
	(Has_Excluded_Declaration): No action if not
	Check_Inlining_Restrictions.
	(Has_Excluded_Statement): No action if not Check_Inlining_Restrictions.
	(Initialize): Initialize the lists of inlined calls and subprograms.
	(List_Inlining_Info): Subprogram moved here from package exp_ch6.
	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Update call
	to Check_And_Build_Body_To_Inline since it has been renamed as
	Check_And_Split_Unconstrained_Function
	* exp_ch6.ad[sb] (List_Inlining_Info): Subprogram moved to
	package inline.
	* gnat1drv.adb Update call to Inline.List_Inlining_Info.

2014-08-01  Vincent Celier  <celier@adacore.com>

	* debug.adb: Add documentation for new debug switch -ds.
	* make.adb (List_Bad_Compilations): Do not issue any message
	when switch -ds is specified.
	* makeutl.adb (Fail_Program): Do not issue any message when
	-ds is specified.
	(Finish_Program): Ditto.

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

	* s-exnint.adb, s-exnint.ads, s-wwdwch.ads, s-carsi8.ads,
	s-casi32.ads, indepsw.adb, a-timoau.ads, s-explli.adb, s-explli.ads,
	s-casi16.ads, s-powtab.ads, g-wistsp.ads, a-ztmoau.adb,
	indepsw-gnu.adb, s-imgllb.ads, types.adb, gnat.ads, s-proinf.adb,
	indepsw-aix.adb, s-caun64.ads, s-imgllw.ads, s-traces-default.adb,
	s-vxwork-x86.ads, s-expllu.adb, s-exnlli.adb, s-exnlli.ads,
	s-traces.adb, widechar.ads, stand.adb, s-expint.adb,
	s-tratas-default.adb, s-expint.ads, s-geveop.ads, s-caun32.ads,
	s-expuns.adb, s-mantis.adb, s-mantis.ads, s-caun16.ads, s-tasinf.adb,
	s-memcop.ads, s-dsaser.ads, s-imgbiu.ads, a-szmzco.ads, g-strspl.ads,
	s-casi64.ads, g-zstspl.ads, indepsw-mingw.adb, tree_io.adb,
	s-boarop.ads, uname.ads, s-fore.adb, s-fore.ads, g-timsta.adb,
	g-timsta.ads, s-assert.adb, s-vector.ads, s-tratas.adb,
	s-tratas.ads: Minor fix to copyright notices.

2014-08-01  Eric Botcazou  <ebotcazou@adacore.com>

	* sinfo.ads: Remove long obsolete comment.

From-SVN: r213423
2014-08-01 10:32:27 +02:00
Ed Schonberg
de65e0e4ec sem_util.adb: Add guard to setting of No_Predicate_On_Actual.
* sem_util.adb: Add guard to setting of No_Predicate_On_Actual.
       * sem_ch3.adb: Minor reformatting.

From-SVN: r213422
2014-08-01 10:26:57 +02:00
Ed Schonberg
5e01ce1266 sem_util.adb: Add guard to setting of No_Predicate_On_Actual.
2014-08-01  Ed Schonberg  <schonberg@adacore.com>

	* sem_util.adb: Add guard to setting of No_Predicate_On_Actual.
	* sem_ch3.adb: Minor reformatting.

From-SVN: r213421
2014-08-01 10:24:57 +02:00
Pascal Obry
8616f0a2d8 cstreams.c: Only enable large file support on know supported platforms.
2014-08-01  Pascal Obry  <obry@adacore.com>                           
                                                                      
        * cstreams.c: Only enable large file support on know supported
        platforms. Add missing defines/includes.

From-SVN: r213420
2014-08-01 10:24:09 +02:00
Ed Schonberg
a628285204 2014-08-01 Ed Schonberg <schonberg@adacore.com>
* einfo.ads, einfo.adb New flags No_Predicate_On_Actual and
	No_Dynamic_Predicate_On_Actual, to enforce the generic contract
	on generic units that contain constructs that forbid subtypes
	with predicates.
	* sem_ch3.adb (Analyze_Subtype_Declaration, Process_Subtype):
	Inherit flags indicating the presence of predicates in subtype
	declarations with and without constraints.
	(Inherit_Predicate_Flags): Utility for the above.
	* sem_util.adb (Bad_Predicated_Subtype_Use): In a generic context,
	indicate that the actual cannot have predicates, and preserve
	warning. In an instance, report error if actual has predicates
	and the construct appears in a package declaration.
	* sem_ch12.adb (Diagnose_Predicated_Actual): Report error
	for an actual with predicates, if the corresponding formal
	carries No_Predicate_On_Actual or (in the case of a loop)
	No_Dynamic_Predicate_On_Actual.
	* sem_ch13.adb (Build_Predicate_Functions); Do not build a
	Static_Predicate function if the type is non-static (in the
	presence of previous errors),
	* sem_ch5.adb (Analyze_Loop_Parameter_Specification): Set flag
	No_Dynamic_Predicate_On_Actual in a generic context, to enforce
	generic contract on actuals that cannot have predicates.

From-SVN: r213418
2014-08-01 10:22:22 +02:00
Martin Liska
fd29c0247a IPA ICF pass 1/N
* gimple-iterator.h (gsi_next_nonvirtual_phi): New function.
	* ipa-prop.h (count_formal_params): Global function created from static.
	* ipa-prop.c (count_formal_params): Likewise.
	* ipa-utils.c (ipa_merge_profiles): Be more tolerant if we merge
	profiles for semantically equivalent functions.
	* passes.c (do_per_function): If we load body of a function
	during WPA, this condition should behave same.
	* varpool.c (ctor_for_folding): More tolerant assert for variable
	aliases created during WPA.

From-SVN: r213417
2014-08-01 08:20:57 +00:00
Pascal Obry
0ef40c649b a-direct.adb (C_Size): Returns an int64.
2014-08-01  Pascal Obry  <obry@adacore.com>

	* a-direct.adb (C_Size): Returns an int64.
	* osint.adb (System.CRTL): New with clause.
	(File_Length.Internal): Returns an int64.
	* s-os_lib.ads (File_Length): Returns an int64.

From-SVN: r213416
2014-08-01 10:19:53 +02:00
Robert Dewar
f1a85fe719 * gcc-interface/decl.c, gcc-interface/trans.c: Remove VMS handling.
From-SVN: r213415
2014-08-01 10:19:00 +02:00
Robert Dewar
ea0c8cfb98 gnatchop.adb, [...]: Minor reformatting.
2014-08-01  Robert Dewar  <dewar@adacore.com>

	* gnatchop.adb, gnatcmd.adb, make.adb, mlib-prj.adb, bindgen.adb,
	mlib.ads, butil.adb, clean.adb, binde.adb, gnatls.adb, gnatname.adb,
	osint.adb, krunch.adb: Minor reformatting.

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

	* inline.adb, inline.ads, fe.h, einfo.adb, einfo.ads, sem_util.adb,
	sem_util.ads, exp_ch4.adb, exp_ch11.adb, exp_ch6.adb, cstand.adb,
	sem_mech.adb, sem_ch6.adb, sem_ch8.adb, sem_ch11.adb, snames.ads-tmpl:
	Remove VMS-specific code.

From-SVN: r213414
2014-08-01 10:17:20 +02:00
Arnaud Charlet
62883e6b17 binde.adb, [...]: Remove VMS handling.
2014-08-01  Arnaud Charlet  <charlet@adacore.com>

	* binde.adb, bindgen.adb, butil.adb, clean.adb, gnatbind.adb,
	gnatchop.adb, gnatcmd.adb, gnatls.adb, gnatname.adb, krunch.adb,
	make.adb, makeutl.adb, memtrack.adb, mlib-prj.adb, mlib.adb,
	mlib.ads, tempdir.adb: Remove VMS handling.

From-SVN: r213413
2014-08-01 10:12:27 +02:00
Pascal Obry
148c744a17 adaint.h, adaint.c (__gnat_file_length): Returns an __int64.
2014-08-01  Pascal Obry  <obry@adacore.com>

	* adaint.h, adaint.c (__gnat_file_length): Returns an __int64.
	(__gnat_named_file_length): Likewise.
	(__gnat_file_length_attr): Likewise.
	* a-direct.adb (C_Size): Use size_t as returned type.
	* osint.adb (File_Length): Adjust spec for Internal routine
	(returns size_t).
	* s-os_lib.adb (File_Length): Now returns a CRTL.size_t.
	(System.CRTL): With claused moved to spec.
	* s-os_lib.ads (System.CRTL): With clause moved to here.

From-SVN: r213412
2014-08-01 10:10:34 +02:00
Pascal Obry
479f90598a adaint.h, adaint.c (__gnat_open): Added.
2014-08-01  Pascal Obry  <obry@adacore.com>

	* adaint.h, adaint.c (__gnat_open): Added.
	* s-crtl.ads (open): Import __gnat_open for large file support.

From-SVN: r213411
2014-08-01 10:09:43 +02:00
Arnaud Charlet
2b9fbec94e [multiple changes]
2014-08-01  Robert Dewar  <dewar@adacore.com>

	* sem_case.adb (Dup_Choice): Improve message for integer constants.

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

	* gnatlink.adb: Remove special handling of VMS, RTX and JVM.

2014-08-01  Pascal Obry  <obry@adacore.com>

	* adaint.h (GNAT_OPEN): Defines as open64 where supported.
	* adaint.c (GNAT_OPEN): Uses new macro where needed.

From-SVN: r213410
2014-08-01 10:08:59 +02:00
Jakub Jelinek
0494285ab0 libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
* libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
	(struct gomp_taskwait): New type.
	(struct gomp_task): Add taskwait and parent_depends_on, remove
	in_taskwait and taskwait_sem fields.
	(gomp_finish_task): Don't destroy taskwait_sem.
	* task.c (gomp_init_task): Don't init in_taskwait, instead init
	taskwait and parent_depends_on.
	(GOMP_task): For if (0) tasks with depend clause that depend on
	earlier tasks don't defer them, instead call
	gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
	Initialize redundant_out field, for redundant out entries just
	move them at the end of linked list instead of removing them
	completely, and set redundant_out flag instead of redundant.
	(gomp_task_run_pre): Update last_parent_depends_on if scheduling
	that task.
	(gomp_task_run_post_handle_dependers): If parent is in
	gomp_task_maybe_wait_for_dependencies and newly runnable task
	is not parent_depends_on, queue it in parent->children linked
	list after all runnable tasks with parent_depends_on set.
	Adjust for addition of taskwait indirection.
	(gomp_task_run_post_remove_parent): If parent is in
	gomp_task_maybe_wait_for_dependencies and task to be removed
	is parent_depends_on, decrement n_depend and if needed awake
	parent.  Adjust for addition of taskwait indirection.
	(GOMP_taskwait): Adjust for addition of taskwait indirection.
	(gomp_task_maybe_wait_for_dependencies): New function.
	* testsuite/libgomp.c/depend-5.c: New test.

From-SVN: r213408
2014-08-01 10:05:13 +02:00
Martin Liska
bab9b7cb64 invoke.texi (Options That Control Optimization): Documentation for -foptimize-strlen introduced.
* doc/invoke.texi (Options That Control Optimization): Documentation
	for -foptimize-strlen introduced. Optimization levels default options
	fixed.

From-SVN: r213407
2014-08-01 07:58:47 +00:00
Jakub Jelinek
944fa280bc opts.c (common_handle_option): Handle -fsanitize=alignment.
* opts.c (common_handle_option): Handle -fsanitize=alignment.
	* ubsan.h (enum ubsan_null_ckind): Add UBSAN_CTOR_CALL.
	(ubsan_expand_bounds_ifn, ubsan_expand_null_ifn): Change return
	type to bool.
	* stor-layout.h (min_align_of_type): New prototype.
	* asan.c (pass_sanopt::execute): Don't perform gsi_next if
	ubsan_expand* told us not to do it.  Remove the extra gsi_end_p
	check.
	* ubsan.c: Include builtins.h.
	(ubsan_expand_bounds_ifn): Change return type to bool,
	always return true.
	(ubsan_expand_null_ifn): Change return type to bool, change
	argument to gimple_stmt_iterator *.  Handle both null and alignment
	sanitization, take type from ckind argument's type rather than
	first argument.
	(instrument_member_call): Removed.
	(instrument_mem_ref): Remove t argument, add mem and base arguments.
	Handle both null and alignment sanitization, don't say whole
	struct access is member access.  Build 3 argument IFN_UBSAN_NULL
	call instead of 2 argument.
	(instrument_null): Adjust instrument_mem_ref caller.  Don't
	instrument calls here.
	(pass_ubsan::gate, pass_ubsan::execute): Handle SANITIZE_ALIGNMENT
	like SANITIZE_NULL.
	* stor-layout.c (min_align_of_type): New function.
	* flag-types.h (enum sanitize_code): Add SANITIZE_ALIGNMENT.
	Or it into SANITIZE_UNDEFINED.
	* doc/invoke.texi (-fsanitize=alignment): Document.
cp/
	* cp-gimplify.c (cp_genericize_r): For -fsanitize=null and/or
	-fsanitize=alignment call ubsan_maybe_instrument_reference
	for casts to REFERENCE_TYPE and ubsan_maybe_instrument_member_call
	for calls to member functions.
c-family/
	* c-common.h (min_align_of_type): Removed prototype.
	* c-common.c (min_align_of_type): Removed.
	* c-ubsan.h (ubsan_maybe_instrument_reference,
	ubsan_maybe_instrument_member_call): New prototypes.
	* c-ubsan.c: Include stor-layout.h and builtins.h.
	(ubsan_maybe_instrument_reference_or_call,
	ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
	functions.
testsuite/
	* c-c++-common/ubsan/align-1.c: New test.
	* c-c++-common/ubsan/align-2.c: New test.
	* c-c++-common/ubsan/align-3.c: New test.
	* c-c++-common/ubsan/align-4.c: New test.
	* c-c++-common/ubsan/align-5.c: New test.
	* c-c++-common/ubsan/attrib-4.c: New test.
	* g++.dg/ubsan/align-1.C: New test.
	* g++.dg/ubsan/align-2.C: New test.
	* g++.dg/ubsan/align-3.C: New test.
	* g++.dg/ubsan/attrib-1.C: New test.
	* g++.dg/ubsan/null-1.C: New test.
	* g++.dg/ubsan/null-2.C: New test.

From-SVN: r213406
2014-08-01 09:52:43 +02:00
Tom de Vries
bbe2542f72 Don't run cproj-fails-with-broken-glibc for broken glibc
2014-08-01  Tom de Vries  <tom@codesourcery.com>

	* lib/target-supports.exp (check_effective_target_glibc)
	(check_effective_target_glibc_2_12_or_later)
	(check_effective_target_not_glibc_2_11_or_earlier): New proc.
	* gcc.dg/cproj-fails-with-broken-glibc.c: Require effective target
	not_glibc_2_11_or_earlier.

From-SVN: r213403
2014-08-01 06:16:07 +00:00
Yury Gribov
649aa8c183 mklog: Allow running from arbitrary folder.
2014-08-01  Yury Gribov  <y.gribov@samsung.com>

	* mklog: Allow running from arbitrary folder.

From-SVN: r213401
2014-08-01 04:19:59 +00:00
Andi Kleen
bb7e83fccb Convert tree-ssa-tail-merge to inchash
gcc/:

2014-07-31  Andi Kleen  <ak@linux.intel.com>

	* tree-ssa-tail-merge.c (same_succ_hash): Convert to inchash.

From-SVN: r213400
2014-08-01 02:52:52 +00:00
Andi Kleen
4e44a6e8bd Convert tree-ssa-sccvn to inchash
gcc/:

2014-07-31  Andi Kleen  <ak@linux.intel.com>

	* tree-ssa-sccvn.c (vn_reference_op_compute_hash): Convert to
	inchash.
	(vn_reference_compute_hash): Dito.
	(vn_nary_op_compute_hash): Dito.
	(vn_phi_compute_hash): Dito.
	* tree-ssa-sccvn.h (vn_hash_constant_with_type): Dito.

From-SVN: r213399
2014-08-01 02:52:41 +00:00
Andi Kleen
2bc105372d Convert tree-ssa-dom to inchash
gcc/:

2014-07-31  Andi Kleen  <ak@linux.intel.com>

	* tree-ssa-dom.c (iterative_hash_exprs_commutative):
	Rename to inchash:add_expr_commutative. Convert to inchash.
	(iterative_hash_hashable_expr): Rename to
	inchash:add_hashable_expr. Convert to inchash.
	(avail_expr_hash): Dito.

From-SVN: r213398
2014-08-01 02:52:30 +00:00
Andi Kleen
d313d45fe1 Convert ipa-devirt to inchash
gcc/:

2014-07-31  Andi Kleen  <ak@linux.intel.com>

	* ipa-devirt.c (polymorphic_call_target_hasher::hash):
	Convert to inchash.

From-SVN: r213397
2014-08-01 02:52:19 +00:00
Andi Kleen
1a4d885106 Convert asan.c to inchash
gcc/:

2014-07-31  Andi Kleen  <ak@linux.intel.com>

	* asan.c (asan_mem_ref_hasher::hash): Convert to inchash.

From-SVN: r213396
2014-08-01 02:52:08 +00:00
Andi Kleen
f768061c4c RTL & dwarf2out changes
Convert dwarf2out and rtl.c to the new inchash interface.

gcc/:

2014-07-31  Andi Kleen  <ak@linux.intel.com>

	* Makefile.in (OBJS): Add rtlhash.o
	* dwarf2out.c (addr_table_entry_do_hash): Convert to inchash.
	(loc_checksum): Dito.
	(loc_checksum_ordered): Dito.
	(hash_loc_operands): Dito.
	(hash_locs): Dito.
	(hash_loc_list): Dito.
	* rtl.c (iterative_hash_rtx): Moved to rtlhash.c
	* rtl.h (iterative_hash_rtx): Moved to rtlhash.h
	* rtlhash.c: New file.
	* rtlhash.h: New file.

From-SVN: r213395
2014-08-01 02:51:57 +00:00
Andi Kleen
50de5793fc Change inchash to name space.
Change class inchash to move into a inchash namespace as requested.
The class is now inchash::hash

Rename iterative_hstate_expr to inchash::add_expr
... and convert existing users. It wasn't possible to use hash::,
because that lead to name space conflicts with cp and objc.

So class inchash is now inchash::hash and iterative_hstate_expr
is now inchash::add_expr.

gcc/:

2014-07-31  Andi Kleen  <ak@linux.intel.com>

	* inchash.h (inchash): Change inchash class to namespace.
	(class hash): ... Rename from inchash.
	(add_object): Move from macro to class template.
	* lto-streamer-out.c (hash_tree): Change inchash
	to inchash::hash.
	* tree.c (build_type_attribute_qual_variant): Dito.
	(type_hash_list): Dito.
	(attribute_hash_list): Dito.
	(iterative_hstate_expr): Rename to inchash::add_expr
	(build_range_type_1): Change inchash to inchash::hash
	and use hash::add_expr.
	(build_array_type_1): Dito.
	(build_function_type): Dito
	(build_method_type_directly): Dito.
	(build_offset_type): Dito.
	(build_complex_type): Dito.
	(make_vector_type): Dito.
	* tree.h (iterative_hash_expr): Dito.

gcc/lto/:

2014-07-31  Andi Kleen  <ak@linux.intel.com>

	* lto.c (hash_canonical_type): Use inchash::hash
	and use inchash::add_expr.
	(iterative_hash_canonical_type): Dito.

From-SVN: r213394
2014-08-01 02:51:46 +00:00
GCC Administrator
79ce6d77f6 Daily bump.
From-SVN: r213391
2014-08-01 00:17:00 +00:00
Chen Gang
e3cb8f057f * gcc.c (do_spec_1): Allocate enough space for saved_suffix.
From-SVN: r213387
2014-07-31 16:31:39 -06:00
Tom de Vries
f3d95c6903 Remove superfluous function declaration
2014-07-31  Tom de Vries  <tom@codesourcery.com>

	* gcc.dg/pr51879-7.c: Remove superfluous declaration of bar.

From-SVN: r213383
2014-07-31 18:51:54 +00:00
James Greenhalgh
9052a1e331 [AArch64] arm_neon.h - add vpaddd_f64, vpaddd_s64, vpaddd_u64 intrinsics
gcc/

	* config/aarch64/arm_neon.h (vpadd_<suf><8,16,32,64>): Move to
	correct alphabetical position.
	(vpaddd_f64): Rewrite using builtins.
	(vpaddd_s64): Move to correct alphabetical position.
	(vpaddd_u64): New.

gcc/testsuite/

	* gcc.target/aarch64/scalar_intrinsics.c (test_vpaddd_f64): New.
	(test_vpaddd_s64): Likewise.
	(test_vpaddd_s64): Likewise.
	* gcc.target/aarch64/simd/vpaddd_f64: New.
	* gcc.target/aarch64/simd/vpaddd_s64: New.
	* gcc.target/aarch64/simd/vpaddd_u64: New.

From-SVN: r213382
2014-07-31 16:45:38 +00:00
Oleg Endo
79a1fe43fb re PR target/61844 (ICE when building libgcc for sh64 cross-compiler)
gcc/
	PR target/61844
	* config/sh/sh.c (sh_legitimate_address_p,
	sh_legitimize_reload_address): Handle reg+reg address modes when
	ALLOW_INDEXED_ADDRESS is false.
	* config/sh/predicates.md (general_movsrc_operand,
	general_movdst_operand): Likewise.

From-SVN: r213381
2014-07-31 16:27:56 +00:00
Alan Modra
6adaaa1d3f ibm-ldouble.c (typedef union longDblUnion): Delete.
* config/rs6000/ibm-ldouble.c (typedef union longDblUnion): Delete.
	(pack_ldouble): New function.
	(__gcc_qadd): Use it.
	(__gcc_qmul): Likewise.
	(__gcc_qdiv): Likewise.
	(__gcc_qneg): Likewise.
	(__gcc_stoq): Likewise.
	(__gcc_dtoq): Likewise.

Co-Authored-By: Peter Bergner <bergner@vnet.ibm.com>

From-SVN: r213380
2014-07-31 11:22:58 -05:00
James Greenhalgh
22756ccf24 [AArch64_be] Don't fold reduction intrinsics.
gcc/

	* config/aarch64/aarch64-builtins.c
	(aarch64_gimple_fold_builtin): Don't fold reduction operations for
	BYTES_BIG_ENDIAN.

From-SVN: r213379
2014-07-31 15:32:44 +00:00
James Greenhalgh
988fa69392 [AArch64_be] Fix vec_select hi/lo mask confusions.
gcc/

	* config/aarch64/aarch64.c (aarch64_simd_vect_par_cnst_half): Vary
	the generated mask based on BYTES_BIG_ENDIAN.
	(aarch64_simd_check_vect_par_cnst_half): New.
	* config/aarch64/aarch64-protos.h
	(aarch64_simd_check_vect_par_cnst_half): New.
	* config/aarch64/predicates.md (vect_par_cnst_hi_half): Refactor
	the check out to aarch64_simd_check_vect_par_cnst_half.
	(vect_par_cnst_lo_half): Likewise.
	* config/aarch64/aarch64-simd.md
	(aarch64_simd_move_hi_quad_<mode>): Always use vec_par_cnst_lo_half.
	(move_hi_quad_<mode>): Always generate a low mask.

From-SVN: r213378
2014-07-31 15:31:24 +00:00
Senthil Kumar Selvaraj
08938c896f invoke.texi (AVR Options): Add documentation about __AVR_DEVICE_NAME__ built-in macro.
* doc/invoke.texi (AVR Options): Add documentation about 
	__AVR_DEVICE_NAME__ built-in macro.

From-SVN: r213377
2014-07-31 18:51:02 +04:00
Charles Baylis
3290f5e7c7 re PR target/61948 ([ARM] [4.10 regression] ICE with DImode shift by 1 bit (in copyprop_hardreg_forward_1))
PR target/61948

gcc/ChangeLog:
2014-07-29  Charles Baylis  <charles.baylis@linaro.org>

	PR target/61948
	* config/arm/neon.md (ashldi3_neon): Don't emit arm_ashldi3_1bit unless
	constraints are satisfied.
	(<shift>di3_neon): Likewise.

gcc/testsuite/ChangeLog:
2014-07-29  Charles Baylis  <charles.baylis@linaro.org>

        PR target/61948
        * gcc.target/arm/pr61948.c: New test case.

From-SVN: r213376
2014-07-31 14:27:58 +00:00
Richard Biener
030e321a73 re PR tree-optimization/61964 (krb5 database propagation enters infinite loop; reduced test case)
2014-07-31  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/61964
	* tree-ssa-tail-merge.c (gimple_equal_p): Handle non-SSA LHS solely
	by structural equality.

	* gcc.dg/torture/pr61964.c: New testcase.

From-SVN: r213375
2014-07-31 14:06:59 +00:00
Eric Botcazou
5cb7516dca utils.c (lookup_and_insert_pad_type): New function extracted from...
2014-07-31  Eric Botcazou  <ebotcazou@adacore.com>
        
        * gcc-interface/utils.c (lookup_and_insert_pad_type): New function
        extracted from...
        (maybe_pad_type): ...here.  Call it to canonicalize the pad type.
        * gcc-interface/gigi.h: Update comment.

From-SVN: r213374
2014-07-31 15:57:42 +02:00
Arnaud Charlet
6c26bac268 [multiple changes]
2014-07-31  Javier Miranda  <miranda@adacore.com>

	* debug.adb Remove documentation of -gnatd.k (no longer needed).
	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Code cleanup.
	* inline.ads (Backend_Inlined_Subps): New
	Elist.	(Backend_Not_Inlined_Subps): New Elist.
	(Has_Excluded_Declaration): Declaration previously located in
	* inline.adb (Has_Excluded_Statement): Declaration previously
	located in inline.adb
	* inline.adb (Has_Single_Return): Moved out of
	Build_Body_To_Inline to avoid having duplicated code.
	(Number_Of_Statements): New subprogram.
	(Register_Backend_Inlined_Subprogram): New subprogram.
	(Register_Backend_Not_Inlined_Subprogram): New subprogram.
	(Add_Inlined_Subprogram): Register backend inlined subprograms and
	also register subprograms that cannot be inlined by the backend.
	(Has_Excluded_Declaration): Moved out of Build_Body_To_Inline
	to avoid having duplicated code.  Replace occurrences of
	Debug_Flag_Dot_K by Back_End_Inlining.
	* sem_res.adb (Resolve_Call): Code cleanup.
	* exp_ch6.adb (Expand_Call): Complete previous patch. Replace
	occurrence of Debug_Flag_Dot_K by Back_End_Inlining.
	(List_Inlining_Info): Add listing of subprograms passed to the
	backend and listing of subprograms that cannot be inlined by
	the backend.
	* sem_ch12.adb, sem_ch3.adb Replace occurrences of
	Debug_Flag_Dot_K by Back_End_Inlining.

2014-07-31  Robert Dewar  <dewar@adacore.com>

	* nlists.ads: Minor code fix (remove unwise Inline for
	List_Length).

From-SVN: r213373
2014-07-31 15:56:11 +02:00
Arnaud Charlet
0c9aebea0f (gnatlib-shared-vms): Remove.
From-SVN: r213372
2014-07-31 15:54:10 +02:00
Arnaud Charlet
802118024c [multiple changes]
2014-07-31  Arnaud Charlet  <charlet@adacore.com>

	* einfo.adb: Remove VMS specific code.
	* exp_attr.adb: Remove VAX specific code.
	* set_targ.adb: Remove handling of VAX_Float.
	* sem_vfpt.adb: Remove references to Vax_Native.
	* sem_attr.adb (Is_VAX_Float): Remove ref to VAX_Native.

2014-07-31  Robert Dewar  <dewar@adacore.com>

	* sem_ch4.adb: Minor reformatting.

From-SVN: r213371
2014-07-31 15:53:40 +02:00
Arnaud Charlet
3f1be5bec3 trans.c, misc.c: Remove references to VMS.
* gcc-interface/trans.c, gcc-interface/misc.c: Remove references
        to VMS. Misc clean ups.

From-SVN: r213370
2014-07-31 15:51:38 +02:00
Robert Dewar
ba0c6e4769 cstand.adb, [...]: Remove obsolete VMS-specific code.
2014-07-31  Robert Dewar  <dewar@adacore.com>

	* cstand.adb, einfo.adb, einfo.ads, errout.adb, exp_attr.adb,
	exp_prag.adb, frontend.adb, interfac.ads,
	par-prag.adb, s-auxdec.ads, s-filofl.ads, s-fishfl.ads, s-fvadfl.ads,
	s-fvaffl.ads, s-fvagfl.ads, s-vaflop.ads, sem_attr.adb, sem_attr.ads,
	sem_ch13.adb, sem_ch3.adb, sem_ch8.adb, sem_prag.adb, snames.adb-tmpl,
	snames.ads-tmpl: Remove obsolete VMS-specific code.

From-SVN: r213369
2014-07-31 15:48:33 +02:00
Arnaud Charlet
f9648959b4 [multiple changes]
2014-07-31  Robert Dewar  <dewar@adacore.com>

	* sem_ch3.adb, sem_ch13.adb: Minor reformatting.

2014-07-31  Arnaud Charlet  <charlet@adacore.com>

	* a-intnam-linux.ads: Minor: update obsolete comments.
	* s-taasde.adb: Minor: fix comment header.

2014-07-31  Arnaud Charlet  <charlet@adacore.com>

	* s-auxdec-vms-ia64.adb, s-parame-vms-alpha.ads, s-asthan-vms-alpha.adb,
	s-tpopde-vms.adb, s-mastop-vms.adb, s-tpopde-vms.ads, s-taprop-vms.adb,
	mlib-tgt-vms_common.adb, mlib-tgt-vms_common.ads, s-inmaop-vms.adb,
	g-enblsp-vms-alpha.adb, s-ransee-vms.adb, s-osprim-vms.adb,
	s-osprim-vms.ads, g-socthi-vms.adb, g-socthi-vms.ads, system-vms_64.ads,
	s-osinte-vms.adb, s-osinte-vms.ads, g-eacodu-vms.adb,
	s-vaflop-vms-alpha.adb, s-parame-vms-ia64.ads, a-dirval-vms.adb,
	a-caldel-vms.adb, mlib-tgt-specific-vms-alpha.adb, s-tasdeb-vms.adb,
	symbols-vms.adb, a-intnam-vms.ads, g-expect-vms.adb,
	symbols-processing-vms-alpha.adb, mlib-tgt-specific-vms-ia64.adb,
	s-traent-vms.adb, s-traent-vms.ads, i-cstrea-vms.adb, a-numaux-vms.ads,
	symbols-processing-vms-ia64.adb, s-interr-vms.adb, s-memory-vms_64.adb,
	s-memory-vms_64.ads, g-enblsp-vms-ia64.adb, s-taspri-vms.ads,
	s-auxdec-vms_64.ads, s-intman-vms.adb, s-intman-vms.ads,
	s-tpopsp-vms.adb, s-asthan-vms-ia64.adb, a-calend-vms.adb,
	a-calend-vms.ads, system-vms-ia64.ads, s-auxdec-vms-alpha.adb: Removed.
	* namet.h (Is_Non_Ada_Error): Remove.

From-SVN: r213368
2014-07-31 15:40:26 +02:00
Yury Gribov
fec4842dee cpp.texi (__SANITIZE_ADDRESS__): Updated description.
2014-07-31  Yury Gribov  <y.gribov@samsung.com>

	* doc/cpp.texi (__SANITIZE_ADDRESS__): Updated description.
	* doc/invoke.texi (-fsanitize=kernel-address): Describe new option.
	* flag-types.h (SANITIZE_USER_ADDRESS, SANITIZE_KERNEL_ADDRESS):
	New enums.
	* gcc.c (sanitize_spec_function): Support new option.
	(SANITIZER_SPEC): Remove now redundant check.
	* opts.c (common_handle_option): Support new option.
	(finish_options): Check for incompatibilities.
	* toplev.c (process_options): Split userspace-specific checks.

From-SVN: r213367
2014-07-31 13:35:18 +00:00
Arnaud Charlet
fd7215d711 [multiple changes]
2014-07-31  Robert Dewar  <dewar@adacore.com>

	* exp_util.adb, lib-writ.adb, sem_ch12.adb, s-direio.adb: Minor
	reformatting.

2014-07-31  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_attr.adb (Expand_Loop_Entry_Attribute): Update the comment
	which demonstrates the expansion of while loops subject to
	attribute 'Loop_Entry. The condition of a while loop along with
	related condition actions is now wrapped in a function.  Instead
	of repeating the condition, the expansion now calls the function.

2014-07-31  Ed Schonberg  <schonberg@adacore.com>

	* sem_case.adb (Check_Against_Predicate): Correct off-by-one
	error when reporting of missing values in a case statement for
	a type with a static predicate.
	(Check_Choices): Reject a choice given by a subtype to which a
	Dynamic_Predicate applies.
	* sem_ch3.adb (Analyze_Subtype_Declaration): Inherit
	Has_Dynamic_Predicate_Aspect flag from parent.

2014-07-31  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch13.adb (Analyze_Aspect_Specifications): A predicate
	cannot apply to a subtype of an incomplete type.
	(Is_Static_Choice): Treat an Others_Clause as static. The
	staticness of the expression and of the range are checked
	elsewhere.

2014-07-31  Pascal Obry  <obry@adacore.com>

	* adaint.h (__gnat_ftell64): Added.
	(__gnat_fseek64): Added.
	(__int64): Added.
	* cstreams.c (__int64): Removed.

From-SVN: r213366
2014-07-31 15:31:48 +02:00
Arnaud Charlet
d1e0e1480b [multiple changes]
2014-07-31  Pascal Obry  <obry@adacore.com>

	* a-stream.ads (Stream_Element_Offset): Now a signed 64bit type.
	* i-cstrea.ads, s-crtl.ads (fseek64): Offset is always a 64bit value.
	(ftell64): Always returns a 64bit value.
	* cstreams.c (int64): New definition.
	(_FILE_OFFSET_BITS): Set to 64 to enable 64bit offset support.
	(__gnat_ftell64): Always returns a 64bit value. The implemenation now
	uses ftello() on UNIX.
	(__gnat_fseek64): Offset is always a 64bit value. The
	implementation now uses fseeko() on UNIX.
	* a-ststio.adb, s-direio.adb (Set_Position): Simplify code,
	always use fseek64 to set the offset.
	(Size): Simplify code, always use fseek64/ftell64.
	* s-direio.ads (Count): Now an int64.
	* g-socket.ads (Vector_Element): Adjust definition for Length
	to be a size_t. This matches the C definition and avoid using
	a 64bit integer on 32bit platforms now that Count is always 64bit.
	* g-socthi-mingw.adb (Ada.Streams): Removed as not used anymore.
	(C_Recvmsg): Change some conversion to account for change in
	Vector_Element.
	(C_Sendmsg): Likewise.

2014-07-31  Robert Dewar  <dewar@adacore.com>

	* cstand.adb (Create_Standard): Remove handling of -gnatdm flag.
	* debug.adb: Remove documentation of -gnatdm flag.
	* gnat1drv.adb (Adjust_Global_Switches): Remove handling of
	-gnatdm flag.

From-SVN: r213365
2014-07-31 15:29:58 +02:00
Arnaud Charlet
fce547639d [multiple changes]
2014-07-31  Arnaud Charlet  <charlet@adacore.com>

	* lib-writ.adb (Write_Unit_Information): Fix case where U =
	No_Unit.

2014-07-31  Claire Dross  <dross@adacore.com>

	* exp_util.adb, exp_util.ads
	(Get_First_Parent_With_External_Axiomatization_For_Entity):
	New routine to find the first parent of an entity with
	a pragma Annotate (GNATprove, External_Axiomatization).
	(Has_Annotate_Pragma_For_External_Axiomatization): New function
	to check if a package has a pragma Annotate (GNATprove,
	External_Axiomatization).
	* einfo.ads, einfo.adb (Is_Generic_Actual_Subprogram): New
	flag on the entity for the declaration created for a formal
	subprogram in an instance. This is a renaming declaration,
	or in GNATprove_Mode the declaration of an expression function
	that captures the axiomatization of the actual.
	* sem_ch6.adb (Analyze_Expression_Function): For a
	Generic_Actual_Subprogram, place body immediately after the
	declaration because it may be used in a subsequent declaration
	in the instance.
	* sem_ch12.adb (Build_Wrapper): Add code to handle instances where
	the actual is a function, not an operator. Handle functions with
	one and two parameters and binary and unary operators.

2014-07-31  Pascal Obry  <obry@adacore.com>

	* cstreams.c (__gnat_is_regular_file_fd): Removed.
	* adaint.c (__gnat_is_regular_file_fd): Added.

From-SVN: r213364
2014-07-31 15:27:23 +02:00
Arnaud Charlet
7f3d273a22 [multiple changes]
2014-07-31  Robert Dewar  <dewar@adacore.com>

	* exp_strm.adb: Minor reformatting.

2014-07-31  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb (Build_Wrapper): New procedure, subsidiary to
	Analyze_Associations, to create a wrapper around operators that
	are actuals to formal subprograms. This is done in GNATProve
	mode in order to propagate the contracts of the operators to
	the body of the instance.

From-SVN: r213363
2014-07-31 15:25:43 +02:00
Ed Schonberg
f4510e5e6d sem_attr.adb (Analyze_Attribute, case 'Old): The reference is legal if within an aspect specification for a generic subprogram.
2014-07-31  Ed Schonberg  <schonberg@adacore.com>

	* sem_attr.adb (Analyze_Attribute, case 'Old):  The reference is
	legal if within an aspect specification for a generic subprogram.

From-SVN: r213362
2014-07-31 15:24:48 +02:00