Commit Graph

163772 Commits

Author SHA1 Message Date
Richard Biener
b25508e0cc re PR tree-optimization/87280 (ICE in set_ssa_val_to, at tree-ssa-sccvn.c:3647)
2018-09-12  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/87280
	* tree-ssa-sccvn.c (process_bb): Handle the case of executable
	edge but unreachable target.
	(do_rpo_vn): For conservatively handling a PHI only mark
	the backedge executable but not the block reachable.

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

From-SVN: r264241
2018-09-12 14:03:21 +00:00
Kwok Cheung Yeung
72ced87475 Fix interleaving of Fortran STOP messages
Fortran STOP and ERROR STOP use a different function to print the "STOP" string
and the message string.  On GCN this results in out-of-order output, such as
"<msg>ERROR STOP ".

This patch fixes the problem by making estr_write use the proper Fortran write,
not C printf, so both parts are now output the same way.  This also ensures
that both parts are output to STDERR (not that that means anything on GCN).

2018-09-12  Kwok Cheung Yeung  <kcy@codesourcery.com>

	libgfortran/
	* runtime/minimal.c (estr_write): Define in terms of write.

From-SVN: r264239
2018-09-12 13:53:34 +00:00
Andrew Stubbs
4986a9568a Fix Fortran STOP.
The minimal libgfortran setup was created for NVPTX, but will also be used by
AMD GCN.

This patch simply removes an assumption that NVPTX is the only user.
Specifically, NVPTX exit is broken, but AMD GCN exit works just fine.

2018-09-12  Andrew Stubbs  <ams@codesourcery.com>

	libgfortran/
	* runtime/minimal.c (exit): Only work around nvptx bugs on nvptx.

From-SVN: r264238
2018-09-12 13:53:32 +00:00
Richard Biener
28c4b740a6 re PR tree-optimization/87266 (ICE: Segmentation fault (in useless_type_conversion_p, tree_nop_conversion_p, or is_gimple_reg_type))
2018-09-12  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/87266
	* tree-ssa-sccvn.c (do_rpo_vn): Always iterate to not yet
	visited blocks.

	* gcc.dg/torture/pr87266-1.c: New testcase.
	* gcc.dg/torture/pr87266-2.c: Likewise.
	* gcc.dg/torture/pr87266-3.c: Likewise.
	* gcc.dg/torture/pr87266-4.c: Likewise.

From-SVN: r264237
2018-09-12 12:14:27 +00:00
Andreas Krebbel
ced8d88234 S/390: Use proper rounding mode for DFP to BFD conversions
According to IEEE 754 2008 4.3 'Rounding-direction attributes' the
rounding mode of the target format needs to be used. By not setting
the value so far we have always used the DFP rounding mode.

gcc/ChangeLog:

2018-09-12  Andreas Krebbel  <krebbel@linux.ibm.com>

	* config/s390/s390.md (PFPO_RND_MODE_DFP, PFPO_RND_MODE_BFP): New
	constants.
	("trunc<BFP:mode><DFP_ALL:mode>2")
	("trunc<DFP_ALL:mode><BFP:mode>2")
	("extend<BFP:mode><DFP_ALL:mode>2")
	("extend<DFP_ALL:mode><BFP:mode>2"): Set proper rounding mode
	according to the target operand type.

gcc/testsuite/ChangeLog:

2018-09-12  Andreas Krebbel  <krebbel@linux.ibm.com>

	* gcc.target/s390/dfp_to_bfp_rounding.c: New test.

From-SVN: r264234
2018-09-12 10:58:42 +00:00
Martin Liska
7e7a6ed74d Add quotes for -fconstexpr-depth= in an error message.
From-SVN: r264233
2018-09-12 10:39:45 +00:00
Jakub Jelinek
6cd4c66e9b re PR tree-optimization/86844 (wrong code caused by store merging pass)
PR tree-optimization/86844
	* gimple-ssa-store-merging.c
	(imm_store_chain_info::coalesce_immediate): For overlapping stores, if
	there are any overlapping stores in between them, make sure they are
	also coalesced or we give up completely.

	* gcc.c-torture/execute/pr86844.c: New test.
	* gcc.dg/store_merging_22.c: New test.
	* gcc.dg/store_merging_23.c: New test.

