Commit Graph

160016 Commits

Author SHA1 Message Date
Marek Polacek
587b2f674c re PR c++/84590 (-fsanitize=undefined internal compiler error: tree check: expected constructor, have target_expr in split_nonconstant_init_1, at cp/typeck2.c:629)
PR c++/84590
	* cp-gimplify.c (cp_fully_fold): Unwrap TARGET_EXPR or a CONSTRUCTOR
	wrapped in VIEW_CONVERT_EXPR.

	* c-c++-common/ubsan/shift-11.c: New test.

From-SVN: r258132
2018-03-02 09:48:41 +00:00
Richard Sandiford
70088b953b Avoid &LOOP_VINFO_MASKS for bb vectorisation (PR 84634)
We were computing &LOOP_VINFO_MASKS even for bb vectorisation,
which is UB.

2018-03-02  Richard Sandiford  <richard.sandiford@linaro.org>

gcc/
	PR tree-optimization/84634
	* tree-vect-stmts.c (vectorizable_store, vectorizable_load): Replace
	masks and masked_loop_p with a single loop_masks, making sure it's
	null for bb vectorization.

From-SVN: r258131
2018-03-02 09:46:43 +00:00
Richard Sandiford
962e91fcf0 Use loop->safelen rather than loop->force_vectorize
...since the latter doesn't guarantee independence by itself.

2018-03-02  Richard Sandiford  <richard.sandiford@linaro.org>

gcc/
	* tree-vect-data-refs.c (vect_analyze_data_ref_dependence)
	(vect_analyze_data_ref_access): Use loop->safe_len rather than
	loop->force_vectorize to check whether there is no alias.

gcc/testsuite/
	* gcc.dg/vect/vect-alias-check-13.c: New test.

From-SVN: r258130
2018-03-02 09:45:51 +00:00
Jakub Jelinek
ec2d71214f re PR rtl-optimization/84614 (wrong code with u16->u128 extension at aarch64 -fno-split-wide-types -g3 --param=max-combine-insns=3)
PR target/84614
	* rtl.h (prev_real_nondebug_insn, next_real_nondebug_insn): New
	prototypes.
	* emit-rtl.c (next_real_insn, prev_real_insn): Fix up function
	comments.
	(next_real_nondebug_insn, prev_real_nondebug_insn): New functions.
	* cfgcleanup.c (try_head_merge_bb): Use prev_real_nondebug_insn
	instead of a loop around prev_real_insn.
	* combine.c (move_deaths): Use prev_real_nondebug_insn instead of
	prev_real_insn.

	* gcc.dg/pr84614.c: New test.

From-SVN: r258129
2018-03-02 10:16:50 +01:00
Paul Thomas
be86d20159 re PR fortran/84219 (Failure to generate error for IO of transfer intrinsic, when MOLD has derived type components.)
2018-03-02  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/84219
	* gfortran.dg/coarray_47.f90: Use the correct test.

From-SVN: r258128
2018-03-02 08:51:06 +00:00
Jakub Jelinek
0f2fca6fe8 re PR inline-asm/84625 (ICE with empty constraint and vector constant)
PR inline-asm/84625
	* config/i386/i386.c (ix86_print_operand): Use conditional
	output_operand_lossage instead of gcc_assert if CONST_VECTOR is not
	zero vector.

	* gcc.target/i386/pr84625.c: New test.

From-SVN: r258125
2018-03-02 08:57:26 +01:00
Richard Biener
e8b3f7a4dc re PR tree-optimization/84427 (gcc ICE at -O3 on x86_64-linux-gnu in compute_antic, at tree-ssa-pre.c:2356)
2018-03-02  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/84427
	* tree-ssa-pre.c (bitmap_remove_expr_from_set): Remove.
	(bitmap_set_subtract_values): Rewrite to handle multiple
	exprs per value.
	(clean): Likewise.
	(prune_clobbered_mems): Likewise.
	(phi_translate): Take edge instead of pred/phiblock.
	(phi_translate_1): Likewise.
	(phi_translate_set): Likewise.  Insert all translated
	exprs for a value into the set, keeping possibly multiple
	expressions per value.
	(compute_antic_aux): Adjust for phi_translate changes.
	When intersecting union the expressions and prune those
	not in the final value set, keeping possibly multiple
	expressions per value.  Do not use value-insertion
	for unioning ANTIC_OUT U EXP_GEN - TMP_GEN but merge
	all expressions.  Add verification that the value-sets
	only shrink during iteration.
	(compute_partial_antic_aux): Adjust for the phi_translate changes.
	(do_pre_regular_insertion): Likewise.
	(do_pre_partial_partial_insertion): Likewise.

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

