1. 19 Apr, 2016 7 commits
    • [multiple changes] · 16e764a7
      2016-04-19  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_attr.adb (Resolve_Attribute, case 'Access): Freeze
      	overloadable entity if originally overloaded.
      
      2016-04-19  Arnaud Charlet  <charlet@adacore.com>
      
      	* exp_aggr.adb, exp_ch3.adb, exp_ch7.adb, exp_ch9.adb, exp_code.adb,
      	exp_fixd.adb, namet.adb, osint.adb, osint.ads, par-ch2.adb,
      	sem_ch10.adb, sem_ch12.adb, sem_disp.adb, sem_elab.adb, sem_elim.adb
      	sem_util.adb, styleg.adb, styleg.ads, stylesw.ads: Minor code
      	clean up.
      
      From-SVN: r235194
      Arnaud Charlet committed
    • sem_util.adb (Copy_Node_With_Replacement): use Set_Comes_From_Source instead of… · 4754d4e8
      sem_util.adb (Copy_Node_With_Replacement): use Set_Comes_From_Source instead of directly manipulating internals of the...
      
      2016-04-19  Arnaud Charlet  <charlet@adacore.com>
      
      	* sem_util.adb (Copy_Node_With_Replacement):
      	use Set_Comes_From_Source instead of directly manipulating
      	internals of the node table.
      	* sem_util.adb (Within_Scope): refactored to remove duplicated code.
      	* sem_aux.adb (Get_Rep_Pragma,
      	Subprogram_Body_Entity, Subprogram_Spec): declare variables that
      	do not change as constants and initialize them in the declaration.
      	(Get_Rep_Pragma, Subprogram_Body_Entity, Subprogram_Spec): declare
      	variables that do not change as constants and initialize them
      	in the declaration.
      
      From-SVN: r235193
      Arnaud Charlet committed
    • [multiple changes] · 87fd6836
      2016-04-19  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_res.adb (Resolve_Entry_Call): If the entry has
      	preconditions it is rewritten by means of a wrapper that
      	incorporates the original call. Before rewriting generate a
      	reference to the entry being called to prevent spurious warnings
      	and provide correct cross-reference information.
      
      2016-04-19  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_disp.adb (Check_Dispatching_Context): Code cleanup. Add
      	local constant Scop. Ignore any internally generated loops when
      	performing the check concerning an abstract subprogram call
      	without a controlling argument.
      	* sem_util.ads, sem_util.adb (Current_Scope_No_Loops): New routine.
      
      From-SVN: r235192
      Arnaud Charlet committed
    • [multiple changes] · b35e5dcb
      2016-04-19  Bob Duff  <duff@adacore.com>
      
      	* sem_elab.adb (Check_A_Call): There are cases where we have No
      	(Ent) after the Alias loop, even when there was no previous error,
      	so we can't assert that there was an error.
      
      2016-04-19  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_attr.adb (Analyze_Access_Attribute, OK_Self_Reference):
      	Reject use of type name as a prefix to 'access within an aggregate
      	in a context that is not the declarative region of a type.
      
      2016-04-19  Vincent Celier  <celier@adacore.com>
      
      	* gnatcmd.adb: Make "gnat ls -P" invoke gprls Make "gnat bind
      	-P" invoke "gprbuild -b" Make "gnat link -P" invoke "gprbuild
      	-l" Fail if the invocation is "gnat find -P" or "gnat xref -P"
      	Remove anything related to project files
      	* g-mbdira.adb: minor whitespace cleanup
      	* g-spipat.adb: minor removal of extra spaces after closing paren
      
      2016-04-19  Ed Schonberg  <schonberg@adacore.com>
      
      	* exp_ch6.adb (Expand_Actuals):  If post-statements are present
      	and the enclosing context is a function call or indexing, build
      	an Expression_With_Actions for the call.
      
      2016-04-19  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* lib-writ.adb (Write_With_Lines): Code cleanup. Do not generate
      	a with line for an ignored Ghost unit.
      	* sem_ch7.adb (Analyze_Package_Declaration): Add local constant
      	Par. A child package is Ghost when its parent is Ghost.
      	* sem_prag.adb (Analyze_Pragma): Pragma Ghost can now apply to
      	a subprogram declaration that acts as a compilation unit.
      
      From-SVN: r235191
      Arnaud Charlet committed
    • gimple-walk.h (struct walk_stmt_info): Add stmt member. · d247f8e2
      2016-04-19  Richard Biener  <rguenther@suse.de>
      
      	* gimple-walk.h (struct walk_stmt_info): Add stmt member.
      	* gimple-walk.c (walk_gimple_op): Initialize it.
      	(walk_gimple_asm): Set wi->is_lhs before each callback invocation.
      	* tree-inline.c (remap_gimple_op_r): Set SSA_NAME_DEF_STMT when
      	remapping SSA names of defs.
      	(copy_bb): Remove walk over all SSA defs and SSA_NAME_DEF_STMT
      	adjustment.
      
      From-SVN: r235190
      Richard Biener committed
    • re PR middle-end/70689 (ICE on valid code at -O1 in 32-bit mode on… · 987b67f1
      re PR middle-end/70689 (ICE on valid code at -O1 in 32-bit mode on x86_64-linux-gnu in curr_insn_transform, at lra-constraints.c:3564)
      
      2016-04-18  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR middle-end/70689
      	* lra-constraints.c (equiv_substition_p): New.
      	(process_alt_operands): Use it.
      	(swap_operands): Swap it.
      	(curr_insn_transform): Update it.
      
      2016-04-18  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR middle-end/70689
      	* testsuite/gcc.target/i386/pr70689.c: New.
      
      From-SVN: r235184
      Vladimir Makarov committed
    • Daily bump. · cd1c4ba8
      From-SVN: r235182
      GCC Administrator committed
  2. 18 Apr, 2016 33 commits
    • tree.h (TYPE_ALIGN, DECL_ALIGN): Return shifted amount. · fe37c7af
      	* tree.h (TYPE_ALIGN, DECL_ALIGN): Return shifted amount.
      	(SET_TYPE_ALIGN, SET_DECL_ALIGN): New.
      	* tree-core.h (tree_type_common.align): Use bit-field.
      	(tree_type_common.spare): New.
      	(tree_decl_common.off_align): Make smaller.
      	(tree_decl_common.align): Use bit-field.
      
      	* expr.c (expand_expr_addr_expr_1): Use SET_TYPE_ALIGN.
      	* omp-low.c (install_var_field): Use SET_DECL_ALIGN.
      	(scan_sharing_clauses): Ditto.
      	(finish_taskreg_scan): Use SET_DECL_ALIGN and SET_TYPE_ALIGN.
      	(omp_finish_file): Ditto.
      	* stor-layout.c (do_type_align): Use SET_DECL_ALIGN.
      	(layout_decl): Ditto.
      	(relayout_decl): Ditto.
      	(finalize_record_size): Use SET_TYPE_ALIGN.
      	(finalize_type_size): Ditto.
      	(finish_builtin_struct): Ditto.
      	(layout_type): Ditto.
      	(initialize_sizetypes): Ditto.
      	* targhooks.c (std_gimplify_va_arg_expr): Use SET_TYPE_ALIGN.
      	* tree-nested.c (insert_field_into_struct): Use SET_TYPE_ALIGN.
      	(lookup_field_for_decl): Use SET_DECL_ALIGN.
      	(get_chain_field): Ditto.
      	(get_trampoline_type): Ditto.
      	(get_nl_goto_field): Ditto.
      	* tree-streamer-in.c (unpack_ts_decl_common_value_fields): Use
      	SET_DECL_ALIGN.
      	(unpack_ts_type_common_value_fields): Use SET_TYPE_ALIGN.
      	* gimple-expr.c (copy_var_decl): Use SET_DECL_ALIGN.
      	* tree.c (make_node_stat): Use SET_DECL_ALIGN and SET_TYPE_ALIGN.
      	(build_qualified_type): Use SET_TYPE_ALIGN.
      	(build_aligned_type, build_range_type_1): Ditto.
      	(build_atomic_base): Ditto.
      	(build_common_tree_nodes): Ditto.
      	* cfgexpand.c (align_local_variable): Use SET_DECL_ALIGN.
      	(expand_one_stack_var_at): Ditto.
      	* coverage.c (build_var): Use SET_DECL_ALIGN.
      	* except.c (init_eh): Ditto.
      	* function.c (assign_parm_setup_block): Ditto.
      	* symtab.c (increase_alignment_1): Ditto.
      	* tree-ssa-ccp.c (fold_builtin_alloca_with_align): Ditto.
      	* tree-vect-stmts.c (ensure_base_align): Ditto.
      	* varasm.c (align_variable): Ditto.
      	(assemble_variable): Ditto.
      	(build_constant_desc): Ditto.
      	(output_constant_def_contents): Ditto.
      
      	* config/arm/arm.c (arm_relayout_function): Use SET_DECL_ALIGN.
      	* config/avr/avr.c (avr_adjust_type_node): Use SET_TYPE_ALIGN.
      	* config/mips/mips.c (mips_std_gimplify_va_arg_expr): Ditto.
      	* config/msp430/msp430.c (msp430_gimplify_va_arg_expr): Ditto.
      	* config/spu/spu.c (spu_build_builtin_va_list): Use SET_DECL_ALIGN.
      
      ada/
      	* gcc-interface/decl.c (gnat_to_gnu_entity): Use SET_TYPE_ALIGN.
      	(gnat_to_gnu_field): Ditto.
      	(components_to_record): Ditto.
      	(create_variant_part_from): Ditto.
      	(copy_and_substitute_in_size): Ditto.
      	(substitute_in_type): Ditto.
      	* gcc-interface/utils.c (make_aligning_type): Use SET_TYPE_ALIGN.
      	(make_packable_type): Ditto.
      	(maybe_pad_type): Ditto.
      	(finish_fat_pointer_type): Ditto.
      	(finish_record_type): Ditto and use SET_DECL_ALIGN.
      	(rest_of_record_type_compilation): Use SET_TYPE_ALIGN.
      	(create_field_decl): Use SET_DECL_ALIGN.
      
      c-family/
      	* c-common.c (handle_aligned_attribute): Use SET_TYPE_ALIGN
      	and SET_DECL_ALIGN.
      
      c/
      	* c-decl.c (merge_decls): Use SET_DECL_ALIGN and SET_TYPE_ALIGN.
      	(grokdeclarator, parser_xref_tag, finish_enum): Use SET_TYPE_ALIGN.
      
      cp/
      	* class.c (build_vtable): Use SET_DECL_ALIGN and SET_TYPE_ALIGN.
      	(layout_class_type): Ditto.
      	(build_base_field): Use SET_DECL_ALIGN.
      	(fixup_attribute_variants): Use SET_TYPE_ALIGN.
      	* decl.c (duplicate_decls): Use SET_DECL_ALIGN.
      	(record_unknown_type): Use SET_TYPE_ALIGN.
      	(cxx_init_decl_processing): Ditto.
      	(copy_type_enum): Ditto.
      	(grokfndecl): Use SET_DECL_ALIGN.
      	(copy_type_enum): Use SET_TYPE_ALIGN.
      	* pt.c (instantiate_class_template_1): Use SET_TYPE_ALIGN.
      	(tsubst): Ditto.
      	* tree.c (cp_build_qualified_type_real): Use SET_TYPE_ALIGN.
      	* lambda.c (maybe_add_lambda_conv_op): Use SET_DECL_ALIGN.
      	* method.c (implicitly_declare_fn): Use SET_DECL_ALIGN.
      	* rtti.c (emit_tinfo_decl): Ditto.
      
      fortran/
      	* trans-io.c (gfc_build_io_library_fndecls): Use SET_TYPE_ALIGN.
      	* trans-common.c (build_common_decl): Use SET_DECL_ALIGN.
      	* trans-types.c (gfc_add_field_to_struct): Use SET_DECL_ALIGN.
      
      go/
      	* go-gcc.cc (Gcc_backend::implicit_variable): Use SET_DECL_ALIGN.
      
      java/
      	* class.c (add_method_1): Use SET_DECL_ALIGN.
      	(make_class_data): Ditto.
      	(emit_register_classes_in_jcr_section): Ditto.
      	* typeck.c (build_java_array_type): Ditto.
      
      objc/
      	* objc-act.c (objc_build_struct): Use SET_DECL_ALIGN.
      
      libcc1/
      	* plugin.cc (plugin_finish_record_or_union): Use SET_TYPE_ALIGN.
      
      From-SVN: r235172
      Michael Matz committed
    • Optimize load double into xmm with zero_extend · 91a47c39
      "movq" should used to load double into xmm register with zero_extend:
      
      (set (reg:V2DF 90)
           (vec_concat:V2DF (reg/v:DF 88 [ d ])
                            (const_double:DF 0.0 [0x0.0p+0])))
      
      Unlike "movsd", which only works with load from memory, "movq" works
      with both memory and xmm register.
      
      gcc/
      
      	PR target/70708
      	* config/i386/sse.md (sse2_loadlpd): Accept load from "xm" and
      	replace %vmovsd with "%vmovq".
      	(vec_concatv2df): Likewise.
      
      gcc/testsuite/
      
      	PR target/70708
      	* gcc.target/i386/pr70708.c: New test.
      
      From-SVN: r235169
      H.J. Lu committed
    • re PR c++/70690 (r235002 miscompiles tcmalloc) · 81c160c6
      	PR c++/70690
      
      	PR c++/70528
      	* class.c (type_maybe_constexpr_default_constructor): New.
      	(type_has_constexpr_default_constructor): Revert.
      
      From-SVN: r235165
      Jason Merrill committed
    • mmx.md (*vec_extractv2sf_0): Use gen_lowpart. · 827f44eb
      	* config/i386/mmx.md (*vec_extractv2sf_0): Use gen_lowpart.
      	(*vec_extractv2si_0): Ditto.
      	* config/i386/sse.md (*vec_extractv4sf_0): Ditto.
      	(zero_extended_scalar_load_operand splitters): Ditto.
      	(vec_extract splitters): Ditto.
      	(*vec_extractv4si_0_zext): Ditto.
      	(avx_<castmode><avxsizesuffix>_<castmode>): Use gen_lowpart
      	and lowpart_subreg.
      	(avx512f_<castmode><avxsizesuffix>_<castmode>): Ditto.
      	(avx512f_<castmode><avxsizesuffix>_256<castmode>): Ditto.
      	(*sse4_1_extractps): Use lowpart_subreg.
      
      From-SVN: r235164
      Uros Bizjak committed
    • Update install.texi for GCC 6 on Solaris · a8430f19
      	* doc/install.texi (Specific, i?86-*-solaris2.10): Update gas and
      	gld requirements.
      	(Specific, *-*-solaris2*): Update Solaris 11 bundled gcc
      	versions.
      	Mention Solaris 11 packaging changes.
      	Update gas and gld requirements.
      	Remove reference to pre-Solaris 10 bug.
      	(Specific, sparc-sun-solaris2*): Remove reference to pre-Solaris 10
      	systems and bugs.
      	(Specific, sparc64-*-solaris2*): Remove reference to bootstrap
      	with cc.
      
      From-SVN: r235162
      Rainer Orth committed
    • PR libstdc++/41759 reword static assertions in <random> · 0cded43d
      	PR libstdc++/41759
      	* include/bits/random.h: Reword static assertion messages to state
      	positive conditions.
      	* include/bits/random.tcc: Likewise.
      	* include/bits/uniform_int_dist.h: Likewise.
      	* testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
      	patterns.
      
      From-SVN: r235160
      Jonathan Wakely committed
    • tree-ssa-loop-ivopts.c (avg_loop_niter): Use also max_loop_iterations_int. · fa519ca6
      	* tree-ssa-loop-ivopts.c (avg_loop_niter): Use also
      	max_loop_iterations_int.
      
      From-SVN: r235158
      Jan Hubicka committed
    • Remove unused typedefs in std::bind types · 90751aa7
      	* include/std/function (_Bind, _Bind_result): Remove unused typedefs.
      
      From-SVN: r235157
      Jonathan Wakely committed
    • * config/cpu/sh/atomicity.h: Fix typo in comment. · 351a5f81
      From-SVN: r235156
      Jonathan Wakely committed
    • Make use of extensions more explicit in libstdc++ tests · 4ed6e524
      	* testsuite/18_support/bad_exception/23591_thread-1.c: Add
      	-Wno-pedantic to dg-options.
      	* testsuite/20_util/align/2.cc: Use type as operand of alignof.
      	* testsuite/20_util/is_floating_point/value.cc: Add -Wno-pedantic
      	to dg-options.
      	* testsuite/20_util/specialized_algorithms/uninitialized_fill/32158.cc:
      	Remove extra semi-colon.
      	* testsuite/23_containers/array/tuple_interface/tuple_element.cc:
      	Always supply second argument to static_assert.
      	* testsuite/25_algorithms/lower_bound/no_operator_ne.cc: Remove extra
      	semi-colon.
      	* testsuite/26_numerics/complex/c99.cc: Add -Wno-pedantic to
      	dg-options.
      	* testsuite/26_numerics/complex/literals/values.cc: Likewise.
      	* testsuite/29_atomics/atomic/60695.cc: Likewise.
      	* testsuite/29_atomics/atomic/62259.cc: use __alignof__ instead of
      	alignof when operand is an object not a type.
      	* testsuite/decimal/ctor.cc: Add -Wno-pedantic to dg-options.
      	* testsuite/decimal/make-decimal.cc: Likewise.
      	* testsuite/experimental/type_traits/value.cc: Always supply second
      	argument to static_assert.
      	* testsuite/util/testsuite_common_types.h: Use __extension__ for
      	__int128 types.
      
      From-SVN: r235154
      Jonathan Wakely committed
    • Don't include internal header in libstdc++ tests · abb6e0a1
      	* testsuite/experimental/type_erased_allocator/1.cc: Don't include
      	internal header.
      	* testsuite/experimental/type_erased_allocator/1_neg.cc: Likewise.
      	* testsuite/experimental/type_erased_allocator/2.cc: Likewise.
      	* testsuite/experimental/type_erased_allocator/uses_allocator.cc:
      	Likewise. Add licence and change to compile-only test.
      
      From-SVN: r235153
      Jonathan Wakely committed
    • Add attribute((unused)) in libstdc++ headers · 6b6147dd
      	* include/bits/locale_facets.h (ctype::do_narrow): Add attribute to
      	unused parameter.
      	* include/bits/regex_automaton.h (_NFA::_M_insert_alt): Likewise.
      
      From-SVN: r235152
      Jonathan Wakely committed
    • Avoid -Wsign-compare warnings in std::to_string() · 8dc1e574
      	* include/ext/string_conversions.h (__stoa): Avoid -Wsign-compare
              warnings.
      
      From-SVN: r235151
      Jonathan Wakely committed
    • re PR tree-optimization/43434 (Missed vectorization: "not vectorized: data ref… · 8270b82d
      re PR tree-optimization/43434 (Missed vectorization: "not vectorized: data ref analysis": pointer incremented by a parameter)
      
      2016-04-18  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/43434
      	* tree-ssa-structalias.c (struct vls_data): New.
      	(visit_loadstore): Handle all pointer-based accesses.
      	(compute_dependence_clique): Compute a bitmap of restrict tags
      	assigned bases and pass it to visit_loadstore.
      
      	* gcc.dg/vect/pr43434.c: New testcase.
      	* c-c++-common/goacc/kernels-alias-3.c: Adjust.
      	* c-c++-common/goacc/kernels-alias-4.c: Likewise.
      	* c-c++-common/goacc/kernels-alias-5.c: Likewise.
      	* c-c++-common/goacc/kernels-alias-6.c: Likewise.
      	* c-c++-common/goacc/kernels-alias-7.c: Likewise.
      	* c-c++-common/goacc/kernels-alias-8.c: Likewise.
      	* gcc.dg/gomp/pr68640.c: Likewise.
      	* gfortran.dg/goacc/kernels-alias-3.f95: Likewise.
      	* gfortran.dg/goacc/kernels-alias-4.f95: Likewise.
      
      From-SVN: r235147
      Richard Biener committed
    • [multiple changes] · be035558
      2016-04-18  Arnaud Charlet  <charlet@adacore.com>
      
      	* einfo.adb (Overridden_Operation): assert that
      	function is called for valid arguments.
      	* sem_aggr.adb, sem_ch3.adb, sem_ch5.adb, sem_type.adb,
      	s-osinte-vxworks.ads, a-ngcefu.adb, sem_ch10.adb, einfo.ads,
      	sem_prag.adb, sem_ch12.adb, sem.adb, i-cobol.ads, freeze.adb,
      	sem_util.adb, a-chtgop.ads, s-rannum.adb, exp_ch6.adb, s-bignum.adb,
      	s-osinte-freebsd.ads, par-ch5.adb, a-chtgbo.ads, a-cofove.adb:
      	No space after closing parenthesis except where required for
      	layout.
      	* sem_res.adb: Minor reformatting.
      
      2016-04-18  Arnaud Charlet  <charlet@adacore.com>
      
      	* exp_ch4.adb (Expand_N_Case_Expression): Convert into a case
      	statement when relevant.
      
      2016-04-18  Bob Duff  <duff@adacore.com>
      
      	* a-cuprqu.adb (Enqueue): Properly handle the
      	case where the new element has a unique priority.
      
      2016-04-18  Tristan Gingold  <gingold@adacore.com>
      
      	* adaint.h: Define stat structures and functions for iOS
      	simulator.
      
      From-SVN: r235146
      Arnaud Charlet committed
    • [multiple changes] · 9d4f9832
      2016-04-18  Arnaud Charlet  <charlet@adacore.com>
      
      	* sem_res.adb (Resolve_Entry_Call): reset
      	Is_Overloaded flag after resolving calls to overloaded protected
      	operations.
      	* exp_spark.adb (Expand_SPARK): call
      	Qualify_Entity_Names for tasking nodes, i.e. protected types,
      	task types and entries.
      	* exp_ch4.adb (Expand_N_If_Expression): Refine previous change
      	in case of an unconstrained type.
      
      2016-04-18  Yannick Moy  <moy@adacore.com>
      
      	* sem_eval.adb, sem_eval.ads (Check_Non_Static_Context): Add
      	comment to document usage of subprogram in GNATprove.
      
      From-SVN: r235145
      Arnaud Charlet committed
    • [multiple changes] · a65dcb0d
      2016-04-18  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_prag.adb (Analyze_Pragma, case Test_Case): Improve error
      	message for wrong placement of aspect Test_Case.
      
      2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* einfo.ads: Update the documentation of attribute Renamed_Object.
      	* exp_spark.adb (Expand_Potential_Renaming): Reimplemented.
      
      2016-04-18  Gary Dismukes  <dismukes@adacore.com>
      
      	* exp_ch4.adb (Optimize_Length_Comparison): Return immediately
      	in the case of AAMP (same as for use of the -gnatd.P switch) to
      	suppress this optimization, which avoids creating a dependence
      	on the 64-bit arithmetic package.
      
      From-SVN: r235144
      Arnaud Charlet committed
    • Minor editing. · 7b3ccbbf
      From-SVN: r235143
      Arnaud Charlet committed
    • [multiple changes] · 7548f2cb
      2016-04-18  Arnaud Charlet  <charlet@adacore.com>
      
      	* exp_ch4.adb: Update comment.
      
      2016-04-18  Eric Botcazou  <ebotcazou@adacore.com>
      
      	* exp_ch6.adb (Expand_Call): Make sure instantiations are
      	registered only once as pending here.
      
      From-SVN: r235142
      Arnaud Charlet committed
    • [multiple changes] · f916243b
      2016-04-18  Arnaud Charlet  <charlet@adacore.com>
      
      	* exp_ch4.adb, gnat1drv.adb, opt.ads, sem_res.adb
      	(Minimize_Expression_With_Actions): New flag.
      	(Adjust_Global_Switches): Set Minimize_Expression_With_Actions
      	when generating C.
      	(Resolve_Short_Circuit): Redo previous change
      	using Minimize_Expression_With_Actions.
      	(Expand_N_If_Expression,
      	Expand_Short_Circuit_Operator): Restore old code to avoid
      	Expression_With_Actions when Minimize_Expression_With_Actions
      	is set.
      
      2016-04-18  Vincent Celier  <celier@adacore.com>
      
      	* s-os_lib.adb (Non_Blocking_Spawn, version with Stdout_File and
      	Stderr_File): Close local file descriptors when no longer needed.
      
      2016-04-18  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch5.adb (Analyze_Iterator_Specification): Remove SPARK
      	mode check that the type of the cursor in an iteration over
      	a formal container is not volatile. The proper check on the
      	element type is done elsewhere.
      
      2016-04-18  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch6.adb (Process_Formals): Do not set a delay freeze on
      	a subprogram that returns a class-wide type, if the subprogram
      	is a compilation unit, because otherwise gigi will treat the
      	subprogram as external, leading to link errors.
      
      From-SVN: r235141
      Arnaud Charlet committed
    • sem_res.adb (Resolve_Short_Circuit): Do not use expression-with-actions when generating C. · 22071092
      2016-04-18  Arnaud Charlet  <charlet@adacore.com>
      
      	* sem_res.adb (Resolve_Short_Circuit): Do not use
      	expression-with-actions when generating C.
      
      From-SVN: r235140
      Arnaud Charlet committed
    • [multiple changes] · ad81cb78
      2016-04-18  Yannick Moy  <moy@adacore.com>
      
      	* sem_util.adb (Apply_Compile_Time_Constraint_Error): Do not generate
      	raise node in GNATprove mode.
      
      2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* s-fileio.adb: Minor reformatting.
      	* sem_prag.adb (Analyze_Input_Item): Add local
      	variable Input_OK. Do not consider mappings of generic formal
      	parameters to actuals.
      
      2016-04-18  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch5.adb (Get_Cursor_Type): If iterator type is a derived
      	type, the cursor is declared in the scope of the parent type.
      	(Analyze_Parameter_Specification): A qualified expression with an
      	iterator type indicates an iteration over a container (explicit
      	or implicit).
      
      From-SVN: r235139
      Arnaud Charlet committed
    • [multiple changes] · 520c0201
      2016-04-18  Arnaud Charlet  <charlet@adacore.com>
      
      	* osint-c.ads, osint-c.adb (Delete_C_File, Delete_H_File): New.
      	* gnat1drv.adb (Gnat1drv): Delete old C files before regenerating them.
      	* debug.adb: Reserve -gnatd.4 to force generation of C files.
      
      2016-04-18  Yannick Moy  <moy@adacore.com>
      
      	* sem_eval.adb (Eval_Arithmetic_Op): Do not issue error on static
      	division by zero, instead possibly issue a warning.
      	* sem_res.adb (Resolve_Arithmetic_Op): Do not issue error on
      	static division by zero, instead add check flag on original
      	expression.
      	* sem_util.adb, sem_util.ads (Compile_Time_Constraint_Error):
      	Only issue error when both SPARK_Mode is On and Warn is False.
      
      2016-04-18  Yannick Moy  <moy@adacore.com>
      
      	* checks.adb (Apply_Scalar_Range_Check): Force
      	warning instead of error when SPARK_Mode is On, on index out of
      	bounds, and set check flag for GNATprove.
      
      From-SVN: r235138
      Arnaud Charlet committed
    • [multiple changes] · 274c2cda
      2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_prag.adb (Check_In_Out_States.Check_Constituent_Usage):
      	Update the comment on usage.  Reimplemented.
      	(Check_Input_States.Check_Constituent_Usage): Update the comment
      	on usage. A Proof_In constituent can now refine an Input state
      	as long as there is at least one Input constituent present.
      
      2016-04-18  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch6.adb (Check_Inline_Pragma): Use the Sloc of the
      	body id as the sloc of the entity in the generated subprogram
      	declaration, to avoid spurious conformance errors when style
      	checks are enabled.
      
      From-SVN: r235137
      Arnaud Charlet committed
    • [multiple changes] · a6363ed3
      2016-04-18  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch4.adb (Analyze_Selected_Component, Has_Dereference):
      	Refine check on illegal calls to entities within a task body,
      	when the entity is declared in an object of the same type. In
      	a generic context there might be no explicit dereference but if
      	the prefix includes an access type the construct is legal.
      
      2016-04-18  Arnaud Charlet  <charlet@adacore.com>
      
      	* rtsfind.ads, rtsfind.adb (RE_Id, RE_Unit_Table): add
      	RE_Default_Priority.
      
      2016-04-18  Bob Duff  <duff@adacore.com>
      
      	* sem_prag.adb (Check_Arg_Is_Local_Name): Don't do the check
      	if the pragma came from an aspect specification.
      
      2016-04-18  Gary Dismukes  <dismukes@adacore.com>
      
      	* gnat1drv.adb, contracts.adb: Minor reformatting and wording fixes.
      
      2016-04-18  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch6.adb (Analyze_Subprogram_Body_Helper): To suppress
      	superfluous conformance check on an inlined body with a previous
      	spec, use the fact that the generated declaration does not come
      	from source. We must treat the entity as coming from source to
      	enable some back-end inlining when pragma appears after the body.
      
      From-SVN: r235136
      Arnaud Charlet committed
    • [multiple changes] · 4afcf3a5
      2016-04-18  Gary Dismukes  <dismukes@adacore.com>
      
      	* lib-xref-spark_specific.adb, par-ch2.adb, errout.ads,
      	exp_intr.adb: Minor reformatting and typo corrections.
      
      2016-04-18  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch6.adb: Code cleanup.
      
      2016-04-18  Thomas Quinot  <quinot@adacore.com>
      
      	* sem_ch13.adb: Minor reformatting and error message tweaking
      	(remove extraneous spaces).
      
      2016-04-18  Johannes Kanig  <kanig@adacore.com>
      
      	* gnat1drv.adb (Gnat1drv): Force loading of System unit for SPARK.
      
      2016-04-18  Bob Duff  <duff@adacore.com>
      
      	* s-fileio.adb (Fopen_Mode): If Mode = Out_File, and the file
      	exists, and it's a fifo, we use "w" as the open string instead of
      	"r+". This is necessary to make a write to the fifo block until
      	a reader is ready.
      
      2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_attr.adb (Denote_Same_Function): Account
      	for a special case where a primitive of a tagged type inherits
      	a class-wide postcondition from a parent type.
      
      From-SVN: r235135
      Arnaud Charlet committed
    • par-ch2.adb (P_Expression_Or_Reserved_Word): New routine. · 58ba2415
      2016-04-18  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* par-ch2.adb (P_Expression_Or_Reserved_Word): New routine.
      	(P_Pragma): Signal Scan_Pragma_Argument_Association when the use
      	of reserved words is OK.
      	(Scan_Pragma_Argument_Association):
      	Add new formal Reserved_Words_OK and update the comment on
      	usage. Code cleanup. Parse an expression or a reserved word in
      	identifier form for pragmas Restriction_Warnings and Restrictions
      	No_Use_Of_Attribute.
      	* restrict.adb (Check_Restriction_No_Use_Of_Attribute):
      	Reimplemented.	(Check_Restriction_No_Use_Of_Pragma): Code cleanup.
      	(Set_Restriction_No_Specification_Of_Aspect): Properly set the warning
      	flag for an aspect.
      	(Set_Restriction_No_Use_Of_Attribute): Properly set the warning
      	flag for an attribute.	(Set_Restriction_No_Use_Of_Entity):
      	Update the parameter profile.
      	(Set_Restriction_No_Use_Of_Pragma): Properly set the warning flag for
      	a pragma.
      	* restrict.ads (Check_Restriction_No_Use_Of_Attribute): Update
      	the comment on usage.
      	(Set_Restriction_No_Use_Of_Entity): Update the parameter profile.
      	* sem_attr.adb (Analyze_Attribute): Check restriction
      	No_Use_Of_Attribute.
      	* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Check
      	restriction No_Use_Of_Attribute before any rewritings have
      	taken place.
      	* sem_prag.adb (Analyze_Pragma): Check restriction
      	No_Use_Of_Pragma before any rewritings have taken place.
      
      From-SVN: r235134
      Hristian Kirtchev committed
    • re PR target/70711 (GCC ARM big-endian ARMv8.1 code fails.) · 95e01976
      	PR target/70711
      	* config/arm/bpabi.h (BE8_LINK_SPEC): Add entries for armv8+crc,
      	armv8.1-a and armv8.1-a+crc.
      
      From-SVN: r235132
      Matthew Wahab committed
    • re PR tree-optimization/70701 (incomplete value numbering when memcpy-ing from array) · edd048e2
      2016-04-18  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/70701
      	* tree-ssa-sccvn.c (vn_reference_lookup_3): Resolve fully constant
      	references after translating through a memcpy.
      
      	* gcc.dg/tree-ssa/ssa-fre-53.c: New testcase.
      
      From-SVN: r235131
      Richard Biener committed
    • tree-ssa-pre.c (postorder, [...]): Make locals ... · 65833da6
      2016-04-18  Richard Biener  <rguenther@suse.de>
      
      	* tree-ssa-pre.c (postorder, postorder_num): Make locals ...
      	(compute_antic): ... here.  For partial antic use regular
      	postorder and scrap iteration.
      	(compute_partial_antic_aux): Remove unused return value.
      	(init_pre): Do not allocate postorder.
      	(fini_pre): Do not free postorder.
      
      From-SVN: r235130
      Richard Biener committed
    • sem_ch6.adb (Is_Inline_Pragma): The pragma argument can be a selected component... · b269f477
      2016-04-18  Bob Duff  <duff@adacore.com>
      
      	* sem_ch6.adb (Is_Inline_Pragma): The pragma
      	argument can be a selected component, which has no Chars field,
      	so we need to deal with that case (use the Selector_Name).
      	(Check_Inline_Pragma): We need to test Is_List_Member before
      	calling In_Same_List, because in case of a library unit, they're
      	not in lists, so In_Same_List fails an assertion.
      
      2016-04-18  Bob Duff  <duff@adacore.com>
      
      	* namet.ads, namet.adb: Add an Append that appends a
      	Bounded_String onto a Bounded_String. Probably a little more
      	efficient than "Append(X, +Y);". Also minor cleanup.
      	(Append_Decoded, Append_Decoded_With_Brackets, Append_Unqualified,
      	Append_Unqualified_Decoded): Make sure these work with non-empty
      	buffers.
      	* casing.ads, casing.adb (Set_Casing): Pass a Bounded_String
      	parameter, defaulting to Global_Name_Buffer.
      	* errout.ads, errout.adb (Adjust_Name_Case): Pass a
      	Bounded_String parameter, no default.
      	* exp_ch11.adb (Expand_N_Raise_Statement): Use local
      	Bounded_String instead of Global_Name_Buffer.
      	* exp_intr.ads, exp_intr.adb (Write_Entity_Name): Rename it
      	to Append_Entity_Name, and pass a Bounded_String parameter,
      	instead of using globals.
      	(Add_Source_Info): Pass a Bounded_String parameter, instead of
      	using globals.
      	(Expand_Source_Info): Use local instead of globals.
      	* stringt.ads, stringt.adb (Append): Add an Append procedure
      	for appending a String_Id onto a Bounded_String.
      	(String_To_Name_Buffer, Add_String_To_Name_Buffer): Rewrite in
      	terms of Append.
      	* sem_prag.adb (Set_Error_Msg_To_Profile_Name): Adjust for new
      	Adjust_Name_Case parameter.
      	* erroutc.adb, uname.adb: Don't pass D => Mixed_Case to
      	Set_Casing; that's the default.
      	* lib-xref-spark_specific.adb (Add_SPARK_Scope): Pretend that calls to
      	protected subprograms are entry calls; otherwise it is not possible to
      	distinguish them from regular subprogram calls.
      
      From-SVN: r235129
      Bob Duff committed
    • [multiple changes] · 876f1624
      2016-04-18  Gary Dismukes  <dismukes@adacore.com>
      
      	* sem_ch13.adb (Has_Good_Profile): Improvement
      	of error message. Now indicates subtype_mark of formal parameter
      	rather than the formal's name, plus minor rewording.
      
      2016-04-18  Pascal Obry  <obry@adacore.com>
      
      	* adaint.c, adaint.h, s-os_lib.ads: Add new routine Current_Process_Id.
      
      From-SVN: r235128
      Arnaud Charlet committed