Co-Authored-By: Andreas Krebbel <krebbel@linux.ibm.com>

From-SVN: r264232
2018-09-12 11:25:07 +02:00
Jakub Jelinek
9095b53a8c re PR middle-end/87248 (Bad code for masked operations involving signed ints)
PR middle-end/87248
	* fold-const.c (fold_ternary_loc) <case COND_EXPR>: Verify also that
	BIT_AND_EXPR's second operand is a power of two.  Formatting fix.

	* c-c++-common/torture/pr87248.c: New test.

From-SVN: r264230
2018-09-12 11:18:55 +02:00
Tom de Vries
03e992acea [debug] Add -gdescribe-dies
This patch adds option -gdescribe-dies.  It sets the DW_AT_description
attribute of dies that do not get a DW_AT_name attribute, to make it easier
to figure out what the die is describing.

The option exports the names of artificial variables:
...
 DIE    0: DW_TAG_variable (0x7fa934dd54b0)
+  DW_AT_description: "D.1922"
   DW_AT_type: die -> 0 (0x7fa934dd0d70)
   DW_AT_artificial: 1

...
which can be traced back to gimple dumps:
...
  char a[0:D.1922] [value-expr: *a.0];
...

Furthermore, it adds names to external references:
...
 DIE    0: DW_TAG_subprogram (0x7fa88b9650f0)
+DW_AT_description: "main"
 DW_AT_abstract_origin: die -> label: vla_1.c.6719312a + 29 (0x7fa88b965140)
...
and likewise to DW_TAG_call_site_parameter DIEs.

Bootstrapped and reg-tested on x86_64.

2018-09-12  Tom de Vries  <tdevries@suse.de>

	* common.opt (gdescribe-dies): Add option.
	* dwarf2out.c (add_name_and_src_coords_attributes): Add description
	attribute for artifical and nameless decls.
	(dwarf2out_register_external_die): Add description attribute to
	external reference die.
	(add_desc_attribute): New functions.
	(gen_subprogram_die): Add description attribute to
	DW_TAG_call_site_parameter.
	* tree-pretty-print.c (print_generic_expr_to_str): New function.
	* tree-pretty-print.h (print_generic_expr_to_str): Declare.
	* doc/invoke.texi (@item Debugging Options): Add -gdescribe-dies and
	-gno-describe-dies.
	(@item -gdescribe-dies): Add.