From-SVN: r258124
2018-03-02 07:45:41 +00:00
Richard Biener
2ebb413bb0 re PR target/82005 (Early lto debug not implemented on Darwin)
2018-03-02  Richard Biener  <rguenther@suse.de>

	PR target/82005
	* config/darwin.c (saved_debug_info_level): New static global.
	(darwin_asm_lto_start): Disable debug info generation for LTO out.
	(darwin_asm_lto_end): Restore debug info generation settings.

From-SVN: r258123
2018-03-02 07:42:58 +00:00
Peter Bergner
e688c1ddef re PR target/84534 (several powerpc test cases fail starting with r257915)
PR target/84534
	* gcc.target/powerpc/vec-setup-be-long.c: Add dg-xfail-run-if on
	powerpc64le*-*-linux*.
	* gcc.target/powerpc/vsx-vector-6-le.c: Do not count xxlor's.
	* gcc.target/powerpc/vsx-vector-6-le.p9.c: Likewise.

From-SVN: r258122
2018-03-01 20:54:40 -06:00
Martin Sebor
f454bd6436 PR c++/84294 - attributes on a function template redeclaration silently discarded
gcc/cp/ChangeLog:

	PR c++/84294
	* decl.c (check_redeclaration_no_default_args): Merge attributes
	specified on redeclarations of the same function template.
	Remove dead code.

gcc/testsuite/ChangeLog:

	PR c++/84294
	* g++.dg/ext/attr-const.C: Remove xfail.
	* g++.dg/ext/attr-malloc-3.C: New test.
	* g++.dg/ext/attr-noinline-3.C: New test.
	* g++.dg/ext/attr-noreturn-3.C: New test.
	* g++.dg/ext/attr-nothrow-3.C: New test.
	* g++.dg/ext/attr-pure.C: Remove xfail.

From-SVN: r258121
2018-03-01 17:16:52 -07:00
GCC Administrator
b3a0e110e0 Daily bump.
From-SVN: r258120
2018-03-02 00:16:26 +00:00
Jakub Jelinek
8c438a7bc3 re PR sanitizer/70875 (ICE in get_ubsan_type_info_for_type with -fsanitize=undefined)
PR sanitizer/70875
	* gcc.dg/ubsan/bounds-3.c: Add -fno-sanitize-recover=bounds to
	dg-options and dg-shouldfail "ubsan" directive.

From-SVN: r258117
2018-03-02 00:28:31 +01:00
Marek Polacek
1d4f0f3f60 re PR c++/84582 (Rejected valid C++ code since r257961)
PR c++/84582
	* semantics.c (force_paren_expr): Create a PAREN_EXPR when in
	a template.
	(maybe_undo_parenthesized_ref): Unwrap PAREN_EXPR.
	* typeck2.c (store_init_value): Call fold_non_dependent_expr instead
	of instantiate_non_dependent_expr.
	* tree.c (lvalue_kind): Handle PAREN_EXPR like NON_DEPENDENT_EXPR.

	* g++.dg/cpp1y/auto-fn15.C: Extend testing.
	* g++.dg/cpp1z/static1.C: New test.
	* g++.dg/template/static37.C: New test.

Co-Authored-By: Jason Merrill <jason@redhat.com>

From-SVN: r258116
2018-03-01 22:44:54 +00:00
Nathan Sidwell
303f485065 [PR c++/84434] ICE with deduction guide
https://gcc.gnu.org/ml/gcc-patches/2018-03/msg00063.html
	PR c++/84434
	* name-lookup.c (member_vec_dedup): Remove manually peeled
	iteration.  Ignore dependent ctor inheritance.

	PR c++/84434
	* g++.dg/template/pr84434.C: New.

