1. 01 Aug, 2014 16 commits
    • adaint.h, adaint.c (__gnat_file_length): Returns an __int64. · 148c744a
      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
      Pascal Obry committed
    • adaint.h, adaint.c (__gnat_open): Added. · 479f9059
      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
      Pascal Obry committed
    • [multiple changes] · 2b9fbec9
      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
      Arnaud Charlet committed
    • libgomp.h (struct gomp_task_depend_entry): Add redundant_out field. · 0494285a
      	* 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
      Jakub Jelinek committed
    • invoke.texi (Options That Control Optimization): Documentation for -foptimize-strlen introduced. · bab9b7cb
      	* doc/invoke.texi (Options That Control Optimization): Documentation
      	for -foptimize-strlen introduced. Optimization levels default options
      	fixed.
      
      From-SVN: r213407
      Martin Liska committed
    • opts.c (common_handle_option): Handle -fsanitize=alignment. · 944fa280
      	* 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
      Jakub Jelinek committed
    • Don't run cproj-fails-with-broken-glibc for broken glibc · bbe2542f
      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
      Tom de Vries committed
    • mklog: Allow running from arbitrary folder. · 649aa8c1
      2014-08-01  Yury Gribov  <y.gribov@samsung.com>
      
      	* mklog: Allow running from arbitrary folder.
      
      From-SVN: r213401
      Yury Gribov committed
    • Convert tree-ssa-tail-merge to inchash · bb7e83fc
      gcc/:
      
      2014-07-31  Andi Kleen  <ak@linux.intel.com>
      
      	* tree-ssa-tail-merge.c (same_succ_hash): Convert to inchash.
      
      From-SVN: r213400
      Andi Kleen committed
    • Convert tree-ssa-sccvn to inchash · 4e44a6e8
      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
      Andi Kleen committed
    • Convert tree-ssa-dom to inchash · 2bc10537
      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
      Andi Kleen committed
    • Convert ipa-devirt to inchash · d313d45f
      gcc/:
      
      2014-07-31  Andi Kleen  <ak@linux.intel.com>
      
      	* ipa-devirt.c (polymorphic_call_target_hasher::hash):
      	Convert to inchash.
      
      From-SVN: r213397
      Andi Kleen committed
    • Convert asan.c to inchash · 1a4d8851
      gcc/:
      
      2014-07-31  Andi Kleen  <ak@linux.intel.com>
      
      	* asan.c (asan_mem_ref_hasher::hash): Convert to inchash.
      
      From-SVN: r213396
      Andi Kleen committed
    • RTL & dwarf2out changes · f768061c
      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
      Andi Kleen committed
    • Change inchash to name space. · 50de5793
      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
      Andi Kleen committed
    • Daily bump. · 79ce6d77
      From-SVN: r213391
      GCC Administrator committed
  2. 31 Jul, 2014 24 commits
    • * gcc.c (do_spec_1): Allocate enough space for saved_suffix. · e3cb8f05
      From-SVN: r213387
      Chen Gang committed
    • Remove superfluous function declaration · f3d95c69
      2014-07-31  Tom de Vries  <tom@codesourcery.com>
      
      	* gcc.dg/pr51879-7.c: Remove superfluous declaration of bar.
      
      From-SVN: r213383
      Tom de Vries committed
    • [AArch64] arm_neon.h - add vpaddd_f64, vpaddd_s64, vpaddd_u64 intrinsics · 9052a1e3
      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
      James Greenhalgh committed
    • re PR target/61844 (ICE when building libgcc for sh64 cross-compiler) · 79a1fe43
      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
      Oleg Endo committed
    • ibm-ldouble.c (typedef union longDblUnion): Delete. · 6adaaa1d
      	* 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
      Alan Modra committed
    • [AArch64_be] Don't fold reduction intrinsics. · 22756ccf
      gcc/
      
      	* config/aarch64/aarch64-builtins.c
      	(aarch64_gimple_fold_builtin): Don't fold reduction operations for
      	BYTES_BIG_ENDIAN.
      
      From-SVN: r213379
      James Greenhalgh committed
    • [AArch64_be] Fix vec_select hi/lo mask confusions. · 988fa693
      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
      James Greenhalgh committed
    • invoke.texi (AVR Options): Add documentation about __AVR_DEVICE_NAME__ built-in macro. · 08938c89
      	* doc/invoke.texi (AVR Options): Add documentation about 
      	__AVR_DEVICE_NAME__ built-in macro.
      
      From-SVN: r213377
      Senthil Kumar Selvaraj committed
    • re PR target/61948 ([ARM] [4.10 regression] ICE with DImode shift by 1 bit (in… · 3290f5e7
      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
      Charles Baylis committed
    • re PR tree-optimization/61964 (krb5 database propagation enters infinite loop; reduced test case) · 030e321a
      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
      Richard Biener committed
    • utils.c (lookup_and_insert_pad_type): New function extracted from... · 5cb7516d
      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
      Eric Botcazou committed
    • [multiple changes] · 6c26bac2
      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
      Arnaud Charlet committed
    • (gnatlib-shared-vms): Remove. · 0c9aebea
      From-SVN: r213372
      Arnaud Charlet committed
    • [multiple changes] · 80211802
      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
      Arnaud Charlet committed
    • trans.c, misc.c: Remove references to VMS. · 3f1be5be
              * gcc-interface/trans.c, gcc-interface/misc.c: Remove references
              to VMS. Misc clean ups.
      
      From-SVN: r213370
      Arnaud Charlet committed
    • cstand.adb, [...]: Remove obsolete VMS-specific code. · ba0c6e47
      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
      Robert Dewar committed
    • [multiple changes] · f9648959
      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
      Arnaud Charlet committed
    • cpp.texi (__SANITIZE_ADDRESS__): Updated description. · fec4842d
      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
      Yury Gribov committed
    • [multiple changes] · fd7215d7
      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
      Arnaud Charlet committed
    • [multiple changes] · d1e0e148
      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
      Arnaud Charlet committed
    • [multiple changes] · fce54763
      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
      Arnaud Charlet committed
    • [multiple changes] · 7f3d273a
      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
      Arnaud Charlet committed
    • sem_attr.adb (Analyze_Attribute, case 'Old): The reference is legal if within an… · f4510e5e
      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
      Ed Schonberg committed
    • [multiple changes] · d7a93e45
      2014-07-31  Javier Miranda  <miranda@adacore.com>
      
      	* gnat1drv.adb (Back_End_Inlining): Set to false if
      	Suppress_All_Inlining is set.
      	* debug.adb: Adding documentation for -gnatd.z.
      	* inline.adb (Add_Inlined_Body): Extend the -gnatn2
      	processing to -gnatn1 for calls to Inline_Always routines.
      	(Add_Inlined_Subprogram): Remove previous patch.
      
      2014-07-31  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch13.adb (Check_One_Function): Apply properly the static
      	semantic rules for indexing aspects and the functions they denote.
      
      From-SVN: r213361
      Arnaud Charlet committed