From-SVN: r264229
2018-09-12 07:27:26 +00:00
Aldy Hernandez
28aa632320 tree-vrp.c (vrp_shift_undefined_p): Remove.
* tree-vrp.c (vrp_shift_undefined_p): Remove.
	(extract_range_from_binary_expr_1: Call
	wide_int_range_shift_undefined_p instead of vrp_shift_undefined_p.
	* wide-int-range.h (wide_int_range_shift_undefined_p): Do not
	depend on sign.

From-SVN: r264228
2018-09-12 07:04:19 +00:00
Aldy Hernandez
bb753cad99 * gimple-ssa-warn-alloca.c
(alloca_type_and_limit::alloca_type_and_limit): Initialize limit
	field for ALLOCA_BOUND_*_LARGE.

From-SVN: r264227
2018-09-12 06:50:34 +00:00
GCC Administrator
be67308441 Daily bump.
From-SVN: r264226
2018-09-12 00:16:47 +00:00
Nathan Sidwell
3d80fcaa4a * gcc.c (load_specs, execute, run_attempt): Use %qs not '%s'.
From-SVN: r264217
2018-09-11 21:34:14 +00:00
Uros Bizjak
1f621085b8 reg-stack.c (subst_asm_stack_regs): Call replace_reg also for clobbers.
* reg-stack.c (subst_asm_stack_regs): Call replace_reg also
	for clobbers.  Remove obsolete comment.

From-SVN: r264216
2018-09-11 21:36:35 +02:00
Janus Weil
0e4cb16f56 re PR fortran/87172 (Spurious "Derived type 'c_funptr' at (1) has not been declared" error after r263782)
fix PR 87172

2018-09-11  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/87172
	* resolve.c (resolve_fl_derived): If a type has the 'use_assoc'
	attribute, then it was declared in another module, so there should be
	no error that it has not been declared.

2018-09-11  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/87172
	* gfortran.dg/iso_c_binding_only_2.f90: New test case.

From-SVN: r264214
2018-09-11 19:44:04 +02:00
Uros Bizjak
2e3d242234 i386.md (define_attr "type"): Remove mpxmov, mpxmk, mpxchk, mpxld and mpxst types.
* config/i386/i386.md (define_attr "type"): Remove mpxmov, mpxmk,
	mpxchk, mpxld and mpxst types.
	(define_attr length_immediate): Remove all processing of mpx types.
	(define_attr prefix_0f): Ditto.
	(define_attr memory): Ditto.

From-SVN: r264212
2018-09-11 18:53:15 +02:00
Uros Bizjak
ae1ef78018 i386.md (fyl2x_extend<mode>xf3_i387): Remove.
* config/i386/i386.md (fyl2x_extend<mode>xf3_i387): Remove.
	(log<mode>2): Change operand 1 predicate to general_operand.
	Extend operand 1 to XFmode and generate logxf3 insn.
	(log10<mode>2): Change operand 1 predicate to general_operand.
	Extend operand 1 to XFmode and generate log10xf3 insn.
	(log2<mode>2): Change operand 1 predicate to general_operand.
	Extend operand 1 to XFmode and generate log2xf3 insn.
	(fyl2xp1_extend<mode>xf3_i387): Remove.
	(log1p<mode>2): Change operand 1 predicate to general_operand.
	Extend operand 1 to XFmode and generate log1pxf3 insn.
	(fxtract_extend<mode>xf3_i387): Remove.
	(logb<mode>2): Change operand 1 predicate to general_operand.
	Extend operand 1 to XFmode and generate logbxf3 insn.
	(ilogb<mode>2): Change operand 1 predicate to general_operand.
	Extend operand 1 to XFmode and generate fxtractxf3_i387 insn.
	(significand<mode>2): Change operand 1 predicate to general_operand.
	Extend operand 1 to XFmode and generate significandxf3 insn.

From-SVN: r264211
2018-09-11 18:42:35 +02:00
Paul Thomas
3b949026d4 re PR fortran/87277 (Segfault on using array component of class scalar pointer as an actual argument)
2018-09-11  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/87277
	* expr.c (is_subref_array): Add the check of dimensionality for
	class, dummy, pointer arrays.

2018-09-11  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/87277
	* gfortran.dg/select_type_43.f90: New test.

From-SVN: r264210
2018-09-11 15:59:07 +00:00
Nathan Sidwell
b34e743c9c [driver] Use regular error routines
https://gcc.gnu.org/ml/gcc-patches/2018-09/msg00545.html
	* gcc.c (perror_with_name, pfatal_with_name): Delete.
	(load_specs): Use fatal_error.
	(DELETE_IF_ORDINARY, process_command): Use error.
	(execute, run_attempt): Use fatal_error.

	* gcc.dg/driver-specs.c: New.

From-SVN: r264209
2018-09-11 15:03:05 +00:00
Jonathan Wakely
9e2d426c17 PR libstdc++/87278 restore support for std::make_shared<volatile T>()
PR libstdc++/87278
	* include/bits/shared_ptr.h (make_shared): Use remove_cv instead of
	remove_const.
	* testsuite/20_util/shared_ptr/creation/87278.cc: New test.

From-SVN: r264207
2018-09-11 12:50:39 +01:00
Jonathan Wakely
86fc6ec9f3 Implement LWG 2905 changes to constrain unique_ptr constructors
LWG DR 2905 says that is_constructible_v<unique_ptr<P, D>, P, D const &>
should be false when D is not copy constructible. This commit implements
the changes from the DR and simplifies the signatures as per
https://github.com/cplusplus/draft/issues/1530

	* include/bits/unique_ptr.h (__uniq_ptr_impl): Add assertions to
	check deleter type.
	(unique_ptr::unique_ptr(pointer, const deleter_type&)): Add copy
	constructible constraint.
	(unique_ptr::unique_ptr(pointer, deleter_type&&)): Disable for
	deleters of reference type and add move constructible constraint.
	(unique_ptr::unique_ptr(pointer, remove_reference_t<deleter_type>&&)):
	Disable for deleters of non-reference type. Define as deleted.
	(unique_ptr<T[], D>): Likewise.
	* testsuite/20_util/unique_ptr/assign/48635_neg.cc: Replace dg-error
	directives with unstable line numbers with dg-prune-output.
	* testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Likewise.
	* testsuite/20_util/unique_ptr/cons/lwg2905.cc: New test.
	* testsuite/20_util/unique_ptr/specialized_algorithms/swap_cxx17.cc:
	Make deleter types invocable.

From-SVN: r264206
2018-09-11 11:55:49 +01:00
Aldy Hernandez
9356a18eb4 Fix typo in my last ChangeLog entry.
From-SVN: r264205
2018-09-11 10:36:20 +00:00
Andrew Stubbs
ad172f720d Add sorry_at diagnostic function.
The plain "sorry" diagnostic only gives the "current" location, which is
typically the last line of the function or translation unit by time we get to
the back end.

GCN uses "sorry" to report unsupported language features, such as static
constructors, so it's useful to have a "sorry_at" variant.

This patch implements "sorry_at" according to the pattern of the other "at"
variants.

2018-09-11  Andrew Stubbs  <ams@codesourcery.com>

	gcc/
	* diagnostic-core.h (sorry_at): New prototype.
	* diagnostic.c (sorry_at): New function.

From-SVN: r264204
2018-09-11 10:26:57 +00:00
Aldy Hernandez
075cdac363 tree-vrp (extract_range_from_binary_expr_1): Treat all divisions by zero as VR_UNDEFINED.
* tree-vrp (extract_range_from_binary_expr_1): Treat all divisions
	by zero as VR_UNDEFINED.

From-SVN: r264203
2018-09-11 10:19:45 +00:00
Joey Ye
a93a92aa53 gcov.exp (verify-intermediate): Add missing close.
2018-09-11  Joey Ye  <joey.ye@arm.com>

    * lib/gcov.exp (verify-intermediate): Add missing close.

From-SVN: r264202
2018-09-11 08:55:25 +00:00
Janus Weil
f5da9bfb9e re PR fortran/86830 (Contiguous array pointer function result not recognized as contiguous)
fix PR 86830

2018-09-11  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/86830
	* expr.c (gfc_is_simply_contiguous): Handle type-bound procedure calls
	with non-polymorphic objects.

2018-09-11  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/86830
	* gfortran.dg/typebound_call_30.f90: New test case.

From-SVN: r264201
2018-09-11 08:33:39 +02:00
GCC Administrator
672ce110a8 Daily bump.
From-SVN: r264200
2018-09-11 00:16:33 +00:00
Janus Weil
d4beaf2a22 re PR fortran/85395 ([F03] private clause contained in derived type acquires spurious scope)
fix PR 85395

2018-09-10  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/85395
	* decl.c (match_binding_attributes): Use correct default accessibility
	for procedure pointer components.

2018-09-10  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/85395
	* gfortran.dg/proc_ptr_comp_52.f90: New test case.

From-SVN: r264196
2018-09-10 23:25:33 +02:00
Uros Bizjak
6f2dde9cf6 i386.md (<sincos>xf2): Rename from *<sincos>xf2_i387.
* config/i386/i386.md (<sincos>xf2): Rename from *<sincos>xf2_i387.
	(*<sincos>_extend<mode>xf2_i387): Remove insn pattern.
	(<sincos>mode2): New expander.
	(sincos_extend<mode>xf3_i387): Remove insn pattern.
	(sincos -> sin, cos splitters): Remove splitter patterns.
	(sincos<mode>3): Change operand 2 predicate to general_operand.
	Extend operand 2 to XFmode and generate sincosxf3 insn.
	(fptanxf4_i387): Change mode of operands 0 and 3 to SFmode.
	Change operand 3 predicate to const1_operand.
	(fptan_extend<mode>xf4_i387): Remove insn pattern.
	(tanxf2): Update operands in the call to fptanxf4_i387.
	(tan<mode>2): Change operand 1 predicate to general_operand.
	Extend operand 1 to XFmode and generate tanxf3 insn.
	(atan2xf3): Rename from *fpatanxf3_i387.
	(fpatan_extend<mode>xf3_i387): Remove insn pattern.
	(atan2xf3): Remove expander.
	(atan2<mode<3):  Change operand 1 and 2 predicates to general_operand.
	Extend operands 1 and 2 to XFmode and generate atan2xf3 insn.
	(atan<mode>2): Change operand 1 predicate to general_operand.
	Extend operand 1 to XFmode and generate atanxf3 insn.

From-SVN: r264195
2018-09-10 21:13:49 +02:00
Uros Bizjak
dfc741557e i386.md (x87/SSE constant load splitter): Use memory_operand instead of nonimmediate_operand for input operand predicate.
* config/i386/i386.md (x87/SSE constant load splitter): Use
	memory_operand instead of nonimmediate_operand for input operand
	predicate.

From-SVN: r264194
2018-09-10 20:46:11 +02:00
Marek Polacek
fe56b8a294 class.c (build_vtbl_ref): Remove.
* class.c (build_vtbl_ref): Remove.
	(build_vtbl_ref_1): Rename to build_vtbl_ref.
	(build_vfn_ref): Call build_vtbl_ref instead of build_vtbl_ref_1.

From-SVN: r264193
2018-09-10 14:49:18 +00:00
GCC Administrator
0fa6c49be6 Daily bump.
From-SVN: r264189
2018-09-10 00:16:42 +00:00
Uros Bizjak
4801cc61b1 i386.md (float partial SSE register stall splitter): Move splitter near its instruction pattern.
* config/i386/i386.md (float partial SSE register stall splitter): Move
	splitter near its instruction pattern.
	(float_extend partial SSE register stall splitter): Ditto.
	(float_truncate partial SSE register stall splitter): Ditto.

From-SVN: r264185
2018-09-09 23:32:08 +02:00
Hans-Peter Nilsson
8eb7aec132 re PR target/86794 (mmix port needs updating for CVE-2017-5753)
PR target/86794
	* config/mmix/mmix.c (TARGET_HAVE_SPECULATION_SAFE_VALUE): Redefine
	to speculation_safe_value_not_needed.

From-SVN: r264184
2018-09-09 18:13:18 +00:00
Hans-Peter Nilsson
8023c7a49c re PR target/85666 (gcc-8.0.1 fails to build mmix target: gcc/libgcc/libgcc2.h:203:20: internal compiler error: in leaf_function_p, at final.c:4488)
PR target/85666
	* config/mmix/mmix.c (mmix_assemble_integer): Handle byte-size
	non-CONST_INT rtx:es using assemble_integer_with_op ".byte".

From-SVN: r264183
2018-09-09 18:12:14 +00:00
Hans-Peter Nilsson
a236f9d640 re PR target/85666 (gcc-8.0.1 fails to build mmix target: gcc/libgcc/libgcc2.h:203:20: internal compiler error: in leaf_function_p, at final.c:4488)
PR target/85666
	* config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS): Don't
	call leaf_function_p, instead use has_hard_reg_initial_val.