From-SVN: r258114
2018-03-01 22:08:02 +00:00
Ian Lance Taylor
56fc943329 compiler: avoid crashing on bad self-referential type
The compiler was crashing partway through emitting an error for a bad
    self-referential struct type (which refers to one of its own fields
    via an unsafe.Offset expression). Tweak the offset logic to check for
    this class of type error and exit cleanly.
    
    Fixes golang/go#24180
    
    Reviewed-on: https://go-review.googlesource.com/97855

From-SVN: r258112
2018-03-01 19:56:14 +00:00
Jason Merrill
eedaaaf7d7 PR c++/71569 - decltype of template.
* parser.c (cp_parser_decltype_expr): Handle missing template args.

From-SVN: r258110
2018-03-01 14:40:36 -05:00
Marek Polacek
90abdde05b re PR c++/84639 (gcc/c-family/c-attribs.c:1822:27: runtime error: shift exponent -1 is negative)
PR c++/84639
	* c-attribs.c (common_handle_aligned_attribute): Don't use invalid
	alignment in computation.

From-SVN: r258109
2018-03-01 19:15:42 +00:00
Thomas Preud'homme
4c9ce243e9 [ARM] Fix copysign_softfloat_1.c option directives
gcc.target/arm/copysign_softfloat_1.c's use of arm_arch_v6t2 in
dg-add-option changes the architecture to -march=armv6t2. Since the test
only requires Thumb-2 capable architecture, we just need to add -mthumb
on the command line since arm_thumb2_ok guarantees by definition that
doing that is enough to select Thumb-2. This fixes warning on the
command line when having -mcpu=cortex-m3 in RUNTESTFLAGS for instance.

2018-03-01  Thomas Preud'homme  <thomas.preudhomme@arm.com

    gcc/testsuite/
    * gcc.target/arm/copysign_softfloat_1.c: Remove dg-add-options and add
    -mthumb to the command-line.

From-SVN: r258108
2018-03-01 18:22:56 +00:00
Marek Polacek
d8cff23f65 re PR c++/84596 (internal compiler error: unexpected expression '(bool)c' of kind implicit_conv_expr (cxx_eval_constant_expression))
PR c++/84596
	* constexpr.c (require_rvalue_constant_expression): New function.
	* cp-tree.h: Declare it.
	* semantics.c (finish_static_assert): Use it instead of
	require_potential_rvalue_constant_expression.

	* g++.dg/cpp0x/static_assert14.C: New test.

From-SVN: r258107
2018-03-01 17:08:35 +00:00
Paolo Carlini
26a0cc94f3 re PR c++/79410 (internal compiler error: in gimplify_init_ctor_preeval, at gimplify.c:3489)
2018-03-01  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/79410
	* g++.dg/torture/pr79410.C: New.

From-SVN: r258106
2018-03-01 17:01:54 +00:00
Jason Merrill
303a1e7514 PR c++/71569 - ICE with redundant args on member variable template.
* decl.c (start_decl): Handle partial specialization of member
	variable template.
	* pt.c (determine_specialization): Allow partial specialization
	of member variable template without specializing enclosing class.
	(process_partial_specialization): Improve error message.

Co-Authored-By: Alexandre Oliva <aoliva@redhat.com>

From-SVN: r258102
2018-03-01 11:00:34 -05:00
Martin Liska
99daa7a9ee Do not handled volatile arguments (PR sanitizer/82484).
2018-03-01  Martin Liska  <mliska@suse.cz>

	PR sanitizer/82484
	* sanopt.c (sanitize_rewrite_addressable_params): Do not handle
	volatile arguments.
2018-03-01  Martin Liska  <mliska@suse.cz>

	PR sanitizer/82484
	* gcc.dg/asan/pr82484.c: New test.

From-SVN: r258101
2018-03-01 14:54:10 +00:00
Richard Biener
b476f5dd5d re PR debug/84645 (-flto -g0 at compile-time vs. -flto -g at link time ICEs in add_dwarf_attr, at dwarf2out.c:4353)
2018-03-01  Richard Biener  <rguenther@suse.de>

	PR debug/84645
	* dwarf2out.c (gen_variable_die): Properly handle late VLA
	type annotation with LTO when debug was disabled at compile-time.

	* gfortran.dg/lto/pr84645_0.f90: New testcase.

