- 03 Dec, 2017 6 commits
-
-
2017-12-03 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/36313 * check.c (gfc_check_minval_maxval): Use int_orLreal_or_char_check_f2003 for array argument. * iresolve.c (gfc_resolve_maxval): Insert number in function name for character arguments. (gfc_resolve_minval): Likewise. * trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Fix comment. (gfc_conv_intrinsic_minmaxval): Resort arguments and call library function if dealing with a character function. 2017-12-03 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/36313 * Makefile.am: Add new files for character-valued maxval and minval. * Makefile.in: Regenerated. * gfortran.map: Add new functions. * m4/iforeach-s2.m4: New file. * m4/ifunction-s2.m4: New file. * m4/iparm.m4: Add intitval for minval and maxval. * m4/maxval0s.m4: New file. * m4/maxval1s.m4: New file. * m4/minval0s.m4: New file. * m4/minval1s.m4: New file. * generated/maxval0_s1.c: New file. * generated/maxval0_s4.c: New file. * generated/maxval1_s1.c: New file. * generated/maxval1_s4.c: New file. * generated/minval0_s1.c: New file. * generated/minval0_s4.c: New file. * generated/minval1_s1.c: New file. * generated/minval1_s4.c: New file. 2017-12-03 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/36313 * gfortran.dg/maxval_char_1.f90: New test. * gfortran.dg/maxval_char_2.f90: New test. * gfortran.dg/maxval_char_3.f90: New test. * gfortran.dg/maxval_char_4.f90: New test. * gfortran.dg/minval_char_1.f90: New test. * gfortran.dg/minval_char_2.f90: New test. * gfortran.dg/minval_char_3.f90: New test. * gfortran.dg/minval_char_4.f90: New test. From-SVN: r255367
Thomas Koenig committed -
From-SVN: r255366
Jerry DeLisle committed -
2017-12-03 Jerry DeLisle <jvdelisle@gcc.gnu.org> Dominique d'Humieres <dominiq@lps.ens.fr> PR libgfortran/83191 * io/transfer.c (list_formatted_read_scalar): Do not set namelist_mode bit here. (namelist_read): Likewise. (data_transfer_init): Clear the mode bit here. (finalize_transfer): Do set the mode bit just before any calls to namelist_read or namelist_write. It can now be referred to in complex_write. ^ io/write.c (write_complex): Suppress the leading blanks when namelist_mode bit is not set to 1. * gfortran.dg/namelist_95.f90: New test. Co-Authored-By: Dominique d'Humieres <dominiq@lps.ens.fr> From-SVN: r255365
Jerry DeLisle committed -
From-SVN: r255363
Jerry DeLisle committed -
2017-12-02 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/83225 * io/io.h (is_internal_unit): Use the unit_is_internal bit. * io/transfer.c (data_transfer_init): Set the bit to true for internal umits. Use that bit for checks for internal unit initializations. * io/unit.c (insert_unit): As a precaution, set the internal_unit_kind to zero when a unit structure is first created. From-SVN: r255362
Jerry DeLisle committed -
From-SVN: r255361
GCC Administrator committed
-
- 02 Dec, 2017 15 commits
-
-
* ipa-cp.c (ipcp_lattice<valtype>::print): Update dumping. (update_specialized_profile): Fix updating of counts. (perhaps_add_new_callers): Likewise. From-SVN: r255358
Jan Hubicka committed -
PR target/81616 * x86-tune.def: Remove obsolette FIXMEs. (X86_TUNE_PARTIAL_FLAG_REG_STALL): Disable for generic (X86_TUNE_FUSE_CMP_AND_BRANCH_32, X86_TUNE_FUSE_CMP_AND_BRANCH_64, X86_TUNE_FUSE_CMP_AND_BRANCH_SOFLAGS, X86_TUNE_FUSE_ALU_AND_BRANCH): Enable for generic. (X86_TUNE_PAD_RETURNS): Disable for generic. * gcc.target/i386/pad-1.c: Compile for amdfam10. * gcc.target/i386/align-limit.c: Likewise. From-SVN: r255357
Jan Hubicka committed -
PR tree-optimization/83170 PR tree-optimization/83241 * gimple-ssa-store-merging.c (imm_store_chain_info::try_coalesce_bswap): Update vuse field from gimple_vuse (ins_stmt) in case it has changed. (imm_store_chain_info::output_merged_store): Likewise. * gcc.dg/store_merging_17.c: New test. From-SVN: r255356
Jakub Jelinek committed -
* tree-chkp.c (chkp_compute_bounds_for_assignment): Handle POINTER_DIFF_EXPR. * gcc.target/i386/mpx/pointer-diff-1.c: New test. From-SVN: r255355
Jakub Jelinek committed -
PR c++/81212 * tree-cfg.c (pass_warn_function_return::execute): Handle __builtin_ubsan_handle_missing_return like __builtin_unreachable with BUILTINS_LOCATION. * g++.dg/ubsan/pr81212.C: New test. * g++.dg/ubsan/return-1.C: Add -Wno-return-type to dg-options. * g++.dg/ubsan/return-2.C: Likewise. * g++.dg/ubsan/return-7.C: Likewise. From-SVN: r255354
Jakub Jelinek committed -
PR target/78643 PR target/80583 * expr.c (get_inner_reference): If DECL_MODE of a non-bitfield is BLKmode for vector field with vector raw mode, use TYPE_MODE instead of DECL_MODE. * gcc.target/i386/pr80583.c: New test. From-SVN: r255353
Jakub Jelinek committed -
* config/i386/i386-protos.h (standard_sse_constant_opcode): Change last argument to rtx pointer. * config/i386/i386.c (standard_sse_constant_opcode): Replace X argument with OPERANDS. For AVX+ 128-bit VEX encoded instructions over 256-bit or 512-bit. If setting EXT_REX_SSE_REG_P, use EVEX encoded insn depending on the chosen ISAs. * config/i386/i386.md (*movxi_internal_avx512f, *movoi_internal_avx, *movti_internal, *movdi_internal, *movsi_internal, *movtf_internal, *movdf_internal, *movsf_internal): Adjust standard_sse_constant_opcode callers. * config/i386/sse.md (mov<mode>_internal): Likewise. * config/i386/mmx.md (*mov<mode>_internal): Likewise. From-SVN: r255352
Jakub Jelinek committed -
* doc/invoke.texi (-dp): Say that instruction cost is printed as well. From-SVN: r255351
Segher Boessenkool committed -
This improves the output for load and store fusion a little. In most cases it removes the comment output, because that makes the generated assembler code hard to read, and equivalent info is available with -dp anyway. For the vector loads it puts the comment on the second insn, where it doesn't interfere with other debug comments. * config/rs6000/rs6000-protos.h (emit_fusion_addis): Remove last two parameters from prototype. * config/rs6000/rs6000.c (emit_fusion_addis): Remove last two parameters. Don't print a comment. (emit_fusion_gpr_load): Adjust. (emit_fusion_load_store): Adjust. * config/rs6000/rs6000.md (*fusion_p9_<mode>_constant): Adjust. * config/rs6000/vsx.md (two peepholes): Print the "vector load fusion" comment on the second line. gcc/testsuite/ * gcc.target/powerpc/fusion.c: Add -dp to options. Adjust the expected output. * gcc.target/powerpc/fusion3.c: Ditto. * gcc.target/powerpc/fusion4.c: Ditto. From-SVN: r255350
Segher Boessenkool committed -
We set rs6000_cpu based on tune_index, but it should be cpu_index. This patch fixes it. PR target/43871 * config/rs6000/rs6000.c (rs6000_option_override_internal): Set rs6000_cpu based on cpu_index, not tune_index. From-SVN: r255349
Segher Boessenkool committed -
This improves the assembler output (for -dp and -fverbose-asm) in several ways. It always prints the insn_cost. It does not print "[length = NN]" but "[c=NN l=NN]", to save space. It does not add one to the instruction alternative number (everything else starts counting those at 0, too). And finally, it tries to keep things lined up in columns a bit better. * final.c (output_asm_name): Print insn_cost. Shorten output. Print which_alternative instead of which_alternative + 1. (output_asm_insn): Print an extra tab if the template is short. From-SVN: r255348
Segher Boessenkool committed -
The functions cgoCheckPointer and cgoCheckResult are called by code generated by cgo. That means that we need to export them using go:linkname, as otherwise they are local symbols. The cgo code currently uses weak references to only call the symbols if they are defined, which is why it has been working--the cgo code has not been doing any checks. Reviewed-on: https://go-review.googlesource.com/80295 From-SVN: r255347
Ian Lance Taylor committed -
GCC has started emitting "control reaches end of non-void function" warnings. Avoid them for Go by 1) marking the builtin function panic and the compiler-generated function __go_runtime_error as not returning and 2) adding a default case to the switch used for select statements that simply calls __builtin_unreachable. Fixes golang/go#22767 Reviewed-on: https://go-review.googlesource.com/80416 * go-gcc.cc (Gcc_backend::Gcc_backend): Define __builtin_unreachable. (Gcc_backend::function): Add does_not_return parameter. From-SVN: r255346
Ian Lance Taylor committed -
gcc/ * common.opt (use_gnu_debug_info_extensions): Delete DWARF_DEBUG from comment. * config/vx-common.h (DWARF_DEBUGGING_INFO): Delete undef. * doc/tm.texi.in (PREFERRED_DEBUGGING_TYPE): Delete DWARF_DEBUG reference. * doc/tm.texi: Regenerate. From-SVN: r255345
Jim Wilson committed -
From-SVN: r255344
GCC Administrator committed
-
- 01 Dec, 2017 19 commits
-
-
[gcc] 2017-12-01 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/81959 * config/rs6000/rs6000.c (rs6000_address_for_fpconvert): Check for whether we can allocate pseudos before trying to fix an address. * config/rs6000/rs6000.md (float_<mode>si2_hw): Make sure the memory address is indexed or indirect. (floatuns_<mode>si2_hw2): Likewise. [gcct/testsuite] 2017-12-01 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/81959 * gcc.target/powerpc/pr81959.c: New test. From-SVN: r255341
Michael Meissner committed -
Add a new control variable to the Gogo class that stores the size threshold for nil checks. This value can be used to control the policy for deciding when a given deference operation needs a check and when it does not. A size threshold of -1 means that every potentially faulting dereference needs an explicit check (and branch to error call). A size threshold of K (where K > 0) means that if the size of the object being dereferenced is >= K, then we need a check. Reviewed-on: https://go-review.googlesource.com/80996 * go-c.h (go_create_gogo_args): Add nil_check_size_threshold field. * go-lang.c (go_langhook_init): Set nil_check_size_threshold. From-SVN: r255340
Than McIntosh committed -
From-SVN: r255339
Jason Merrill committed -
* name-lookup.c (get_std_name_hint): Add <complex>. * parser.c (cp_parser_diagnose_invalid_type_name): Call suggest_alternative_in_explicit_scope. (cp_parser_namespace_name): Likewise. From-SVN: r255336
Jason Merrill committed -
libcpp/ * expr.c (interpret_float_suffix): Ignore 'i' in C++14 and up. (interpret_int_suffix): Likewise. gcc/cp/ * parser.c (cp_parser_userdef_numeric_literal): Be helpful about 'i' in C++14 and up. From-SVN: r255335
Jason Merrill committed -
From-SVN: r255334
Jason Merrill committed -
Fix address printing for ILP32. The md file uses 'a' in assembler templates for symbolic addresses in adrp/add, which end up calling aarch64_print_operand_address. However in ILP32 these are not valid memory addresses (being ptr_mode rather than Pmode), so the assert triggers. Since it is incorrect to use symbols in memory addresses (besides literal pool accesses), change the 'a' to 'c' in the md file. Skip one failing test in ILP32 which combines the 'p' modifier with the 'a' assembler template to fake a memory reference. gcc/ * config/aarch64/aarch64.md (call_insn): Use %c rather than %a. (call_value_insn): Likewise. (sibcall_insn): Likewise. (sibcall_value_insn): Likewise. (movsi_aarch64): Likewise. (movdi_aarch64): Likewise. (add_losym_): Likewise. (ldr_got_small_): Likewise. (ldr_got_small_sidi): Likewise. (ldr_got_small_28k_): Likewise. (ldr_got_small_28k_sidi): Likewise. * config/aarch64/aarch64.c (aarch64_print_address_internal): Move output_addr_const to symbolic case. Add error check. testsuite/ * gcc.dg/asm-4.c: Skip on AArch64 with ILP32 as test is incorrect. From-SVN: r255333
Wilco Dijkstra committed -
From-SVN: r255332
Qing Zhao committed -
re PR fortran/83224 (creating character array from elements shorter than declared does not pad with whitespace properly and aborts) 2017-12-01 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/83224 * frontend-passes.c (create_var): Also handle character arrays, handling deferred lenghts. 2017-12-01 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/83224 * gfortran.dg/dependency_51.f90: New test. From-SVN: r255331
Thomas Koenig committed -
* include/experimental/string_view (basic_string_view::_S_compare): Use value-init so narrowing conversions are not ill-formed. * include/std/string_view (basic_string_view::_S_compare): Likewise. From-SVN: r255321
Jonathan Wakely committed -
* include/bits/basic_string.h (operator""s): Add pragmas to disable -Wliteral-suffix warnings. * include/experimental/string_view (operator""sv): Likewise. * include/std/chrono (operator""h, operator""min, operator""s) (operator""ms, operator""us, operator""ns): Likewise. * include/std/complex (operator""if, operator""i, operator""il): Likewise. * include/std/string_view (operator""sv): Likewise. * testsuite/20_util/duration/literals/range.cc: Adjust dg-error. From-SVN: r255320
Jonathan Wakely committed -
Certain lengths used in an MVC instruction might disable operand forwarding. Split MVCs into up to 2 forwardable ones if possible. gcc/ChangeLog: 2017-12-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * config/s390/predicates.md (plus16_Q_operand): New predicate. * config/s390/s390.md: Disable MVC merging peephole if it would disable operand forwarding. (new peephole2): Split MVCs if it would turn them into up to 2 forwardable MVCs. From-SVN: r255319
Andreas Krebbel committed -
* include/bits/locale_facets_nonio.tcc (money_get::_M_extract): Add fallthrough comment. From-SVN: r255318
Jonathan Wakely committed -
* include/bits/node_handle.h (_Node_handle_common::operator=) (_Node_handle_common::_M_swap): Add braces around debug assertions. From-SVN: r255317
Jonathan Wakely committed -
* include/ext/ropeimpl.h (rope::_S_dump): Use const char*. From-SVN: r255316
Jonathan Wakely committed -
* libsupc++/nested_exception.h (__throw_with_nested_impl): Add noreturn attribute. From-SVN: r255315
Jonathan Wakely committed -
* include/bits/regex_executor.tcc (_Executor::_M_rep_once_more): Remove semi-colon after function body. * include/bits/uniform_int_dist.h (_Power_of_2): Likewise. From-SVN: r255314
Jonathan Wakely committed -
* include/tr1/modified_bessel_func.tcc (__airy): Use value-init not list-init. From-SVN: r255313
Jonathan Wakely committed -
* include/std/type_traits (integral_constant): Make member functions noexcept (LWG 2346). * include/std/utility (integer_sequence): Likewise. From-SVN: r255312
Jonathan Wakely committed
-