From-SVN: r264182
2018-09-09 18:05:48 +00:00
Ian Lance Taylor
b8106e8fd7 compiler: make sure type descriptor initializers go in .rodata
When creating type descriptor variables, the compiler (specifically
    Type::make_type_descriptor_var) invokes the immutable_struct() and
    immutable_struct_set_init() back end methods, so as to insure that
    these items go into the ".rodata" section of the generate object file.
    The expression initializers for these variables can contain nested
    subexpressions, however, and these subexpressions were not always
    being placed into .rodata. This patch changes the backend-gen code for
    slice initializers to emit implicit variables into .rodata if those
    initializers are part of a type descriptor init.
    
    Reviewed-on: https://go-review.googlesource.com/132596

From-SVN: r264181
2018-09-09 13:26:17 +00:00
Nathan Sidwell
04dad37c39 [PATCH] internalize a driver fn
https://gcc.gnu.org/ml/gcc-patches/2018-09/msg00462.html
	* gcc.h (pfatal_with_name): Don't declare here.
	* gcc.c (pfatal_with_name): Make static.

From-SVN: r264178
2018-09-09 07:42:17 +00:00
Xianmiao Qu
6d3c2b0a04 csky.md (*cskyv2_adddi3, [...]): Add earlyclobber.
2018-09-09  Xianmiao Qu  <xianmiao_qu@c-sky.com>

	* config/csky/csky.md (*cskyv2_adddi3, *cskyv2_subdi3): Add
	earlyclobber.