From-SVN: r258100
2018-03-01 13:39:56 +00:00
Matthew Fortune
523036d4dc MIPS: Fix wrong use of XINT instead of INTVAL
This issue was caught with assert checking enabled but is not a
functional bug as XINT(x, 0) happens to overlay INTVAL(x) anyway.

gcc/
	* config/mips/mips.c (mips_final_prescan_insn): Fix incorrect
	XINT with INTVAL.
	(mips_final_postscan_insn): Likewise.

From-SVN: r258099
2018-03-01 11:37:35 +00:00
Paul Thomas
71a93e81a3 re PR fortran/84219 (Failure to generate error for IO of transfer intrinsic, when MOLD has derived type components.)
2018-03-01  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/84219
	* target-memory.c (gfc_interpret_derived): Assert that BT_VOID
	components are caf tokens.
	(gfc_target_interpret_expr): Treat BT_VOID expressions as
	integers.

2018-03-01  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/84219
	* gfortran.dg/coarray_47.f90: New test.

From-SVN: r258098
2018-03-01 11:06:18 +00:00
Paul Thomas
b120c8b207 re PR fortran/84538 (Array of derived type elements incorrectly accessed in function)
2018-03-01  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/84538
	* class.c (class_array_ref_detected): Remove the condition that
	there be no reference after the array reference.
	(find_intrinsic_vtab): Remove excess whitespace.
	* trans-array.c (gfc_conv_scalarized_array_ref): Rename 'tmp'
	as 'base and call build_class_array_ref earlier.

2018-03-01  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/84538
	* gfortran.dg/class_array_23.f03: New test.

From-SVN: r258097
2018-03-01 08:56:31 +00:00
Richard Sandiford
2514222436 Fix PR number in changelog entry
From-SVN: r258096
2018-03-01 08:31:45 +00:00
Richard Sandiford
6ecdd2b4c5 re PR target/84528 (gcc.c-torture/execute/960419-2.c -O3 fails with -fno-omit-frame-pointer)
2018-03-01  Richard Sandiford  <richard.sandiford@linaro.org>

gcc/testsuite/
	PR rtl-optimization/84528
	* gcc.dg/torture/pr84538.c: Rename to...
	* gcc.dg/torture/pr84528.c: ...this.

From-SVN: r258095
2018-03-01 08:30:20 +00:00
Richard Sandiford
e6eacdc945 Tighten use of HARD_FRAME_POINTER_REGNUM in alias.c (PR 84538)
RTL code needs to be consistent about whether it uses the stack
pointer, the frame pointer or the argument pointer to access a
given part of the frame.  alias.c used this to divide accesses
into three independent areas.

The problem in the PR is that we did this for HARD_FRAME_POINTER_REGNUM
even when the register wasn't being used as a frame pointer.  We can't
do that because the frame pointer is then just any old allocatable
register and could certainly point to info accessed through the
argument pointer or stack pointer.

2018-03-01  Richard Sandiford  <richard.sandiford@linaro.org>

gcc/
	PR rtl-optimization/84538
	* alias.c (init_alias_target): Add commentary.
	(init_alias_analysis): Only give HARD_FRAME_POINTER_REGNUM
	a unique base value if the frame pointer is not eliminated
	to the stack pointer.

gcc/testsuite/
	PR rtl-optimization/84538
	* gcc.dg/torture/pr84538.c: New test.

From-SVN: r258094
2018-03-01 08:22:06 +00:00
Tom de Vries
54178a0110 Fix liveness analysis in lra for spilled-into hard regs
2018-03-01  Tom de Vries  <tom@codesourcery.com>

	PR rtl-optimization/83327
	* lra-int.h (hard_regs_spilled_into): Declare.
	* lra.c (hard_regs_spilled_into): Define.
	(init_reg_info): Init hard_regs_spilled_into.
	* lra-spills.c (assign_spill_hard_regs): Update hard_regs_spilled_into.
	* lra-lives.c (make_hard_regno_born, make_hard_regno_dead)
	(process_bb_lives): Handle hard_regs_spilled_into.
	(lra_create_live_ranges_1): Before doing liveness propagation, clear
	regs in all_hard_regs_bitmap if set in hard_regs_spilled_into.

