Commit Graph

156489 Commits

Author SHA1 Message Date
Thomas Schwinge
dd954c67ab libbacktrace: Support the case that clock_gettime is in librt
libbacktrace/
	PR other/67165
	* Makefile.am: Append the content of clock_gettime_link to
	ztest_LDADD.
	* configure.ac: Test for the case that clock_gettime is in librt.
	* Makefile.in: Regenerate.
	* configure: Likewise.

From-SVN: r253345
2017-10-02 13:56:39 +02:00
Thomas Schwinge
dbc31f20d3 libbacktrace: Conditionalize test timing on clock_gettime availability
libbacktrace/
	PR other/67165
	* configure.ac: Check for clock_gettime.
	* config.h.in: Regenerate.
	* configure: Likewise.
	* ztest.c (average_time, test_large): Conditionalize test timing
	on clock_gettime availability.

From-SVN: r253344
2017-10-02 13:56:25 +02:00
Georg-Johann Lay
6146ee7373 re PR target/41076 ([avr] pessimal code for logical OR of 8-bit fields)
PR target/41076
	* confg/avr/avr.md (*iorhi3.ashift8-ext.zerox): Add "r,r,0"
	alternative.

From-SVN: r253343
2017-10-02 11:31:03 +00:00
Richard Biener
96e2d1d1ae graphite-isl-ast-to-gimple.c (set_codegen_error): With -fchecking and --param graphite-allow-codegen-errors=0 ICE.
2017-10-02  Richard Biener  <rguenther@suse.de>

	* graphite-isl-ast-to-gimple.c (set_codegen_error): With
	-fchecking and --param graphite-allow-codegen-errors=0 ICE.
	* params.def (PARAM_GRAPHITE_ALLOW_CODEGEN_ERRORS): New param.

	* gcc.dg/graphite/graphite.exp: Add -fdump-tree-graphite-details.
	* gcc.dg/graphite/id-15.c: Adjust for existing codegen errors.
	* gcc.dg/graphite/id-16.c: Likewise.
	* gcc.dg/graphite/pr46168.c: Likewise.
	* gcc.dg/graphite/pr68756.c: Likewise.
	* gcc.dg/graphite/pr69728.c: Likewise.
	* gcc.dg/graphite/pr71575-2.c: Likewise.
	* gcc.dg/graphite/pr77362.c: Likewise.
	* gcc.dg/graphite/pr81373.c: Likewise.
	* gcc.dg/graphite/run-id-pr67700-1.c: Likewise.
	* gfortran.dg/graphite/interchange-1.f: Likewise.
	* gfortran.dg/graphite/pr29581.f90: Likewise.
	* gfortran.dg/graphite/pr42334-1.f: Likewise.
	* gfortran.dg/graphite/pr42393-1.f90: Likewise.
	* gfortran.dg/graphite/pr42393.f90: Likewise.
	* gfortran.dg/graphite/pr47019.f: Likewise.

From-SVN: r253342
2017-10-02 10:04:00 +00:00
Richard Sandiford
a1488398d4 Fix mismatched precisions in tree arithmetic
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
2017-10-02 09:45:40 +00:00
Paolo Carlini
1a6da556c4 re PR c++/69977 (internal compiler error: Segmentation fault when using generic lambdas)
2017-10-02  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/69977
	* g++.dg/cpp1y/lambda-generic-69977.C: New.

From-SVN: r253340
2017-10-02 09:41:36 +00:00
Paolo Carlini
144d302eeb 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
2017-10-02 09:03:32 +00:00
Tom de Vries
7838c9a8db Require nonlocal_goto for gcc.c-torture/compile/pr82337.c
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
2017-10-02 09:02:05 +00:00
Richard Sandiford
f25a140b6a [AArch64] PR71307: Define union class of POINTER+FP
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
2017-10-02 08:11:07 +00:00
Richard Biener
0389d86c4e re PR tree-optimization/82355 (ICE in outermost_loop_in_sese, at sese.c:301)
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
2017-10-02 07:32:52 +00:00
Kevin Buettner
623c6df543 omp-expand.c (adjust_context_scope): New function.
* omp-expand.c (adjust_context_scope): New function.
	(expand_parallel_call): Call adjust_context_scope.

