- 12 Sep, 2018 11 commits
-
-
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
Kwok Cheung Yeung committed -
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
Andrew Stubbs committed -
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
Richard Biener committed -
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
Andreas Krebbel committed -
From-SVN: r264233
Martin Liska committed -
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
Jakub Jelinek committed -
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
Jakub Jelinek committed -
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
Tom de Vries committed -
* 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
Aldy Hernandez committed -
(alloca_type_and_limit::alloca_type_and_limit): Initialize limit field for ALLOCA_BOUND_*_LARGE. From-SVN: r264227
Aldy Hernandez committed -
From-SVN: r264226
GCC Administrator committed
-
- 11 Sep, 2018 15 commits
-
-
From-SVN: r264217
Nathan Sidwell committed -
* reg-stack.c (subst_asm_stack_regs): Call replace_reg also for clobbers. Remove obsolete comment. From-SVN: r264216
Uros Bizjak committed -
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
Janus Weil committed -
* 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
Uros Bizjak committed -
* 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
Uros Bizjak committed -
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
Paul Thomas committed -
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
Nathan Sidwell committed -
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
Jonathan Wakely committed -
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
Jonathan Wakely committed -
From-SVN: r264205
Aldy Hernandez committed -
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
Andrew Stubbs committed -
* tree-vrp (extract_range_from_binary_expr_1): Treat all divisions by zero as VR_UNDEFINED. From-SVN: r264203
Aldy Hernandez committed -
2018-09-11 Joey Ye <joey.ye@arm.com> * lib/gcov.exp (verify-intermediate): Add missing close. From-SVN: r264202
Joey Ye committed -
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
Janus Weil committed -
From-SVN: r264200
GCC Administrator committed
-
- 10 Sep, 2018 5 commits
-
-
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
Janus Weil committed -
* 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
Uros Bizjak committed -
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
Uros Bizjak committed -
* 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
Marek Polacek committed -
From-SVN: r264189
GCC Administrator committed
-
- 09 Sep, 2018 8 commits
-
-
* 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
Uros Bizjak committed -
PR target/86794 * config/mmix/mmix.c (TARGET_HAVE_SPECULATION_SAFE_VALUE): Redefine to speculation_safe_value_not_needed. From-SVN: r264184
Hans-Peter Nilsson committed -
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
Hans-Peter Nilsson committed -
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
Hans-Peter Nilsson committed -
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
Ian Lance Taylor committed -
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
Nathan Sidwell committed -
2018-09-09 Xianmiao Qu <xianmiao_qu@c-sky.com> * config/csky/csky.md (*cskyv2_adddi3, *cskyv2_subdi3): Add earlyclobber. From-SVN: r264177
Xianmiao Qu committed -
From-SVN: r264176
GCC Administrator committed
-
- 08 Sep, 2018 1 commit
-
-
* 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
Marek Polacek committed
-