From-SVN: r258093
2018-03-01 05:51:08 +00:00
GCC Administrator
7540ea866a Daily bump.
From-SVN: r258092
2018-03-01 00:16:28 +00:00
Martin Sebor
d8e0920dee Warray-bounds-2.c: Declare helper static to avoid -fpic test failures.
gcc/testsuite/ChangeLog:

	* c-c++-common/Warray-bounds-2.c: Declare helper static to avoid
	-fpic test failures.
	* c-c++-common/Wrestrict-2.c: Same.
	* c-c++-common/Wstringop-truncation.c: Same.
	* gcc.dg/Warray-bounds-22.c: Same.
	* gcc.dg/Wstringop-overflow.c: Same.
	* gcc.dg/attr-alloc_size-3.c (unsigned_range): Same.
	(signed_range): Same.
	(unsigned_anti_range): Same.
	* gcc.dg/attr-alloc_size-4.c (unsigned_range): Same.
	(signed_range): Same.
	(unsigned_anti_range): Same.
	* gcc.dg/attr-alloc_size-7.c: Same.
	* gcc.dg/attr-alloc_size-8.c: Same.
	* gcc.dg/builtin-alloc-size.c: Same.
	* gcc.dg/builtin-stpncpy.c: Same.
	* gcc.dg/builtins-nonnull.c: Same.
	* gcc.dg/nonnull-4.c (g16_1_3_5_7_11_13): Same.
	* gcc.dg/pr79214.c: Same.
	* gcc.dg/tree-ssa/builtin-snprintf-warn-1.c: Same.
	* gcc.dg/tree-ssa/builtin-snprintf-warn-2.c: Same.
	* gcc.dg/tree-ssa/builtin-sprintf-5.c: Same.
	* gcc.dg/tree-ssa/builtin-sprintf-warn-11.c: Same.
	* gcc.dg/tree-ssa/builtin-sprintf-warn-12.c: Same.
	* gcc.dg/tree-ssa/builtin-sprintf-warn-13.c: Same.
	* gcc.dg/tree-ssa/builtin-sprintf-warn-14.c: Same.
	* gcc.dg/tree-ssa/builtin-sprintf-warn-15.c: Same.
	* gcc.dg/tree-ssa/builtin-sprintf-warn-19.c: Same.
	* gcc.dg/tree-ssa/builtin-sprintf-warn-3.c: Same.
	* gcc.dg/tree-ssa/builtin-sprintf-warn-9.c: Same.

From-SVN: r258089
2018-02-28 16:39:52 -07:00
Jason Merrill
9ea97097e5 PR c++/71784 - ICE with ref-qualifier and explicit specialization.
* pt.c (determine_specialization): Check ref-qualifier.

From-SVN: r258085
2018-02-28 16:34:07 -05:00
David Edelsohn
74fc2a2bb3 config.gcc (powerpc-ibm-aix7.1.*): New stanza.
* config.gcc (powerpc-ibm-aix7.1.*): New stanza.
(powerpc-ibm-aix[789]*): Default to AIX 7.2.
* config/rs6000/aix71.h (TARGET_DEFAULT): Revert to Power4 ISA.
* config/rs6000/aix72.h: New file.

From-SVN: r258082
2018-02-28 15:00:03 -05:00
David Edelsohn
99f6220a0c re PR target/84014 (ICE in setup_min_max_allocno_live_range_point, at ira-build.c:2762)
PR target/84014
        * gcc.target/powerpc/pr84014.c: Use ilp32, not -m32 option.

From-SVN: r258081
2018-02-28 14:53:24 -05:00
Jakub Jelinek
60d2d641a3 re PR c++/84609 (internal compiler error: in cp_parser_abort_tentative_parse, at cp/parser.c:28960 (cp_parser_member_declaration()))
PR c++/84609
	* parser.c (cp_parser_attributes_opt): Formatting fix.
	(cp_parser_skip_balanced_tokens, cp_parser_skip_gnu_attributes_opt,
	cp_parser_skip_std_attribute_spec_seq, cp_parser_skip_attributes_opt):
	New functions.
	(cp_parser_member_declaration): Use cp_parser_skip_attributes_opt
	instead of tentative parse to peek over optional attribute tokens
	to check for CPP_COLON after them.

	* g++.dg/cpp0x/pr84609.C: New test.