From-SVN: r253335
2017-10-02 00:27:21 +00:00
GCC Administrator
25ce0f6cd8 Daily bump.
From-SVN: r253334
2017-10-02 00:16:19 +00:00
Gerald Pfeifer
7b5f5267b9 MAINTAINERS: Add a note that maintainership also includes web pages...
* MAINTAINERS: Add a note that maintainership also includes web
	pages, docs, and testsuite related to that area.

From-SVN: r253330
2017-10-01 18:36:37 +00:00
Jeff Law
aa2a59fc60 tree-ssa-dom.c (optimize_stmt): Make this a method within the dom_opt_dom_walker class with direct access to...
* tree-ssa-dom.c (optimize_stmt): Make this a method within the
	dom_opt_dom_walker class with direct access to private members.
	Add comments.  Call test_for_singularity.
	(dom_opt_dom_walker::before_dom_children): Corresponding changes.
	(dom_opt_dom_walker::after_dom_children): Do not lazily initialize
	m_dummy_cond anymore.
	(class dom_opt_dom_walker): Initialize m_dummy_cond member in the
	class ctor.
	(pass_dominator:execute): Build the dummy_cond here and pass it
	to the dom_opt_dom_walker ctor.
	(test_for_singularity): New function.

	* gcc.dg/tree-ssa/ssa-dom-simplify-1.c: New test.

2017-09-30  Paolo Carlini  <paolo.carlini@oracle.com>

From-SVN: r253329
2017-10-01 09:22:39 -06:00
Dominique d'Humieres
efa1d7a216 re PR fortran/61450 (ICE in gfc_global_used())
2017-10-01  Dominique d'Humieres  <dominiq@lps.ens.fr>

	PR fortran/61450
	* parse.c (gfc_global_used): Replace the gfc_internal_error
	with an error.

2017-10-01  Dominique d'Humieres  <dominiq@lps.ens.fr>

	PR fortran/61450
	* gfortran.dg/binding_label_tests_28.f90: New test.

From-SVN: r253328
2017-10-01 11:49:48 +02:00
GCC Administrator
ce22a7f915 Daily bump.
From-SVN: r253327
2017-10-01 00:16:19 +00:00
Krister Walfridsson
dfe2677b27 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
2017-09-30 20:45:59 +00:00
Paolo Carlini
ae3f9c32ae re PR c++/65949 (Compiler can not deduce auto type in lambda)
2017-09-30  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/65949
	* g++.dg/cpp1y/lambda-generic-variadic5.C: New.

From-SVN: r253322
2017-09-30 20:42:05 +00:00
Paolo Carlini
333cb61200 re PR c++/68754 (Explicitly defaulted constexpr assignment operator fails to compile)
/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
2017-09-30 17:00:32 +00:00
Jakub Jelinek
15c7731500 re PR target/82361 (Useless "mov eax, eax" in generated code)
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
2017-09-30 10:10:15 +02:00
Jakub Jelinek
6bc1d858fb i386.c (ix86_split_idivmod): Use mode instead of always SImode for DIV and MOD in REG_EQUAL notes.
* config/i386/i386.c (ix86_split_idivmod): Use mode instead of
	always SImode for DIV and MOD in REG_EQUAL notes.

From-SVN: r253316
2017-09-30 09:59:27 +02:00
GCC Administrator
8811a7bb93 Daily bump.
From-SVN: r253315
2017-09-30 00:16:18 +00:00
Segher Boessenkool
b5e6b7caf5 Order some filenames in a changelog entry.
From-SVN: r253311
2017-09-30 00:49:24 +02:00
Jakub Jelinek
01c9fb6865 c-attribs.c (handle_noipa_attribute): Don't add "stack_protect" attribute.
* c-attribs.c (handle_noipa_attribute): Don't add "stack_protect"
	attribute.