From-SVN: r264177
2018-09-09 04:06:16 +00:00
GCC Administrator
246ec6dcaa Daily bump.
From-SVN: r264176
2018-09-09 00:16:52 +00:00
Marek Polacek
e5ba9b702f PR c++/87150 - wrong ctor with maybe-rvalue semantics.
* call.c (struct conversion): Update commentary.
	(standard_conversion): Set rvaluedness_matches_p if LOOKUP_PREFER_RVALUE
	for ck_base.

	* g++.dg/cpp0x/move-return2.C: New test.

From-SVN: r264172
2018-09-08 17:36:08 +00:00
Jason Merrill
3075affdbc PR c++/86678 - constexpr function with non-constant after return.
In this testcase, the call to f() can never be a constant
	expression, but that's not a problem because it isn't always
	reached by calls to g.  We were wrongly rejecting this because
	potential_constant_expression_1 lacked the jump tracking that
	cxx_eval_constant_expression has.  So this patch adds a simpler
	version of that tracking.

	* constexpr.c (potential_constant_expression_1): Add jump_target.
	(breaks): Check for BREAK_STMT.
	(continues): Check for CONTINUE_STMT.

From-SVN: r264171
2018-09-08 12:00:02 -04:00
Marek Polacek
61856507f4 cxx-pretty-print.c (cxx_pretty_printer::statement): Handle RANGE_FOR_INIT_STMT.
* cxx-pretty-print.c (cxx_pretty_printer::statement) <case
	RANGE_FOR_SMT>: Handle RANGE_FOR_INIT_STMT.