From-SVN: r258080
2018-02-28 19:57:38 +01:00
Jakub Jelinek
f6eee6bf4c re PR c++/83871 (wrong code for attribute const and pure on distinct template specializations)
PR c++/83871
	PR c++/83503
	* pt.c (INCLUDE_STRING): Remove define.
	(warn_spec_missing_attributes): Use pretty_printer instead of
	std::string.  Fix up inform call so that the list of attributes
	is in %s argument.

From-SVN: r258079
2018-02-28 19:56:36 +01:00
Jakub Jelinek
15d3974b69 gimple-ssa-warn-restrict.c (maybe_diag_overlap): Use warning_n instead of warning_at with conditional singular and plural...
* gimple-ssa-warn-restrict.c (maybe_diag_overlap): Use warning_n
	instead of warning_at with conditional singular and plural messages
	where possible.

From-SVN: r258078
2018-02-28 19:38:19 +01:00
Martin Sebor
be583c04a4 PR testsuite/84617 - new test cases g++.dg/ext/attr-const.C and g++.dg/ext/attr-pure.C fail
gcc/cp/ChangeLog:

	* decl.c (duplicate_decls): Fully merge attributes const, pure,
	and malloc.

gcc/testsuite/ChangeLog:

	* g++.dg/ext/attr-malloc-3.C: New test.
	* g++.dg/ext/attr-const.C: Adjust.  Xfail assertions failing due
	to pre-existing problems.
	* g++.dg/ext/attr-pure.C: Same.

From-SVN: r258077
2018-02-28 11:28:53 -07:00
Paul Thomas
b14a13facf re PR fortran/83901 (ICE in fold_convert_loc, at fold-const.c:2402)
2018-02-28  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/83901
	* trans-stmt.c (trans_associate_var): Make sure that the se
	expression is a pointer type before converting it to the symbol
	backend_decl type.

2018-02-28  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/83901
	* gfortran.dg/associate_37.f90: New test.

	PR fortran/83344
	* gfortran.dg/associate_36.f90: Add Steve Kargl as contributer.

From-SVN: r258076
2018-02-28 17:36:20 +00:00
Jakub Jelinek
ba64c7b893 re PR target/52991 (attribute packed broken on mingw32?)
PR target/52991
	* stor-layout.c (update_alignment_for_field): For
	targetm.ms_bitfield_layout_p (rli->t), if !is_bitfield
	&& !DECL_PACKED (field), do the alignment update, just use
	only desired_align instead of MAX (type_align, desired_align)
	as the alignment.
	(place_field): Don't do known_align < desired_align handling
	early if targetm.ms_bitfield_layout_p (rli->t) and rli->prev_field
	is non-NULL, instead do it after rli->prev_field handling and
	only if not within a bitfield word.  For DECL_PACKED (field)
	use type_align of BITS_PER_UNIT.

	* gcc.dg/bf-ms-layout.c: Revert 2012-04-26 changes.
	* gcc.dg/bf-ms-layout-2.c: Revert 2012-02-23 changes.
	* gcc.dg/bf-ms-layout-4.c: New test.
	* gcc.dg/bf-ms-layout-5.c: New test.

From-SVN: r258075
2018-02-28 18:17:29 +01:00
Eric Botcazou
8dd64cdfa7 aarch64.c (aarch64_emit_probe_stack_range): Remove superfluous parentheses and trailing spaces.
* config/aarch64/aarch64.c (aarch64_emit_probe_stack_range): Remove
	superfluous parentheses and trailing spaces.

From-SVN: r258074
2018-02-28 16:45:53 +00:00
H.J. Lu
6fd94ee257 Remove config/i386/i386.opt from revision 258001 ChangeLog
Revision 258001 doesn't change config/i386/i386.opt.

From-SVN: r258073
2018-02-28 08:19:51 -08:00
Peter Bergner
bf3c8adf37 re PR target/83399 (Power8 ICE During LRA with 2-op rtl pattern for lvx instruction)
PR target/83399
	* gcc.target/powerpc/pr83399.c: Only run on Linux.

From-SVN: r258071
2018-02-28 09:43:41 -06:00
Richard Biener
0e0e545fc6 re PR tree-optimization/84584 ([graphite] ICE: Segmentation fault (in dominated_by_p))
2018-02-28  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/84584
	* graphite-scop-detection.c (scop_detection::add_scop): Discard
	SCoPs with fake exit edge.

	* gcc.dg/graphite/pr84584.c: New testcase.