From-SVN: r253308
2017-09-29 23:06:28 +02:00
Yury Gribov
b09bf97bcd re PR middle-end/82319 (ICE in generic_simplify_148, at generic-match.c:6436)
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
2017-09-29 19:40:16 +00:00
Eric Botcazou
6e3e841997 c-ada-spec.c (to_ada_name): Add index parameter.
* 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
2017-09-29 18:51:00 +00:00
Jeff Law
e9d297a15d sbitmap.c (bitmap_bit_in_range_p): New function.
* 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
2017-09-29 12:20:41 -06:00
Eric Botcazou
7931077483 c-ada-spec.c (max_ada_macros): Move around.
* 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
2017-09-29 18:17:47 +00:00
Jeff Law
249be95c77 i386.c (ix86_adjust_stack_and_probe_stack_clash): Fix typos and whitespace errors.
* 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
2017-09-29 12:11:40 -06:00
Jakub Jelinek
603be0224e P0683R1 - default member initializers for bit-fields
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
2017-09-29 19:53:50 +02:00
Jakub Jelinek
7d386d4508 c-attribs.c (handle_packed_attribute): Test DECL_C_BIT_FIELD rather than DECL_INITIAL.
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
2017-09-29 19:45:32 +02:00
Vladimir Makarov
9129a56198 re PR target/81481 (Spills %xmm to stack in glibc strspn SSE 4.2 variant)
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
2017-09-29 17:39:58 +00:00
Vladimir Makarov
851dac7c20 re PR rtl-optimization/82338 (valgrind error in inherit_in_ebb)
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
2017-09-29 17:15:24 +00:00
Henry Linjamäki
e1e299f335 [BRIGFE] Fix crash with calls with more than 4 args.
Also fix a misexecution issue with kernels that have
both unexpanded ID functions and calls to subfunctions.

From-SVN: r253298
2017-09-29 16:57:18 +00:00
Tony Reix
e90c74f598 xcoff.c: Initial support for DWARF debug sections in XCOFF.
* 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
2017-09-29 16:37:39 +00:00
Kelvin Nilsen
a815fe4457 swaps-p8-30.c: Exchange the order of dg-do and dg-require-effective-target directives to...
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
2017-09-29 16:07:55 +00:00
Alexander Monakov
9e686ea1c9 qsort comparator consistency checking
* 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
2017-09-29 19:00:15 +03:00
Pierre-Marie de Rodat
cd644ae2bc [multiple changes]
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
2017-09-29 15:33:23 +00:00
Bill Schmidt
e75210d645 re PR tree-optimization/82337 (ICE: SSA corruption at tree-ssa-coalesce.c:1010)
[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
2017-09-29 14:55:14 +00:00
Ian Lance Taylor
eafa7a907b debug/elf: support 32-bit SPARC relocs
Patch by Rainer Orth.
    
    Reviewed-on: https://go-review.googlesource.com/67111

From-SVN: r253292
2017-09-29 14:35:58 +00:00
Ian Lance Taylor
039073944d mksysinfo: strip locale structs
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
2017-09-29 14:14:40 +00:00
Bob Duff
d4dfb00562 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
2017-09-29 13:48:57 +00:00
Javier Miranda
52c6ab7443 Add missing ChangeLog entries for previous commit
From-SVN: r253289
2017-09-29 13:26:55 +00:00
Pierre-Marie de Rodat
ccd0ed95a8 [multiple changes]
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
2017-09-29 13:22:45 +00:00
Dominique d'Humieres
1dce26a11d re PR fortran/25071 (dummy argument larger than actual argument)
2017-09-29  Dominique d'Humieres  <dominiq@lps.ens.fr>

	PR fortran/25071
	* gfortran.dg/argument_checking_3.f90: Change warnings to errors.
	* gfortran.dg/argument_checking_4.f90: Likewise.
	* gfortran.dg/argument_checking_5.f90: Likewise.
	* gfortran.dg/argument_checking_6.f90: Likewise.
	* gfortran.dg/argument_checking_10.f90: Likewise.
	* gfortran.dg/argument_checking_13.f90: Likewise.
	* gfortran.dg/argument_checking_15.f90: Likewise.
	* gfortran.dg/argument_checking_18.f90: Likewise.
	* gfortran.dg/gomp/udr8.f90: Likewise.
	* gfortran.dg/warn_argument_mismatch_1.f90: Add -std=legacy to
	the dg-options.

From-SVN: r253287
2017-09-29 15:19:21 +02:00
Dominique d'Humieres
37d92a7e0e re PR fortran/25071 (dummy argument larger than actual argument)
2017-09-29  Dominique d'Humieres  <dominiq@lps.ens.fr>

	PR fortran/25071
	* interface.c (compare_actual_formal): Change warnings to errors
	when "Actual argument contains too few elements for dummy
	argument", unless -std=legacy is used.

From-SVN: r253286
2017-09-29 15:15:26 +02:00
Pierre-Marie de Rodat
20ad05861e [multiple changes]
2017-09-29  Justin Squirek  <squirek@adacore.com>

	* sem_ch8.adb (Mark_Use_Clauses): Add recursive call to properly handle
	all cases related to marking entity identifiers.

2017-09-29  Vasiliy Fofanov  <fofanov@adacore.com>

	* adaint.c (win32_wait): Properly handle error and take into account
	the WIN32 limitation on the number of simultaneous wait objects.

2017-09-29  Vasiliy Fofanov  <fofanov@adacore.com>

	* cal.c: Minor proofreading.

2017-09-29  Vasiliy Fofanov  <fofanov@adacore.com>

	* doc/gnat_ugn/gnat_utility_programs.rst: Minor formatting fix.
	* gnat_ugn.texi: Regenerate.

2017-09-29  Bob Duff  <duff@adacore.com>

	* lib-xref.ads: Comment fix.

2017-09-29  Bob Duff  <duff@adacore.com>

	* exp_aggr.adb: Remove calls to Set_No_Ctrl_Actions for discriminants.
	Discriminants can't need finalization.

2017-09-29  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Analyze_Expression_Function): Do not emit freeze nodes
	for types in expression if the function is within a generic unit.
	* sem_res.adb (Resolve): In a generic context do not freeze an
	expression, unless it is an entity. This exception is solely for the
	purpose of detecting illegal uses of deferred constants in generic
	units.
	* sem_res.adb: Minor reformatting.