From-SVN: r264170
2018-09-08 14:31:24 +00:00
Marek Polacek
e00dfa841f array-init.c: Add dg-prune-output.
* c-c++-common/array-init.c: Add dg-prune-output.
	* g++.dg/cpp0x/lambda/lambda-const-this.C: Add dg-warning.
	* g++.dg/cpp0x/lambda/lambda-in-class-neg.C: Likewise.
	* g++.dg/cpp0x/lambda/lambda-in-class.C: Likewise.
	* g++.dg/cpp0x/lambda/lambda-nested.C: Likewise.
	* g++.dg/cpp0x/lambda/lambda-nsdmi1.C: Likewise.
	* g++.dg/cpp0x/lambda/lambda-nsdmi4.C: Likewise.
	* g++.dg/cpp0x/lambda/lambda-this.C: Likewise.
	* g++.dg/cpp0x/lambda/lambda-this17.C: Likewise.
	* g++.dg/cpp0x/lambda/lambda-this18.C: Likewise.
	* g++.dg/cpp0x/lambda/lambda-this2.C: Likewise.
	* g++.dg/cpp0x/lambda/lambda-this8.C: Likewise.
	* g++.dg/cpp1y/pr64382.C: Likewise.
	* g++.dg/cpp1y/pr77739.C: Likewise.
	* g++.dg/cpp1z/lambda-this1.C: Likewise.
	* g++.dg/cpp1z/lambda-this2.C: Likewise.
	* g++.dg/template/crash84.C: Adjust dg-error.