From-SVN: r258070
2018-02-28 15:33:33 +00:00
Jonathan Wakely
b44f8ad8b2 PR preprocessor/84517 allow double-underscore macros after string literals
gcc/testsuite:

	PR preprocessor/84517
	* g++.dg/cpp0x/udlit-macros.C: Expect a warning for ""__FILE__.

libcpp:

	PR preprocessor/84517
	* lex.c (is_macro_not_literal_suffix): New function.
	(lex_raw_string, lex_string): Use is_macro_not_literal_suffix to
	decide when to issue -Wliteral-suffix warnings.

From-SVN: r258069
2018-02-28 15:27:17 +00:00
Eric Botcazou
c6db43fa35 i-cexten.ads (Float_128): New type.
ada/
	* libgnat/i-cexten.ads (Float_128): New type.
c-family/
	* c-ada-spec.c (dump_ada_node) <NULLPTR_TYPE>: New case.
	<REAL_TYPE>: Deal specifically with _Float128/__float128.

From-SVN: r258068
2018-02-28 14:31:02 +00:00
Eric Botcazou
9e25c7ed96 c-ada-spec.c (dump_ada_double_name): New case.
* c-ada-spec.c (dump_ada_double_name) <ENUMERAL_TYPE>: New case.
	(is_char_array): Take a type instead of a declaration.
	(dump_ada_array_type): Likewise.
	(is_simple_enum): Minor tweak.
	(dump_ada_enum_type): New function extracted from...
	(dump_ada_node) <ENUMERAL_TYPE>: ...here.  Invoke it.
	<INTEGER_TYPE>: Remove unreachable code.
	<RECORD_TYPE>: Likewise.  Minor tweaks.
	(dump_nested_type) <ARRAY_TYPE>: Adjust to above changes.
	<ENUMERAL_TYPE>: New case.
	<RECORD_TYPE>: Factor out common code.
	(dump_ada_declaration) <ARRAY_TYPE>: Adjust to above changes.
	Minor tweaks.  Deal with enumeral types.
	(dump_ada_structure): Minor tweaks.

From-SVN: r258067
2018-02-28 14:14:12 +00:00
Eric Botcazou
09de35509f c-ada-spec.c (dump_ada_node): Do not use generic address for incomplete structures.
* c-ada-spec.c (dump_ada_node) <POINTER_TYPE>: Do not use generic
	address for incomplete structures.
	(dump_forward_type): Do not bail out for incomplete structures.
	(dump_ada_declaration): Do not special-case incomplete structures
	for subtypes.  Dump them as null records for types.

From-SVN: r258066
2018-02-28 13:59:44 +00:00
Eric Botcazou
e02f4b9298 c-ada-spec.c (dump_ada_import): Use boolean and fix formatting.
* c-ada-spec.c (dump_ada_import): Use boolean and fix formatting.
	(is_char_array): Fix formatting.
	(dump_template_types): Likewise.
	(dump_generic_ada_node): Rename into...
	(dump_ada_node): ...this.
	<POINTER_TYPE>: Remove superfluous space.  Use generic address for
	incomplete structures and not for empty structures.  Do not use it
	when forward declarations are needed.
	(dump_forward_type): New function.
	(dump_nested_types): Remove FORWARD parameter.  Do not consider
	TREE_VISITED and do not generate a forward declaration.  Only dump
	original nested types for nested declaration.
	(dump_nested_type) <POINTER_TYPE>: Call dump_forward_type.
	<ARRAY_TYPE>: Likewise if the component type is an anonymous pointer.
	<RECORD_TYPE>: Do not consider TREE_VISITED.
	(dump_ada_declaration): Use booleans and fix formatting throughout.
	<TYPE_DECL>: Skip incomplete structures and not empty structures.
	Call dump_forward_type instead of dump_nested_types for a typedef.
	Remove superfluous check and adjust call to dump_nested_types.
	<POINTER_TYPE>: Call dump_forward_type and fall through.
	(dump_ada_struct_decl): Rename into...
	(dump_ada_structure): ...this.  Do not special-case empty structures.

From-SVN: r258064
2018-02-28 13:53:54 +00:00