- 02 Dec, 2017 5 commits
-
-
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 35 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 -
2017-12-01 Paul Thomas <pault@gcc.gnu.org> PR fortran/82605 * resolve.c (get_pdt_constructor): Initialize 'cons' to NULL. (resolve_pdt): Correct typo in prior comment. Emit an error if any parameters are deferred and the object is neither pointer nor allocatable. PR fortran/82606 * decl.c (gfc_get_pdt_instance): Continue if the parameter sym is not present or has no name. Select the parameter by name of component, rather than component order. Remove all the other manipulations of 'tail' when building the pdt instance. (gfc_match_formal_arglist): Emit and error if a star is picked up in a PDT decl parameter list. PR fortran/82622 * trans-array.c (set_loop_bounds): If a GFC_SS_COMPONENT has an info->end, use it rather than falling through to gcc_unreachable. (structure_alloc_comps): Check that param->name is non-null before comparing with the component name. * trans-decl.c (gfc_get_symbol_decl): Do not use the static initializer for PDT symbols. (gfc_init_default_dt): Do nothing for PDT symbols. * trans-io.c (transfer_array_component): Parameterized array components use the descriptor ubound since the shape is not available. PR fortran/82719 PR fortran/82720 * trans-expr.c (gfc_conv_component_ref): Do not use the charlen backend_decl of pdt strings. Use the hidden component instead. * trans-io.c (transfer_expr): Do not do IO on "hidden" string lengths. Use the hidden string length for pdt string transfers by adding it to the se structure. When finished nullify the se string length. PR fortran/82866 * decl.c (gfc_match_formal_arglist): If a name is not found or star is found, while reading a type parameter list, emit an immediate error. (gfc_match_derived_decl): On reading a PDT parameter list, on failure to match call gfc_error_recovery. PR fortran/82978 * decl.c (build_struct): Character kind defaults to 1, so use kind_expr whatever is the set value. (gfc_get_pdt_instance): Ditto. * trans-array.c (structure_alloc_comps): Copy the expression for the PDT string length before parameter substitution. Use this expression for evaluation and free it after use. 2017-12-01 Paul Thomas <pault@gcc.gnu.org> PR fortran/82605 * gfortran.dg/pdt_4.f03 : Incorporate the new error. PR fortran/82606 * gfortran.dg/pdt_19.f03 : New test. * gfortran.dg/pdt_21.f03 : New test. PR fortran/82622 * gfortran.dg/pdt_20.f03 : New test. * gfortran.dg/pdt_22.f03 : New test. PR fortran/82719 PR fortran/82720 * gfortran.dg/pdt_23.f03 : New test. PR fortran/82866 * gfortran.dg/pdt_24.f03 : New test. PR fortran/82978 * gfortran.dg/pdt_10.f03 : Correct for error in coding the for kind 4 component and change the kind check appropriately. * gfortran.dg/pdt_25.f03 : New test. From-SVN: r255311
Paul Thomas committed -
libgomp/ * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing call to acc_wait (1). From-SVN: r255308
Cesar Philippidis committed -
re PR tree-optimization/83232 (fma3d spec2000 regression on zen with -Ofast (generic tuning) after r255268 by missed SLP oppurtunity) 2017-12-01 Richard Biener <rguenther@suse.de> PR tree-optimization/83232 * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Fix detection of same access. Instead of breaking the group here do not consider the duplicate. Add comment explaining real fix. * gfortran.dg/vect/pr83232.f90: New testcase. From-SVN: r255307
Richard Biener committed -
* doc/md.texi (Insn Splitting): Fix "central flowgraph" typo. From-SVN: r255305
Jonathan Wakely committed -
gcc/ada * libgnarl/s-osinte__rtems.ads (pthread_cond_t): Use correct size and alignment. (pthread_mutex_t): Likewise. (pthread_rwlock_t): Likewise. From-SVN: r255302
Sebastian Huber committed -
ChangeLog entry are as follow: *** gcc/ChangeLog *** 2017-12-01 Sudakshina Das <sudi.das@arm.com> * config/arm/vfp.md (*movhf_vfp_fp16): Add conds attribute. *** gcc/testsuite/ChangeLog *** 2017-12-01 Sudakshina Das <sudi.das@arm.com> * gcc.target/arm/armv8_2-fp16-move-2.c: New test. From-SVN: r255301
Sudakshina Das committed -
* function.h (struct function): Remove cilk_frame_decl, is_cilk_function and calls_cilk_spawn fields. * tree-inline.h (struct copy_body_data): Remove remap_var_for_cilk field. * omp-simd-clone.c (simd_clone_clauses_extract): Don't clear cilk_elemental field. * cgraph.h (struct cgraph_simd_clone): Remove cilk_elemental field. * target.def: Adjust comment. * config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen): Don't test cilk_elemental. c-family/ * c-attribs.c (c_common_attribute_table): Remove "cilk simd function" attribute. (handle_simd_attribute): Don't check for "cilk simd function" attribute. Reindent, formatting changes. cp/ * parser.c (cp_parser_new): Don't clear cilk_simd_fn_info. (parsing_nsdmi): Adjust comment. (cp_parser_omp_for_loop_init): Likewise. * parser.h (struct cp_omp_declare_simd_data): Adjust comment. (struct cp_parser): Remove cilk_simd_fn_info field. * cp-tree.h (cilk_valid_spawn): Remove. From-SVN: r255300
Jakub Jelinek committed -
re PR tree-optimization/83233 (gimple-ssa-store-merging.c:183:3: warning: unnamed type with no linkage used to declare variable with linkage) PR tree-optimization/83233 * gimple-ssa-store-merging.c (nop_stats, bswap_stats): Use bswap_stat name for the struct. From-SVN: r255299
Jakub Jelinek committed -
PR c/79153 * tree.h (SWITCH_BREAK_LABEL_P): Define. * gimplify.c (collect_fallthrough_labels): Handle GIMPLE_BIND starting with a GIMPLE_SWITCH and ending with GIMPLE_LABEL with SWITCH_BREAK_LABEL_P set on the label. (gimplify_switch_expr): Set SWITCH_BREAK_LABEL_P on the label added for default case if it was missing and not all cases covered. Wrap GIMPLE_SWITCH and the switch_body_seq into a GIMPLE_BIND if switch_body_seq ends with a GIMPLE_LABEL with SWITCH_BREAK_LABEL_P set on the label. * tree-chrec.c (evolution_function_is_univariate_p): Add return true; to avoid -Wimplicit-fallthrough warning. * config/i386/i386.c (ix86_expand_special_args_builtin): Add FALLTHRU comment to avoid -Wimplicit-fallthrough warning. c/ * c-parser.c: Include tree-iterator.h. (c_parser_switch_statement): Emit LABEL_EXPR for the break label into SWITCH_BODY instead of after it and set SWITCH_BREAK_LABEL_P on it. cp/ * cp-gimplify.c (genericize_switch_stmt): Emit LABEL_EXPR for the break label into SWITCH_BODY instead of after it and set SWITCH_BREAK_LABEL_P on it. * parser.c (cp_parser_objc_expression): Add FALLTHRU comment to avoid -Wimplicit-fallthrough warning. fortran/ * match.c (gfc_match): Add FALLTHRU comment to avoid -Wimplicit-fallthrough warning. testsuite/ * c-c++-common/Wimplicit-fallthrough-7.c: Adjust expected warning line. * c-c++-common/Wimplicit-fallthrough-36.c: New test. From-SVN: r255298
Jakub Jelinek committed -
PR tree-optimization/83221 * tree-ssa-reassoc.c (sort_by_operand_rank): Shift bb_rank down by 16. (init_reassoc): Formatting fix. From-SVN: r255297
Jakub Jelinek committed -
PR sanitizer/81275 * tree-cfg.c (group_case_labels_stmt): Don't optimize away C++ FE implicitly added __builtin_unreachable () until -Wreturn-type is diagnosed. * c-c++-common/tsan/pr81275.c: Remove dg-skip-if. From-SVN: r255296
Jakub Jelinek committed -
PR sanitizer/83219 * tree-cfg.c: Include asan.h. (gimple_seq_unreachable_p): Return false for -fsanitize=unreachable. From-SVN: r255295
Jakub Jelinek 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 (realloc_string_callback): Handle case for which the RHS is an array expression. 2017-12-01 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/83224 * gfortran.dg/dependency_50.f90: New test. From-SVN: r255294
Thomas Koenig committed -
gcc/ * config/i386/i386.md: Fix AVX512 register width in AVX512 instruction. From-SVN: r255293
Sergey Shalnov committed -
gcc/testsuite/ * gcc.target/i386/avx512f-vpcompressb-2.c: Fix popcnt for 64b case. From-SVN: r255292
Kirill Yukhin committed -
gcc/ * config/i386/i386.c (standard_sse_constant_opcode): Fix wrong form for vpcmpeqd instruction. From-SVN: r255291
Sergey Shalnov committed
-