1. 02 Oct, 2017 8 commits
    • Fix mismatched precisions in tree arithmetic · a1488398
      The tree wi:: decompose routine wasn't asserting that the requested
      precision matched the tree's precision.  This could make a difference
      for unsigned trees that are exactly N HWIs wide and that have the upper
      bit set, since we then need an extra zero HWI when extending it to wider
      precisions (as for wi::to_widest).
      
      This patch adds the assert and fixes the fallout shown by the testsuite.
      Go seems to be unaffected.
      
      2017-10-02  Richard Sandiford  <richard.sandiford@linaro.org>
      
      gcc/
      	* tree.h (wi::int_traits <const_tree>::decompose): Assert that the
      	requested precision matches the type's.
      	* calls.c (alloc_max_size): Calculate the new candidate size as
      	a widest_int and use wi::to_widest when comparing it with the
      	current candidate size.
      	* gimple-ssa-warn-alloca.c (pass_walloca::execute): Compare with
      	zero rather than integer_zero_node.
      	* match.pd: Check for a no-op conversion before using wi::add
      	rather than after.  Use tree_to_uhwi when summing small shift
      	counts into an unsigned int.
      
      gcc/c-family/
      	* c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_widest
      	when combining the original unconverted comparison operands.
      
      gcc/cp/
      	* constexpr.c (cxx_eval_store_expression): Use wi::to_widest
      	when comparing the array bounds with an ARRAY_REF index.
      
      gcc/ada/
      	* gcc-interface/decl.c (annotate_value): Use wi::to_widest when
      	handling the form (plus/mult (convert @0) @1).
      
      From-SVN: r253341
      Richard Sandiford committed
    • re PR c++/69977 (internal compiler error: Segmentation fault when using generic lambdas) · 1a6da556
      2017-10-02  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/69977
      	* g++.dg/cpp1y/lambda-generic-69977.C: New.
      
      From-SVN: r253340
      Paolo Carlini committed
    • re PR c++/59991 (Recursive lambda capture in C++1y constexpr function template… · 144d302e
      re PR c++/59991 (Recursive lambda capture in C++1y constexpr function template causes internal compiler error)
      
      2017-10-02  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/59991
      	* g++.dg/cpp0x/lambda/lambda-ice23.C: New.
      
      From-SVN: r253339
      Paolo Carlini committed
    • Require nonlocal_goto for gcc.c-torture/compile/pr82337.c · 7838c9a8
      2017-10-02  Tom de Vries  <tom@codesourcery.com>
      
      	* gcc.c-torture/compile/pr82337.c: Add
      	dg-require-effective-target nonlocal_goto.
      
      From-SVN: r253338
      Tom de Vries committed
    • [AArch64] PR71307: Define union class of POINTER+FP · f25a140b
      ALL_REGS doesn't function as a union class of POINTER_REGS and FP_REGS
      since it includes the CC register as well.  REGNO_REG_CLASS (CC_REGNUM)
      is NO_REGS, but of course NO_REGS rightly doesn't include CC_REGNUM.
      
      Adding a union class for POINTER+FP allows the RA to use it as the
      preferred or alternative class of a pseudo.  It also works as a
      union class of GENERAL+FP for modes that aren't allowed in SP.
      
      This is also needed for the SVE port, which adds predicate registers
      to the mix.
      
      2017-09-15  Richard Sandiford  <richard.sandiford@linaro.org>
      	    Alan Hayward  <alan.hayward@arm.com>
      	    David Sherwood  <david.sherwood@arm.com>
      
      gcc/
      	PR target/71307
      	* config/aarch64/aarch64.h (POINTER_AND_FP_REGS): New reg class.
      	(REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update accordingly.
      	* config/aarch64/aarch64.c (aarch64_class_max_nregs): Handle
      	POINTER_AND_FP_REGS.
      
      gcc/testsuite/
      	PR target/71307
      	* gcc.target/aarch64/vect_copy_lane_1.c: Remove XFAIL.
      
      Co-Authored-By: Alan Hayward <alan.hayward@arm.com>
      Co-Authored-By: David Sherwood <david.sherwood@arm.com>
      
      From-SVN: r253337
      Richard Sandiford committed
    • re PR tree-optimization/82355 (ICE in outermost_loop_in_sese, at sese.c:301) · 0389d86c
      2017-10-02  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/82355
      	* graphite-isl-ast-to-gimple.c (build_iv_mapping): Also build
      	a mapping for the enclosing loop but avoid generating one for
      	the loop tree root.
      	(copy_bb_and_scalar_dependences): Remove premature codegen
      	error on PHIs in blocks duplicated into multiple places.
      	* graphite-scop-detection.c
      	(scop_detection::stmt_has_simple_data_refs_p): For a loop not
      	in the region use it as loop and nest to analyze the DR in.
      	(try_generate_gimple_bb): Likewise.
      	* graphite-sese-to-poly.c (extract_affine_chrec): Adjust.
      	(add_loop_constraints): For blocks in a loop not in the region
      	create a dimension with a single iteration.
      	* sese.h (gbb_loop_at_index): Remove assert.
      
      	* gcc.dg/graphite/fuse-1.c: Adjust.
      	* gcc.dg/graphite/fuse-2.c: Likewise.
      	* gcc.dg/graphite/pr82355.c: New testcase.
      
      From-SVN: r253336
      Richard Biener committed
    • omp-expand.c (adjust_context_scope): New function. · 623c6df5
      	* omp-expand.c (adjust_context_scope): New function.
      	(expand_parallel_call): Call adjust_context_scope.
      
      From-SVN: r253335
      Kevin Buettner committed
    • Daily bump. · 25ce0f6c
      From-SVN: r253334
      GCC Administrator committed
  2. 01 Oct, 2017 4 commits
  3. 30 Sep, 2017 6 commits
    • config.gcc (*-*-netbsd*): New variable nbsd_tm_file containing netbsd.h,… · dfe2677b
      config.gcc (*-*-netbsd*): New variable nbsd_tm_file containing netbsd.h, netbsd-stdint.h, and netbsd-elf.h.
      
      2017-09-30  Krister Walfridsson  <krister.walfridsson@gmail.com>
      	    Maya Rashish  <coypu@sdf.org>
      
      	* config.gcc (*-*-netbsd*): New variable nbsd_tm_file containing
      	netbsd.h, netbsd-stdint.h, and netbsd-elf.h.
      	(alpha*-*-netbsd*) Use nbsd_tm_file.
      	(arm*-*-netbsdelf*) Likewise.
      	(i[34567]86-*-netbsdelf*) Likewise.
      	(x86_64-*-netbsd*) Likewise.
      	(mips*-*-netbsd*) Likewise.
      	(powerpc-*-netbsd*) Likewise.
      	(sh*-*-netbsd*) Likewise.
      	(sparc-*-netbsdelf*) Likewise.
      	(sparc64-*-netbsd*) Likewise.
      	(m68k*-*-netbsdelf*) Use nbsd_tm_file and add CHAR_FAST8/SHORT_FAST16
      	to tm_defines.
      	(vax-*-netbsdelf*) Likewise.
      	* config/netbsd-stdint.h (INT_FAST8_TYPE): Check CHAR_FAST8.
      	(UINT_FAST8_TYPE) Likewise.
      	(INT_FAST16_TYPE) Check CHAR_FAST16.
      	(UINT_FAST16_TYPE) Likewise.
      
      Co-Authored-By: Maya Rashish <coypu@sdf.org>
      
      From-SVN: r253323
      Krister Walfridsson committed
    • re PR c++/65949 (Compiler can not deduce auto type in lambda) · ae3f9c32
      2017-09-30  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/65949
      	* g++.dg/cpp1y/lambda-generic-variadic5.C: New.
      
      From-SVN: r253322
      Paolo Carlini committed
    • re PR c++/68754 (Explicitly defaulted constexpr assignment operator fails to compile) · 333cb612
      /cp
      2017-09-30  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/68754
      	* method.c (defaulted_late_check): Early return if the defaulted
      	declaration does not match the expected signature.
      
      /testsuite
      2017-09-30  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/68754
      	* g++.dg/cpp1y/constexpr-68754.C: Move...
      	* g++.dg/cpp0x/constexpr-68754.C: ... here, adjust.
      
      From-SVN: r253321
      Paolo Carlini committed
    • re PR target/82361 (Useless "mov eax, eax" in generated code) · 15c77315
      	PR target/82361
      	* config/i386/i386.md
      	(TARGET_USE_8BIT_IDIV zext divmodsi4 splitter): New define_split.
      	(divmodsi4_zext_1, divmodsi4_zext_2, *divmodsi4_zext_1,
      	*divmodsi4_zext_2): New define_insn_and_split.
      	(*divmodsi4_noext_zext_1, *divmodsi4_noext_zext_2): New define_insn.
      	(TARGET_USE_8BIT_IDIV zext udivmodsi4 splitter): New define_split.
      	(udivmodsi4_zext_1, udivmodsi4_zext_2, *udivmodsi4_zext_1,
      	*udivmodsi4_zext_2, *udivmodsi4_pow2_zext_1, *udivmodsi4_pow2_zext_2):
      	New define_insn_and_split.
      	(*udivmodsi4_noext_zext_1, *udivmodsi4_noext_zext_2): New define_insn.
      	* config/i386/i386.c (ix86_split_idivmod): Handle operands[0] or
      	operands[1] having DImode when mode is SImode.
      
      	* gcc.target/i386/pr82361-1.c: New test.
      	* gcc.target/i386/pr82361-2.c: New test.
      
      From-SVN: r253317
      Jakub Jelinek committed
    • i386.c (ix86_split_idivmod): Use mode instead of always SImode for DIV and MOD in REG_EQUAL notes. · 6bc1d858
      	* config/i386/i386.c (ix86_split_idivmod): Use mode instead of
      	always SImode for DIV and MOD in REG_EQUAL notes.
      
      From-SVN: r253316
      Jakub Jelinek committed
    • Daily bump. · 8811a7bb
      From-SVN: r253315
      GCC Administrator committed
  4. 29 Sep, 2017 22 commits
    • Order some filenames in a changelog entry. · b5e6b7ca
      From-SVN: r253311
      Segher Boessenkool committed
    • c-attribs.c (handle_noipa_attribute): Don't add "stack_protect" attribute. · 01c9fb68
      	* c-attribs.c (handle_noipa_attribute): Don't add "stack_protect"
      	attribute.
      
      From-SVN: r253308
      Jakub Jelinek committed
    • re PR middle-end/82319 (ICE in generic_simplify_148, at generic-match.c:6436) · b09bf97b
      2017-09-29  Yury Gribov  <tetra2005@gmail.com>
      
      	PR middle-end/82319
      gcc/
      	* match.pd: Fix handling of NaNs in pattern.
      
      gcc/testsuite/
      	* c-c++/common/pr57371-4.c: Test NaN comparisons.
      
      From-SVN: r253307
      Yury Gribov committed
    • c-ada-spec.c (to_ada_name): Add index parameter. · 6e3e8419
      	* c-ada-spec.c (to_ada_name): Add index parameter.
      	(pp_ada_tree_identifier): Likewise.
      	(dump_ada_macros): Adjust call to to_ada_name.
      	(struct overloaded_name_hash): New type.
      	(struct overloaded_name_hasher): Likewise.
      	(overloaded_names): New hash table.
      	(compute_overloading_index): New function.
      	(dump_ada_decl_name): Call it and pass the result to
      	pp_ada_tree_identifier.
      	(dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
      	(dump_ada_function_declaration): Likewise.
      	(dump_generic_ada_node): Likewise.
      	(print_constructor): Likewise.
      	(print_destructor): Likewise.
      	(dump_ada_specs): Delete overloaded_names table.
      
      From-SVN: r253306
      Eric Botcazou committed
    • sbitmap.c (bitmap_bit_in_range_p): New function. · e9d297a1
      	* sbitmap.c (bitmap_bit_in_range_p): New function.
      	* sbitmap.h (bitmap_bit_in_range_p): Prototype.
      	* tree-ssa-dse.c (live_bytes_read): New function.
      	(dse_classify_store): Ignore reads of dead bytes.
      
      	* testsuite/gcc.dg/tree-ssa/ssa-dse-26.c: New test.
      
      From-SVN: r253305
      Jeff Law committed
    • c-ada-spec.c (max_ada_macros): Move around. · 79310774
      	* c-ada-spec.c (max_ada_macros): Move around.
      	(store_ada_macro_index): Likewise.
      	(source_file): Rename into...
      	(macro_source_file): ...this.
      	(count_ada_macro): Move around.
      	(store_ada_macro): Likewise.
      	(compare_macro): Likewise.
      	(print_ada_macros): Merge in...
      	(dump_ada_macros): ...this.
      	(source_file_base): Rename into...
      	(current_source_file): ...this.
      	(print_comment): Move around.
      	(dump_ada_nodes): Call dump_ada_declaration directly.
      	(struct with): Change type of limited field to bool.
      	(append_withs): Change type of limited_access parameter to bool.
      	(pp_ada_tree_identifie): Likewise.
      	(dump_ada_decl_nam): Likewise.
      	(dump_generic_ada_node): Likewise.  Do not print the return type.
      	(to_ada_name): Change type of space_found parameter to bool.
      	(dump_ada_function_declaration): Return void and change type of
      	parameters to bool.  Also print the return type for a function.
      	(print_ada_methods): Rename into...
      	(dump_ada_methods): ...this.
      	(print_ada_declaration): Rename into ...
      	(dump_ada_declaration): ...this.  Do not print the return type.
      	(print_ada_struct_decl): Rename into...
      	(dump_ada_struct_decl): ...this.
      
      From-SVN: r253304
      Eric Botcazou committed
    • i386.c (ix86_adjust_stack_and_probe_stack_clash): Fix typos and whitespace errors. · 249be95c
      	* config/i386/i386.c (ix86_adjust_stack_and_probe_stack_clash): Fix
      	typos and whitespace errors.
      	* config/i386/predicates.md (address_no_seg_operand): Likewise.
      	* config/s390/s390.c (s390_emit_prologue): Likewise.
      
      From-SVN: r253303
      Jeff Law committed
    • P0683R1 - default member initializers for bit-fields · 603be022
      	P0683R1 - default member initializers for bit-fields
      cp/
      	* cp-tree.h (grokbitfield): Add INIT parameter.
      	* parser.c (cp_parser_constant_expression): Add STRICT_P argument,
      	if true, parse a conditional-expression rather than
      	assignment-expression.
      	(cp_parser_member_declaration): For C++11 and later pass true
      	as STRICT_P to cp_parser_constant_expression.  Parse C++2A bitfield
      	NSDMIs.  Adjust grokbitfield caller.  Handle DECL_INITIAL also for
      	DECL_C_BIT_FIELDs.
      	(cp_parser_objc_class_ivars): Adjust grokbitfield caller.
      	* class.c (check_field_decl): Recurse even for DECL_C_BIT_FIELDs.
      	(check_field_decls): Call check_field_decl even for DECL_C_BIT_FIELDs.
      	* decl2.c (grokbitfield): Add INIT parameter, pass it to
      	cp_finish_decl.
      	* pt.c (tsubst_decl): Handle DECL_INITIAL for all FIELD_DECLs, not
      	just non-bitfields.
      testsuite/
      	* g++.dg/ext/bitfield6.C: New test.
      	* g++.dg/cpp2a/bitfield1.C: New test.
      	* g++.dg/cpp2a/bitfield2.C: New test.
      	* g++.dg/cpp2a/bitfield3.C: New test.
      
      From-SVN: r253302
      Jakub Jelinek committed
    • c-attribs.c (handle_packed_attribute): Test DECL_C_BIT_FIELD rather than DECL_INITIAL. · 7d386d45
      c-family/
      	* c-attribs.c (handle_packed_attribute): Test DECL_C_BIT_FIELD
      	rather than DECL_INITIAL.
      	(common_handle_aligned_attribute): Likewise.
      c/
      	* c-decl.c (grokfield): Use SET_DECL_C_BIT_FIELD here if
      	width is non-NULL.
      	(finish_struct): Test DECL_C_BIT_FIELD instead of DECL_INITIAL,
      	don't SET_DECL_C_BIT_FIELD here.
      cp/
      	* class.c (check_bitfield_decl): Retrieve and clear width from
      	DECL_BIT_FIELD_REPRESENTATIVE rather than DECL_INITIAL.
      	(check_field_decls): Test DECL_BIT_FIELD_REPRESENTATIVE rather than
      	DECL_INITIAL.
      	(remove_zero_width_bit_fields): Adjust comment.
      	* decl2.c (grokbitfield): Stash width into
      	DECL_BIT_FIELD_REPRESENTATIVE rather than DECL_INITIAL.
      	* pt.c (tsubst_decl): For DECL_C_BIT_FIELD, tsubst_expr
      	DECL_BIT_FIELD_REPRESENTATIVE rather than DECL_INITIAL for width.
      objc/
      	* objc-act.c (check_ivars, gen_declaration): For OBJCPLUS look at
      	DECL_BIT_FIELD_REPRESENTATIVE rather than DECL_INITIAL.
      
      From-SVN: r253301
      Jakub Jelinek committed
    • re PR target/81481 (Spills %xmm to stack in glibc strspn SSE 4.2 variant) · 9129a561
      2017-09-29  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR target/81481
      	* ira-costs.c (scan_one_insn): Don't take into account PIC equiv
      	with a symbol for LRA.
      
      2017-09-29  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR target/81481
      	* gcc.target/i386/pr81481.c: New.
      
      From-SVN: r253300
      Vladimir Makarov committed
    • re PR rtl-optimization/82338 (valgrind error in inherit_in_ebb) · 851dac7c
      2017-09-29  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR rtl-optimization/82338
      	* lra-constraints.c (inherit_in_ebb): Check usage_insns check.
      
      From-SVN: r253299
      Vladimir Makarov committed
    • [BRIGFE] Fix crash with calls with more than 4 args. · e1e299f3
      Also fix a misexecution issue with kernels that have
      both unexpanded ID functions and calls to subfunctions.
      
      From-SVN: r253298
      Henry Linjamäki committed
    • xcoff.c: Initial support for DWARF debug sections in XCOFF. · e90c74f5
      	* xcoff.c: Initial support for DWARF debug sections in XCOFF.
      	(STYP_DWARF, SSUBTYP_DW*): Define.
      	(enum dwarf_section): Define.
      	(struct dwsect_info): Define.
      	(xcoff_add): Look for DWARF sections, pass them to
      	backtrace_dwarf_add.
      
      From-SVN: r253297
      Tony Reix committed
    • swaps-p8-30.c: Exchange the order of dg-do and dg-require-effective-target directives to... · a815fe44
      gcc/testsuite/ChangeLog:
      
      2017-09-29  Kelvin Nilsen  <kelvin@gcc.gnu.org>
      
      	* gcc.target/powerpc/swaps-p8-30.c: Exchange the order of dg-do
      	and dg-require-effective-target directives to correct testing
      	behavior.
      	* gcc.target/powerpc/swaps-p8-32.c: Likewise.
      	* gcc.target/powerpc/swaps-p8-41.c: Likewise.
      	* gcc.target/powerpc/swaps-p8-34.c: Likewise.
      	* gcc.target/powerpc/swaps-p8-43.c: Likewise.
      	* gcc.target/powerpc/swaps-p8-36.c: Likewise.
      	* gcc.target/powerpc/swaps-p8-45.c: Likewise.
      	* gcc.target/powerpc/swaps-p8-29.c: Likewise.
      	* gcc.target/powerpc/swaps-p8-38.c: Likewise.
      	* gcc.target/powerpc/swaps-p8-31.c: Likewise.
      	* gcc.target/powerpc/swaps-p8-40.c: Likewise.
      	* gcc.target/powerpc/swaps-p8-33.c: Likewise.
      	* gcc.target/powerpc/swaps-p8-42.c: Likewise.
      	* gcc.target/powerpc/swaps-p8-35.c: Likewise.
      	* gcc.target/powerpc/swaps-p8-44.c: Likewise.
      	* gcc.target/powerpc/swaps-p8-28.c: Likewise.
      	* gcc.target/powerpc/swaps-p8-37.c: Likewise.
      	* gcc.target/powerpc/swaps-p8-39.c: Likewise.
      
      From-SVN: r253296
      Kelvin Nilsen committed
    • qsort comparator consistency checking · 9e686ea1
      	* genmodes.c (calc_wider_mode): Suppress qsort macro.
      	* system.h [CHECKING_P] (qsort): Redirect to qsort_chk.
      	(qsort_chk): Declare.
      	* vec.c [CHECKING_P] (qsort_chk_error): New static function.
      	(qsort_chk): New function.
      
      From-SVN: r253295
      Alexander Monakov committed
    • [multiple changes] · cd644ae2
      2017-09-29  Bob Duff  <duff@adacore.com>
      
      	* exp_ch6.adb (Expand_Call_Helper): Replace with code more similar to
      	what we had before.
      	(Make_Build_In_Place_Call_In_Object_Declaration): Back out previous
      	change. Set the Etype in the class-wide case. This fixes a regression
      	in the libadalang test suite.
      
      2017-09-29  Joel Brobecker  <brobecker@adacore.com>
      
      	* doc/gnat_ugn/building_executable_programs_with_gnat.rst,
      	doc/gnat_ugn/the_gnat_compilation_model.rst: Avoid use of single colon
      	in comment markup.
      	* gnat_ugn.texi: Regenerate.
      
      2017-09-29  Justin Squirek  <squirek@adacore.com>
      
      	* ali-util.adb, comperr.adb, cprint.adb, errout.adb, fmap.adb,
      	fname-sf.adb, frontend.adb, lib-xref-spark_specific.adb, gnat1drv.adb,
      	gnatls.adb, lib.adb, lib-load.adb, lib-writ.adb, prepcomp.adb,
      	sinput-d.adb, sinput-l.adb, sprint.adb, targparm.adb: Update comparison
      	for checking source file status and error message and/or call to
      	Read_Source_File.
      	* libgnat/s-os_lib.ads: Add new potential value constant for
      	uninitialized file descriptors.
      	* osint.adb, osint.ads (Read_Source_File): Add extra parameter to
      	return result of IO to encompass a read access failure in addition to a
      	file-not-found error.
      
      From-SVN: r253294
      Pierre-Marie de Rodat committed
    • re PR tree-optimization/82337 (ICE: SSA corruption at tree-ssa-coalesce.c:1010) · e75210d6
      [gcc]
      
      2017-09-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	PR tree-optimization/82337
      	* gimple-ssa-strength-reduction.c (find_phi_def): Don't record a
      	phi definition if the PHI result appears in an abnormal PHI.
      	(find_basis_for_base_expr): Don't record a basis if the LHS of the
      	basis appears in an abnormal PHI.
      
      [gcc]
      
      2017-09-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	PR tree-optimization/82337
      	* gcc.c-torture/compile/pr82337.c: New file.
      
      From-SVN: r253293
      Bill Schmidt committed
    • debug/elf: support 32-bit SPARC relocs · eafa7a90
          
          Patch by Rainer Orth.
          
          Reviewed-on: https://go-review.googlesource.com/67111
      
      From-SVN: r253292
      Ian Lance Taylor committed
    • mksysinfo: strip locale structs · 03907394
          
          We don't need them, and this fixes the build when using uClibc-ng
          1.0.26 as originally reported at
          https://gcc.gnu.org/ml/gcc-patches/2017-09/msg01930.html
          
          Reviewed-on: https://go-review.googlesource.com/67110
      
      From-SVN: r253291
      Ian Lance Taylor committed
    • exp_ch6.adb (Expand_Call_Helper): Handle case of build-in-place functions… · d4dfb005
      exp_ch6.adb (Expand_Call_Helper): Handle case of build-in-place functions returning nonlimited types.
      
      2017-09-29  Bob Duff  <duff@adacore.com>
      
      	* exp_ch6.adb (Expand_Call_Helper): Handle case of build-in-place
      	functions returning nonlimited types. Allow for qualified expressions
      	and type conversions.
      	(Expand_N_Extended_Return_Statement): Correct the computation of
      	Func_Bod to allow for child units.
      	(Expand_Simple_Function_Return): Remove assumption that b-i-p implies
      	limited (initialization of In_Place_Expansion), and implies >= Ada
      	2005.
      	(Is_Build_In_Place_Result_Type): New function to accompany
      	Is_Build_In_Place_Function and Is_Build_In_Place_Function_Call, because
      	sometimes we just have the type on our hands, not the function.  For
      	now, does the same thing as the old version, so build-in-place is
      	disabled for nonlimited types, except that you can use -gnatd.9 to
      	enable it.
      	* exp_ch6.ads (Is_Build_In_Place_Result_Type): New function to
      	accompany Is_Build_In_Place_Function and
      	Is_Build_In_Place_Function_Call, because sometimes we just have the
      	type on our hands, not the function.
      	(Make_Build_In_Place_Call_In_...): Handle nonlimited build-in-place
      	cases.
      	(Make_Build_In_Place_Call_In_Object_Declaration): Remove the
      	questionable code at the end that was setting the Etype.
      	* exp_aggr.adb (Is_Build_In_Place_Aggregate_Return): New function to
      	determine whether "return (...agg...);" is returning from a
      	build-in-place function.
      	(Initialize_Ctrl_Array_Component, Initialize_Ctrl_Record_Component):
      	Remove assumption that b-i-p implies limited (initialization of
      	In_Place_Expansion).
      	(Build_Record_Aggr_Code): AI-287: fix comment; it can't be wrapped in
      	an unchecked conversion.  Add assertions.
      	(Convert_Aggr_In_Object_Decl): Establish_Transient_Scope -- no need for
      	secondary stack here, just because the type needs finalization.  That
      	code is obsolete.
      	(Convert_To_Assignments): Only set Unc_Decl if Nkind (N) = N_Aggregate.
      	For "return (...agg...);" don't assume b-i-p implies limited.
      	Needs_Finalization does not imply secondary stack.
      	(Expand_Array_Aggregate): Named notation.  Reverse the sense of
      	Component_OK_For_Backend -- more readability with fewer double
      	negatives.
      	* exp_attr.adb (Expand_N_Attribute_Reference): Remove assumptions that
      	b-i-p implies >= Ada 2005.
      	* exp_ch3.adb (Expand_N_Object_Declaration): Remove assumptions that
      	b-i-p implies >= Ada 2005.  Remove Adjust if we're building the return
      	object of an extended return statement in place.
      	* exp_ch4.adb (Expand_Allocator_Expression, Expand_N_Indexed_Component,
      	Expand_N_Selected_Component, Expand_N_Slice): Remove assumptions that
      	b-i-p implies >= Ada 2005.
      	* exp_ch5.adb (Expand_N_Assignment_Statement): Remove assumption that
      	b-i-p implies >= Ada 2005.
      	* exp_ch7.adb: Comment fix.
      	* exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Remove
      	assumptions that b-i-p implies >= Ada 2005.
      	* exp_disp.adb (Expand_Interface_Actuals): Remove assumptions that
      	b-i-p implies >= Ada 2005.
      	* exp_util.adb (Build_Allocate_Deallocate_Proc): Look at Storage_Pool
      	(Expr), in case Pool_Id is not set.
      	(Initialized_By_Aliased_BIP_Func_Call): Handle case where the call is
      	qualified or converted.
      	(Is_Secondary_Stack_BIP_Func_Call): Don't check if Nkind (Selector_Name
      	(Param)) = N_Identifier; that's all it could be.
      	* sinfo.ads: Comment fixes.
      	* snames.ads-tmpl: Comment fixes.
      	* debug.adb: Add flag gnatd.9, to enable the build-in-place machinery.
      
      From-SVN: r253290
      Bob Duff committed
    • Add missing ChangeLog entries for previous commit · 52c6ab74
      From-SVN: r253289
      Javier Miranda committed
    • [multiple changes] · ccd0ed95
      2017-09-29  Justin Squirek  <squirek@adacore.com>
      
      	* sem_ch8.adb (Analyze_Use_Package): Add sanity check to avoid
      	circularities in the use-clause chain.
      
      2017-09-29  Javier Miranda  <miranda@adacore.com>
      
      	* sem_ch3.adb (Replace_Components): Update references to discriminants
      	located in variant parts inherited from the parent type.
      
      2017-09-29  Javier Miranda  <miranda@adacore.com>
      
      	* exp_ch5.adb (Expand_Assign_Record): Do not generate code to copy
      	discriminants if the target is an Unchecked_Union record type.
      
      2017-09-29  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_aggr.adb (Resolve_Record_Aggregate): Reject the use of an
      	iterated component association in an aggregate for a record type.
      
      2017-09-29  Piotr Trojanek  <trojanek@adacore.com>
      
      	* make.adb: Minor whitespace fixes.
      	* libgnat/s-resfil.ads: Minor reformatting.
      
      From-SVN: r253288
      Pierre-Marie de Rodat committed