From-SVN: r253285
2017-09-29 13:04:47 +00:00
Pierre-Marie de Rodat
5b1265cc86 [multiple changes]
2017-09-29  Justin Squirek  <squirek@adacore.com>

	* sem_ch8.adb (Note_Redundant_Use): Add guard to protect against false
	redundant warnings.

2017-09-29  Yannick Moy  <moy@adacore.com>

	* sinput-c.adb: Remove unused with-clause on Ada.Unchecked_Conversion.

2017-09-29  Eric Botcazou  <ebotcazou@adacore.com>

	* doc/gnat_rm/representation_clauses_and_pragmas.rst: Minor rewording.
	* doc/gnat_rm/implementation_defined_pragmas.rst (Optimize_Alignment):
	Document the effect of pragma Optimize_Alignment (Space) on non-packed
	record types.
	* gnat_rm.texi: Regenerate.

From-SVN: r253284
2017-09-29 12:53:24 +00:00
Richard Biener
5e865972a4 2017-09-29 Richard Biener <rguenther@suse.de>
* graphite-isl-ast-to-gimple.c
	(translate_isl_ast_to_gimple::set_codegen_error): New function.
	(binary_op_to_tree): Use it.
	(get_rename_from_scev): Likewise.
	(copy_loop_phi_nodes): Likewise.
	(copy_bb_and_scalar_dependences): Likewise.
	(translate_pending_phi_nodes): Likewise.

From-SVN: r253282
2017-09-29 08:54:01 +00:00
Jakub Jelinek
27746ca994 parser.c (cp_parser_member_declaration): Parse attributes before colon of a bitfield in addition to after colon.
cp/
	* parser.c (cp_parser_member_declaration): Parse attributes before
	colon of a bitfield in addition to after colon.
testsuite/
	* g++.dg/ext/bitfield7.C: New test.
	* g++.dg/ext/bitfield8.C: New test.
	* g++.dg/ext/bitfield9.C: New test.

From-SVN: r253281
2017-09-29 09:49:15 +02:00