Age | Commit message (Collapse) | Author | Files | Lines |
|
* ipa-split.c (struct split_point): Add count.
(consider_split): Do not compute incoming frequency; compute incoming
count and store it to split_point.
(split_function): Set count of the call to split part correctly.
* testsuite/gcc.dg/tree-ssa/fnsplit-2.c: New testcase.
From-SVN: r254720
|
|
2017-11-13 Fritz Reese <fritzoreese@gmail.com>
PR fortran/78240
gcc/fortran/ChangeLog:
PR fortran/78240
* decl.c (match_clist_expr): Replace gcc_assert with proper
handling of bad result from spec_size().
* resolve.c (check_data_variable): Avoid NULL dereference when passing
locus to gfc_error.
gcc/testsuite/ChangeLog:
PR fortran/78240
* gfortran.dg/dec_structure_23.f90: New.
* gfortran.dg/pr78240.f90: New.
From-SVN: r254718
|
|
From-SVN: r254717
|
|
gcc/ChangeLog:
2017-11-13 Carl Love <cel@us.ibm.com>
* config/rs6000/altivec.md (altivec_vsumsws_be): Add define_expand.
gcc/testsuite/ChangeLog:
2017-11-13 Carl Love <cel@us.ibm.com>
* gcc.target/powerpc/builtin-vec-sums-be-int.c: New test file.
From-SVN: r254714
|
|
* semantics.c (process_outer_var_ref): Capture variables when
they are named; complain about non-capture uses when odr-used.
* expr.c (mark_use): Rvalue use looks through capture proxy.
* constexpr.c (potential_constant_expression_1): Improve error about
use of captured variable.
* lambda.c (need_generic_capture, dependent_capture_r)
(do_dependent_capture, processing_nonlambda_template): Remove.
* call.c (build_this): Remove uses of the above.
* decl.c (cp_finish_decl): Likewise.
* semantics.c (maybe_cleanup_point_expr)
(maybe_cleanup_point_expr_void, finish_goto_stmt)
(maybe_convert_cond): Likewise.
* typeck.c (check_return_expr): Likewise.
From-SVN: r254713
|
|
* typeck.c (cp_build_fold_indirect_ref): New.
(cp_build_indirect_ref_1): Split out from cp_build_indirect_ref.
Add 'fold' parameter.
* cp-tree.h: Declare cp_build_fold_indirect_ref.
* call.c, class.c, cp-ubsan.c, decl.c, except.c, init.c, lambda.c,
parser.c, rtti.c, tree.c, typeck.c, typeck2.c: Use it.
* parser.c (do_range_for_auto_deduction): Use RO_UNARY_STAR.
(cp_convert_range_for): Likewise.
* typeck2.c (build_x_arrow): Use RO_ARROW.
From-SVN: r254712
|
|
* cp-ubsan.c (cp_ubsan_check_member_access_r): Fix handling of
INDIRECT_REF of ADDR_EXPR.
From-SVN: r254711
|
|
* call.c (perform_direct_initialization_if_possible): Check
processing_template_decl.
* typeck.c (build_static_cast_1): Likewise.
From-SVN: r254710
|
|
This implements __VA_OPT__, a new preprocessor feature added in C++2A.
The paper can be found here:
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0306r4.html
gcc/ChangeLog
* doc/cpp.texi (Variadic Macros): Document __VA_OPT__.
gcc/testsuite/ChangeLog
* c-c++-common/cpp/va-opt-pedantic.c: New file.
* c-c++-common/cpp/va-opt.c: New file.
* c-c++-common/cpp/va-opt-error.c: New file.
libcpp/ChangeLog
* pch.c (cpp_read_state): Set n__VA_OPT__.
* macro.c (vaopt_state): New class.
(_cpp_arguments_ok): Check va_opt flag.
(replace_args, create_iso_definition): Use vaopt_state.
* lex.c (lex_identifier_intern): Possibly issue errors for
__VA_OPT__.
(lex_identifier): Likewise.
(maybe_va_opt_error): New function.
* internal.h (struct lexer_state) <va_args_ok>: Update comment.
(struct spec_nodes) <n__VA_OPT__>: New field.
* init.c (struct lang_flags) <va_opt>: New field.
(lang_defaults): Add entries for C++2A. Update all entries for
va_opt.
(cpp_set_lang): Initialize va_opt.
* include/cpplib.h (struct cpp_options) <va_opt>: New field.
* identifiers.c (_cpp_init_hashtable): Initialize n__VA_OPT__.
From-SVN: r254707
|
|
gcc/ChangeLog:
2017-11-13 Carl Love <cel@us.ibm.com>
* config/rs6000/rs6000-c.c (altivec_overloaded_builtins):
Add support for builtins:
unsigned int vec_first_{,miss}_match_{,or_eos}index,
vector {un,}signed {char,int,short},
vector {un,}signed {char,int,short}) arguments.
* config/rs6000/rs6000-builtin.def (VFIRSTMATCHINDEX,
VFIRSTMATCHOREOSINDEX, VFIRSTMISMATCHINDEX, VFIRSTMISMATCHOREOSINDEX):
Add BU_P9V_AV_2 expansions for the builtins.
* config/rs6000/altivec.h (vec_first_match_index,
vec_first_mismatch_index, vec_first_match_or_eos_index,
vec_first_mismatch_or_eos_index): Add #defines for the builtins.
* config/rs6000/rs6000-protos.h (bytes_in_mode): Add
new extern declaration.
* config/rs6000/rs6000.c (bytes_in_mode): Add new function.
* config/rs6000/vsx.md (first_match_index_<mode>,
first_match_or_eos_index_<mode>, first_mismatch_index_<mode>,
first_mismatch_or_eos_index_<mode>): Add define expand.
(vctzlsbb_<mode>): Add mode field to define_insn for vctzlsbb.
* doc/extend.texi: Update the built-in documenation file for the new
built-in functions.
gcc/testsuite/ChangeLog:
2017-11-13 Carl Love <cel@us.ibm.com>
* gcc.target/powerpc/builtins-6-p9-runnable.c: Add new runnable test.
* gcc.target/powerpc/vsu/vec-cnttz-lsbb-2.c: Update expected error
message.
From-SVN: r254704
|
|
The description of our 1-based column-numbering convention was in
a non-obvious place withn line-map.h; this patch moves it to the top
of that header.
libcpp/ChangeLog:
* include/line-map.h (linenum_type): Move this typedef and the
comment describing column numbering to near the top of the file.
From-SVN: r254703
|
|
[gcc]
2017-11-13 Michael Meissner <meissner@linux.vnet.ibm.com>
* match.pd: Convert fminf<N>, fminf<N>x, fmax<N>, and fmax<N>x
into the min/max operations for _Float<N> and _Float<N>X types.
[gcc/testsuite]
2017-11-13 Michael Meissner <meissner@linux.vnet.ibm.com>
* gcc.target/powerpc/float128-minmax.c: New test.
From-SVN: r254702
|
|
PR lto/81351
* dwarf2out.c (do_eh_frame): New static variable.
(dwarf2out_begin_prologue): Set it.
(dwarf2out_frame_finish): Test it instead of dwarf2out_do_eh_frame.
From-SVN: r254700
|
|
From-SVN: r254699
|
|
From-SVN: r254698
|
|
PR lto/81351
* debug.h (dwarf2out_do_eh_frame): Declare.
* dwarf2cfi.c (dwarf2out_do_eh_frame): New predicate.
(dwarf2out_do_frame): Use it.
(dwarf2out_do_cfi_asm): Likewise.
* dwarf2out.c (dwarf2out_frame_finish): Likewise.
(dwarf2out_assembly_start): Likewise.
(dwarf2out_begin_prologue): Fix comment.
* toplev.c (compile_file): Always call dwarf2out_frame_finish
if the target needs either debug or unwind DWARF2 info.
* lto-opts.c (lto_write_options): Do not save -fexceptions,
-fnon-call-exceptions, -ffp-contract, -fmath-errno, -fsigned-zeros,
-ftrapping-math, -ftrapv and -fwrapv.
From-SVN: r254697
|
|
* cgraph.c (cgraph_edge::sreal_frequency): New function.
* cgraph.h (cgraph_edge::sreal_frequency): Declare.
* ipa-fnsummary.c (dump_ipa_call_summary): Use sreal_frequency.
(estimate_edge_size_and_time): Likewise.
(ipa_merge_fn_summary_after_inlining): Likewise.
* ipa-inline.c (cgraph_freq_base_rec): Remove.
(compute_uninlined_call_time): Use sreal_frequency.
(compute_inlined_call_time): Likewise.
(ipa_inline): Do not initialize cgraph_freq_base_rec.
* profile-count.c: Include sreal.h.
(profile_count::to_sreal_scale): New.
* profile-count.h: Forward declare sreal.
(profile_count::to_sreal_scale): Declare.
From-SVN: r254696
|
|
gcc/cp/
Remove the null check from placement new in all modes
* init.c (build_new_1): Don't do a null check for
a namespace-scope non-replaceable placement new
in any mode unless -fcheck-new is provided.
testsuite/
Remove the null check from placement new in all modes
* g++.dg/init/pr35878_1.C: Adjust.
* g++.dg/init/pr35878_4.C: New.
* g++.dg/torture/pr48695.C: Adjust.
* g++.dg/tree-ssa/pr31146-2.C: Likewise.
* g++.dg/tree-ssa/pr41428.C: Adjust.
From-SVN: r254694
|
|
2017-11-13 Christophe Lyon <christophe.lyon@linaro.org>
* gcc.target/arm/pr67989.C: Add -Wno-return-type to
dg-additional-options.
From-SVN: r254692
|
|
https://gcc.gnu.org/ml/gcc-patches/2017-10/msg01911.html
* diagnostic.c (maybe_line_and_column): New.
(diagnostic_get_location_text): Use it.
(diagnostic_report_current_module): Likewise.
(test_diagnostic_get_location_text): Add tests.
* lib/gcc-dg.exp (process-message): Use -: for no column.
* c-c++-common/cilk-plus/CK/cilk_for_grain_errors.c: Mark elided
column messages.
* c-c++-common/cpp/pr58844-1.c: Likewise.
* c-c++-common/cpp/pr58844-2.c: Likewise.
* c-c++-common/cpp/warning-zero-location.c: Likewise.
* g++.dg/diagnostic/pr77949.C: Likewise.
* g++.dg/gomp/macro-4.C: Likewise.
* gcc.dg/Wunknownprag.c: Likewise.
* gcc.dg/builtin-redefine.c: Likewise.
* gcc.dg/cpp/Wunknown-pragmas-1.c: Likewise.
* gcc.dg/cpp/Wunused.c: Likewise.
* gcc.dg/cpp/misspelled-directive-1.c: Likewise.
* gcc.dg/cpp/redef2.c: Likewise.
* gcc.dg/cpp/redef3.c: Likewise.
* gcc.dg/cpp/redef4.c: Likewise.
* gcc.dg/cpp/trad/Wunused.c: Likewise.
* gcc.dg/cpp/trad/argcount.c: Likewise.
* gcc.dg/cpp/trad/comment-3.c: Likewise.
* gcc.dg/cpp/trad/comment.c: Likewise.
* gcc.dg/cpp/trad/defined.c: Likewise.
* gcc.dg/cpp/trad/directive.c: Likewise.
* gcc.dg/cpp/trad/funlike-3.c: Likewise.
* gcc.dg/cpp/trad/funlike.c: Likewise.
* gcc.dg/cpp/trad/literals-2.c: Likewise.
* gcc.dg/cpp/trad/macro.c: Likewise.
* gcc.dg/cpp/trad/pr65238-4.c: Likewise.
* gcc.dg/cpp/trad/recurse-1.c: Likewise.
* gcc.dg/cpp/trad/recurse-2.c: Likewise.
* gcc.dg/cpp/trad/redef2.c: Likewise.
* gcc.dg/cpp/ucnid-11.c: Likewise.
* gcc.dg/cpp/unc1.c: Likewise.
* gcc.dg/cpp/unc2.c: Likewise.
* gcc.dg/cpp/unc3.c: Likewise.
* gcc.dg/cpp/unc4.c: Likewise.
* gcc.dg/cpp/undef2.c: Likewise.
* gcc.dg/cpp/warn-redefined-2.c: Likewise.
* gcc.dg/cpp/warn-redefined.c: Likewise.
* gcc.dg/cpp/warn-unused-macros-2.c: Likewise.
* gcc.dg/cpp/warn-unused-macros.c: Likewise.
* gcc.dg/empty-source-2.c: Likewise.
* gcc.dg/empty-source-3.c: Likewise.
* gcc.dg/gomp/macro-4.c: Likewise.
* gcc.dg/noncompile/pr35447-1.c: Likewise.
* gcc.dg/plugin/location-overflow-test-1.c: Likewise.
* gcc.dg/pr20245-1.c: Likewise.
* gcc.dg/pr28419.c: Likewise.
* gcc.dg/rtl/truncated-rtl-file.c: Likewise.
* gcc.dg/unclosed-init.c: Likewise.
From-SVN: r254691
|
|
gcc/testsuite/ChangeLog:
2017-11-13 Charles Baylis <charles.baylis@linaro.org>
* gfortran.dg/ieee/ieee_8.f90: xfail for aarch64*-*-gnu*
From-SVN: r254689
|
|
2017-11-09 Luis Machado <luis.machado@linaro.org>
gcc/
* doc/md.texi (Specifying processor pipeline description): Fix
incorrect latency for the div instruction example.
From-SVN: r254680
|
|
by field not optimised into copying whole 32 bits at once)
PR tree-optimization/78821
* gimple-ssa-store-merging.c (compatible_load_p): Don't require
that bit_not_p is the same.
(imm_store_chain_info::coalesce_immediate_stores): Likewise.
(split_group): Count precisely bit_not_p bits in each statement.
(invert_op): New function.
(imm_store_chain_info::output_merged_store): Use invert_op to
emit BIT_XOR_EXPR with a xor_mask instead of BIT_NOT_EXPR if some
but not all orig_stores have BIT_NOT_EXPR in the corresponding spots.
* gcc.dg/store_merging_15.c: New test.
From-SVN: r254679
|
|
2017-11-13 Martin Liska <mliska@suse.cz>
* gcov.c (struct coverage_info): Remove typedef of coverage_t.
(struct source_info): Likewise.
(add_branch_counts): Likewise.
(add_line_counts): Likewise.
(function_summary): Likewise.
(output_intermediate_line): Likewise.
(generate_results): Likewise.
From-SVN: r254678
|
|
2017-11-13 Martin Liska <mliska@suse.cz>
* gcov.c (struct block_info): Remove typedef for block_t.
(struct line_info): Likewise.
(line_info::has_block): Likewise.
(EXIT_BLOCK): Likewise.
(unblock): Likewise.
(circuit): Likewise.
(get_cycles_count): Likewise.
(process_file): Likewise.
(read_graph_file): Likewise.
(solve_flow_graph): Likewise.
(find_exception_blocks): Likewise.
(add_line_counts): Likewise.
(accumulate_line_info): Likewise.
(output_line_details): Likewise.
From-SVN: r254677
|
|
2017-11-13 Martin Liska <mliska@suse.cz>
* gcov.c (struct arc_info): Remove typedef for arc_t.
(struct line_info): Likewise.
(add_branch_counts): Likewise.
(output_branch_count): Likewise.
(function_info::~function_info): Likewise.
(circuit): Likewise.
(output_intermediate_line): Likewise.
(read_graph_file): Likewise.
(solve_flow_graph): Likewise.
(find_exception_blocks): Likewise.
(add_line_counts): Likewise.
(accumulate_line_info): Likewise.
(output_line_details): Likewise.
(output_function_details): Likewise.
From-SVN: r254676
|
|
2017-11-13 Martin Liska <mliska@suse.cz>
* gcov.c (struct function_info): Remove typedef for function_t.
(struct source_info): Likewise.
(source_info::get_functions_at_location): Likewise.
(solve_flow_graph): Likewise.
(find_exception_blocks): Likewise.
(add_line_counts): Likewise.
(output_intermediate_file): Likewise.
(process_file): Likewise.
(generate_results): Likewise.
(release_structures): Likewise.
(read_graph_file): Likewise.
(read_count_file): Likewise.
(accumulate_line_counts): Likewise.
(output_lines): Likewise.
From-SVN: r254675
|
|
2017-11-13 Martin Liska <mliska@suse.cz>
* gcov.c (function_info::function_info): Remove num_counts
and add vector<gcov_type>.
(function_info::~function_info): Use the vector.
(process_file): Likewise.
(read_graph_file): Likewise.
(read_count_file): Likewise.
(solve_flow_graph): Likewise.
From-SVN: r254674
|
|
2017-11-13 Martin Liska <mliska@suse.cz>
* gcov.c (function_info::is_artificial): New function.
(process_file): Erase all artificial early.
(generate_results): Skip as all artificial are already
removed.
From-SVN: r254673
|
|
2017-11-13 Martin Liska <mliska@suse.cz>
* gcov.c (read_graph_file): Store to global vector of functions.
(read_count_file): Iterate the vector.
(process_file): Likewise.
(generate_results): Likewise.
(release_structures): Likewise.
From-SVN: r254672
|
|
PR tree-optimization/82954
* gimple-ssa-store-merging.c
(imm_store_chain_info::coalesce_immediate_stores): If
!infof->ops[N].base_addr, split group if info->ops[N].base_addr.
* gcc.c-torture/execute/pr82954.c: New test.
From-SVN: r254671
|
|
r254466 failed to update some uses of ENDIAN_LANE_N that were added after
the patch was initially written, which meant that we were treating the
mode number as an element count.
2017-11-13 Richard Sandiford <richard.sandiford@linaro.org>
gcc/
* config/aarch64/aarch64-simd.md (aarch64_store_lane0<mode>):
Upddate call to ENDIAN_LANE_N.
(aarch64_<sur>dot_lane<vsi2qi>): Use aarch64_endian_lane_rtx.
(aarch64_<sur>dot_laneq<vsi2qi>): Likewise.
(*aarch64_simd_vec_copy_lane<mode>): Update calls to ENDIAN_LANE_N
and use aarch64_endian_lane_rtx.
(*aarch64_simd_vec_copy_lane_<vswap_width_name><mode>): Likewise.
From-SVN: r254670
|
|
From-SVN: r254669
|
|
2017-11-12 Tom de Vries <tom@codesourcery.com>
* config/riscv/riscv.h (ASM_OUTPUT_LABELREF): Wrap in do {} while (0).
From-SVN: r254666
|
|
2017-11-12 Tom de Vries <tom@codesourcery.com>
* config/elfos.h (ASM_OUTPUT_ASCII): Remove semicolon after macro body.
From-SVN: r254665
|
|
2017-11-12 Tom de Vries <tom@codesourcery.com>
* config/cr16/cr16.h (ASM_OUTPUT_LABELREF): Remove semicolon after macro
body.
* config/powerpcspe/xcoff.h (ASM_OUTPUT_LABELREF): Same.
* config/rs6000/xcoff.h (ASM_OUTPUT_LABELREF): Same.
* defaults.h (ASM_OUTPUT_LABELREF): Same.
From-SVN: r254664
|
|
From-SVN: r254663
|
|
fortran/resolve.c:5837)
2017-11-11 Janus Weil <janus@gcc.gnu.org>
PR fortran/82932
* resolve.c (update_compcall_arglist): Improve error recovery,
remove a gcc_assert.
2017-11-11 Janus Weil <janus@gcc.gnu.org>
PR fortran/82932
* gfortran.dg/typebound_call_29.f90: New test.
From-SVN: r254660
|
|
gcc/ChangeLog:
PR c/81117
* doc/extend.texi (attribute nonstring): Remove spurious argument.
From-SVN: r254659
|
|
size_t)' destination unchanged after copying no bytes
gcc/ChangeLog:
PR bootstrap/82948
* prefic.c (translate_name): Replace strncpy with memcpy to
avoid -Wstringop-truncation.
From-SVN: r254658
|
|
From-SVN: r254657
|
|
From-SVN: r254653
|
|
From-SVN: r254652
|
|
From-SVN: r254651
|
|
* tree-ssa-tail-merge.c (replace_block_by): Fix and re-enable profile
merging.
From-SVN: r254650
|
|
From-SVN: r254649
|
|
fortran/trans-expr.c:7807)
2017-11-10 Fritz Reese <fritzoreese@gmail.com>
PR fortran/82886
gcc/fortran/ChangeLog:
PR fortran/82886
* gfortran.h (gfc_build_init_expr): New prototype.
* invoke.texi (finit-derived): Update documentation.
* expr.c (gfc_build_init_expr): New, from gfc_build_default_init_expr.
(gfc_build_default_init_expr): Redirect to gfc_build_init_expr(,,false)
(component_initializer): Force building initializers using
gfc_build_init_expr(,,true).
gcc/testsuite/ChangeLog:
PR fortran/82886
* gfortran.dg/init_flag_16.f03: New testcase.
From-SVN: r254648
|
|
From-SVN: r254647
|
|
* testsuite/util/testsuite_tr1.h (ThrowMoveConsClass): Use noexcept.
From-SVN: r254644
|
|
value is in a vector register.
[gcc]
2017-11-10 Michael Meissner <meissner@linux.vnet.ibm.com>
* config/rs6000/rs6000.md (bswaphi2_reg): On ISA 3.0 systems,
enable generating XXBRH if the value is in a vector register.
(bswapsi2_reg): On ISA 3.0 systems, enable generating XXBRW if the
value is in a vector register.
(bswapdi2_reg): On ISA 3.0 systems, always use XXBRD to do
register to register bswap64's instead of doing the GPR sequence
used on previous machines.
(bswapdi2_xxbrd): New insn.
(bswapdi2_reg): Disallow on ISA 3.0.
(register to register bswap64 splitter): Do not split the insn on
ISA 3.0 systems that use XXBRD.
[gcc/testsuite]
2017-11-10 Michael Meissner <meissner@linux.vnet.ibm.com>
* gcc.target/powerpc/p9-xxbr-3.c: New test.
From-SVN: r254643
|