From-SVN: r264169
2018-09-08 14:27:25 +00:00
John David Anglin
208121b583 re PR rtl-optimization/85458 (FAIL: gcc.dg/pr83480.c (internal compiler error))
PR rtl-optimization/85458
	* sel-sched.c (sel_target_adjust_priority): Allow backend adjust
	priority hook to reduce the priority of EXPR.

From-SVN: r264168
2018-09-08 13:20:23 +00:00
GCC Administrator
07eef95282 Daily bump.
From-SVN: r264167
2018-09-08 00:16:42 +00:00
Janne Blomqvist
d4c0eb58b7 Remove unused init_unsigned_integer function.
As pointed out by Bernhard Reutner-Fischer, this function is unused
since the fix for PR 53796 in November 2017.

2018-09-07  Janne Blomqvist  <jb@gcc.gnu.org>

        * runtime/environ.c (init_unsigned_integer): Remove.

From-SVN: r264163
2018-09-07 21:59:50 +03:00
Uros Bizjak
785425e152 * config/i386/i386.md (float<SWI48x:mode><MODEF:mode>2) Enable
DImode for x87 on 32bit targets.  Conditionally disable x87 modes
	with X87_ENABLE_FLOAT.  Remove preparation code.
	(*float<SWI48:mode><MODEF:mode>2): Rename from
	*float<SWI48:mode><MODEF:mode>2_mixed.  Handle x87, SSE and mixed
	math using "enabled" attribute.
	(*floatdi<MODEF:mode>2_i387): Rename from
	*float<SWI48x:mode><MODEF:mode>2_i387.  Handle only DImode and
	enable for 32bit targets only.
	(floatdi<X87MODEF:mode>2_i387_with_xmm pre-reload splitter): New
	splitter.
	(floatdi<X87MODEF:mode>2_i387_with_xmm): Use register_operand
	as operand 1 predicate.  Rewrite as define_insn_and_split.
	(floatdi<X87MODEF:mode>2_i387_with_xmm memory input splitter): Remove.

From-SVN: r264160
2018-09-07 18:01:04 +02:00
Marek Polacek
6435284ea6 direct-enum-init1.C: Remove "inside" from diagnostic messages.
* g++.dg/cpp1z/direct-enum-init1.C: Remove "inside" from diagnostic
	messages.

From-SVN: r264159
2018-09-07 15:52:54 +00:00
Marek Polacek
8112667c8c PR c++/87152 - range-based for loops with initializer broken in templates.
* constexpr.c (potential_constant_expression_1) <case RANGE_FOR_STMT>:
	Recur into RANGE_FOR_INIT_STMT.
	* cp-tree.def: Add RANGE_FOR_INIT_STMT to RANGE_FOR_STMT.
	* cp-tree.h (RANGE_FOR_INIT_STMT): Define.
	* dump.c (cp_dump_tree) <case RANGE_FOR_STMT>: Also dump
	RANGE_FOR_INIT_STMT.
	* pt.c (tsubst_expr) <case RANGE_FOR_STMT>: Recur into
	RANGE_FOR_INIT_STMT.
	* semantics.c (begin_range_for_stmt): Adjust call to build_stmt.
	Do put the init statement in RANGE_FOR_INIT_STMT.
	(finish_range_for_decl): Pop it for templates.

	* g++.dg/cpp2a/range-for11.C: New test.
	* g++.dg/cpp2a/range-for12.C: New test.
	* g++.dg/cpp2a/range-for13.C: New test.
	* g++.dg/cpp2a/range-for14.C: New test.
	* g++.dg/cpp2a/range-for15.C: New test.
	* g++.dg/cpp2a/range-for16.C: New test.
	* g++.dg/cpp2a/range-for17.C: New test.
	* g++.dg/cpp2a/range-for18.C: New test.
	* g++.dg/parse/error61.C (foo): Adjust dg-error.

From-SVN: r264158
2018-09-07 14:12:48 +00:00