summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* lra: A multiple_sets is not a simple_move_p (PR73650)segher2016-08-152-0/+13
| | | | | | | | | | | | | | | | In the PR we have a PARALLEL of a move and a compare (a "mr." instruction). The compare is dead, so single_set on it returns just the move. Then, simple_move_p returns true; but the instruction does need reloads in this case. This patch solves this by making simple_move_p return false for every multiple_sets instruction. PR rtl-optimization/73650 * lra-constraints.c (simple_move_p): If the insn is multiple_sets it is not a simple move. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239483 138bc75d-0d04-0410-961f-82ee72b054a4
* Implement LWG 2744 and LWG 2754.ville2016-08-157-12/+78
| | | | | | | | | | | | | | | | | | | | * include/std/any (any(ValueType&&)): Constrain with __is_in_place_type. (any(in_place_type_t<_ValueType>, _Args&&...)): Use _Decay. (any(in_place_type_t<_ValueType>, initializer_list<_Up>, _Args&&...)): Likewise. (emplace(_Args&&...)): Likewise. (emplace(initializer_list<_Up>, _Args&&...)): Likewise. * include/std/utility: (__is_in_place_type_impl): New. (__is_in_place_type): Likewise. * testsuite/20_util/any/assign/emplace.cc: Add tests for decaying emplace. * testsuite/20_util/any/cons/in_place.cc: Add tests for decaying in_place constructor. * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust. * testsuite/20_util/any/requirements.cc: Add a test for in_place-constructing a non-default-constructible type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239482 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-ada-spec.c (dump_number): New function.ebotcazou2016-08-154-3/+160
| | | | | | | | (handle_escape_character): Likewise. (print_ada_macros): Add handling of constant integers and strings. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239481 138bc75d-0d04-0410-961f-82ee72b054a4
* Add a feature macro for C++17 make_from_tuple.ville2016-08-153-1/+17
| | | | | | | * include/std/tuple (__cpp_lib_make_from_tuple): New. * testsuite/20_util/tuple/make_from_tuple/1.cc: Adjust. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239480 138bc75d-0d04-0410-961f-82ee72b054a4
* * src/filesystem/ops.cc: Always include ostream anduros2016-08-152-22/+37
| | | | | | | | | | | ext/stdio_filebuf.h. (do_copy_file): Check if _GLIBCXX_USE_FCHMODAT is defined. [_GLIBCXX_USE_SENDFILE]: Fallback to read/write operations in case sendfile fails with ENOSYS or EINVAL. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239479 138bc75d-0d04-0410-961f-82ee72b054a4
* gcov-tool: Do not segfault in merge operation (PRmarxin2016-08-152-0/+6
| | | | | | | | PR gcov-profile/67097 * libgcov-util.c (gcov_profile_merge): Skip missing files. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239478 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix invalid memory access in gcc.c (driver/72765)marxin2016-08-152-2/+10
| | | | | | | | | PR driver/72765 * gcc.c (do_spec_1): Call save_string with the right size. (save_string): Do an assert about string we copy. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239475 138bc75d-0d04-0410-961f-82ee72b054a4
* 2016-08-15 Richard Biener <rguenther@suse.de>rguenth2016-08-153-4/+9
| | | | | | | | | | * ree.c (rest_of_handle_ree): Remove redundant timevar push/pop. * config/i386/i386.c (pass_data_insert_vzeroupper): Account to TV_MACH_DEP. (pass_data_stv): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239474 138bc75d-0d04-0410-961f-82ee72b054a4
* 2016-08-15 Richard Biener <rguenther@suse.de>rguenth2016-08-154-0/+42
| | | | | | | | | | | PR tree-optimization/73434 * tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address): Preserve TBAA info on the base when forwarding a non-invariant address. * gcc.dg/torture/pr73434.c: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239471 138bc75d-0d04-0410-961f-82ee72b054a4
* * dwarf2.def (DW_AT_string_length_bit_size,jakub2016-08-154-8/+43
| | | | | | | | | | | | | | | | | | | DW_AT_string_length_byte_size): New attributes. * dwarf2out.c (struct checksum_attributes): Add at_string_length_bit_size and at_string_length_byte_size fields. (collect_checksum_attributes): Handle DW_AT_string_length_bit_size and DW_AT_string_length_byte_size. (die_checksum_ordered): Handle at_string_length_bit_size and at_string_length_byte_size. (gen_array_type_die): For dwarf_version >= 5 emit DW_AT_string_length_byte_size instead of DW_AT_byte_size. (adjust_string_types): For dwarf_version >= 5 remove DW_AT_string_length_byte_size instead of DW_AT_byte_size. (resolve_addr): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239470 138bc75d-0d04-0410-961f-82ee72b054a4
* PR debug/71906jakub2016-08-154-23/+345
| | | | | | | | | | | | | | | | | | | | | * dwarf2out.c (string_types): New variable. (gen_array_type_die): Change early_dwarf handling of DW_AT_string_length, create DW_OP_call4 referencing the length var temporarily. Handle parameters that are pointers to string length. (adjust_string_types): New function. (gen_subprogram_die): Temporarily set string_types to local var, call adjust_string_types if needed. (non_dwarf_expression, copy_deref_exprloc, optimize_string_length): New functions. (resolve_addr): Adjust DW_AT_string_length if it is DW_OP_call4. * trans-decl.c (gfc_get_symbol_decl): Call gfc_finish_var_decl for decl's character length before gfc_finish_var_decl on the decl itself. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239469 138bc75d-0d04-0410-961f-82ee72b054a4
* Enhance mark_spam.py scriptmarxin2016-08-152-1/+16
| | | | | | | | * mark_spam.py: Add error handling and reset another properties of attachments and bugs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239467 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/install.texi (*-*-solaris2*): Fix version number and documentebotcazou2016-08-152-4/+12
| | | | | | | requirement on GNU make for building libjava with the Solaris linker. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239464 138bc75d-0d04-0410-961f-82ee72b054a4
* 2016-08-15 Thomas Preud'homme <thomas.preudhomme@arm.com>thopre012016-08-152-2/+8
| | | | | | | | PR libstdc++/72840 * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Fix dg-error syntax. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239463 138bc75d-0d04-0410-961f-82ee72b054a4
* PR tree-optimization/72824jakub2016-08-154-3/+34
| | | | | | | | | | * tree-loop-distribution.c (const_with_all_bytes_same) <case VECTOR_CST>: Fix a typo. * gcc.c-torture/execute/ieee/pr72824-2.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239461 138bc75d-0d04-0410-961f-82ee72b054a4
* Daily bump.gccadmin2016-08-151-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239460 138bc75d-0d04-0410-961f-82ee72b054a4
* 2016-08-14 Chung-Lin Tang <cltang@codesourcery.com>cltang2016-08-148-18/+81
| | | | | | | | | | | | | | | | | | | | | | PR fortran/70598 gcc/fortran/ * openmp.c (resolve_omp_clauses): Adjust use_device clause handling to only allow pointers and arrays. gcc/testsuite/ * gfortran.dg/goacc/host_data-tree.f95: Adjust to use pointers in use_device clause. * gfortran.dg/goacc/uninit-use-device-clause.f95: Likewise. * gfortran.dg/goacc/list.f95: Adjust to catch "neither a POINTER nor an array" error messages. libgomp/ * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239457 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/i386/avx512ifmaintrin.h: Fix whitespace.uros2016-08-147-120/+95
| | | | | | | | | | | | | * config/i386/avx512ifmavlintrin.h: Ditto. * config/i386/avx512vbmiintrin.h: Ditto. * config/i386/avx512vbmivlintrin.h: Ditto. * config/i386/avx512vlbwintrin.h: Ditto. * config/i386/avx512vldqintrin.h: Ditto. * config/i386/avx512vlintrin.h: Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239455 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/i386/avx512bwintrin.h: Whitespace fixes.uros2016-08-142-34/+25
| | | | | | | * config/i386/avx512dqintrin.h: Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239454 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/76342uros2016-08-147-121/+142
| | | | | | | | | | | | | | | * config/i386/avx512fintrin.h (_mm512_undefined_epi32): Renamed from _mm512_undefined_si512. (_mm_undefined_si512): New definition. testsuite/ChangeLog: PR target/76342 * gcc.target/i386/pr76342.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239453 138bc75d-0d04-0410-961f-82ee72b054a4
* Daily bump.gccadmin2016-08-141-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239452 138bc75d-0d04-0410-961f-82ee72b054a4
* * inclhack.def (hpux_longjmp): New fix.danglin2016-08-134-7/+85
| | | | | | | | | * fixincl.x: Regenerate. * tests/base/setjmp.h: New test file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239446 138bc75d-0d04-0410-961f-82ee72b054a4
* 2016-08-13 Richard Biener <rguenther@suse.de>rguenth2016-08-132-0/+34
| | | | | | | | * tree-ssa-forwprop.c (pass_forwprop::execute): Propagate into PHIs and update the lattice for its def. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239444 138bc75d-0d04-0410-961f-82ee72b054a4
* libgo: don't unset in shell scriptian2016-08-133-6/+7
| | | | | | | | | | | Reportedly ksh fails to unset a variable that was not previously set. Change match.sh and gotest to not unset LANG, but instead set LANG=C. Also don't combine exporting and setting variable in a single statement. Reviewed-on: https://go-review.googlesource.com/26999 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239443 138bc75d-0d04-0410-961f-82ee72b054a4
* crypto/aes, hash/crc32: ignore s390x specific files for nowian2016-08-134-1/+7
| | | | | | | | | | | | | | These files are used to select s390x assembler support in the gc toolchain. We don't currently have that support, as it is written in the cmd/asm syntax rather than gas syntax. Mark the files to be ignored for now, falling back to the default implementations. Patch by Andreas Krebbel. Reviewed-on: https://go-review.googlesource.com/26994 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239442 138bc75d-0d04-0410-961f-82ee72b054a4
* Daily bump.gccadmin2016-08-131-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239441 138bc75d-0d04-0410-961f-82ee72b054a4
* syscall: remove exec_solaris_test.goian2016-08-132-38/+1
| | | | | | | | | | It is testing functionality that gccgo does not need and does not support. Reviewed-on: https://go-review.googlesource.com/26992 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239438 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c/71512jakub2016-08-126-3/+51
| | | | | | | | | | | | | | * ubsan.c (instrument_si_overflow): Pass true instead of false to gsi_replace. (pass_ubsan::execute): Call gimple_purge_dead_eh_edges at the end of bbs. Return TODO_cleanup_cfg if any returned true. * g++.dg/ubsan/pr71512.C: New test. * c-c++-common/ubsan/pr71512-1.c: New test. * c-c++-common/ubsan/pr71512-2.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239430 138bc75d-0d04-0410-961f-82ee72b054a4
* [gcc]meissner2016-08-126-7/+380
| | | | | | | | | | | | | | | | | | | | | | 2016-08-12 Michael Meissner <meissner@linux.vnet.ibm.com> * config/rs6000/vsx.md (vsx_concat_<mode>): Add support for the ISA 3.0 MTVSRDD instruction. (vsx_splat_<mode>): Change cpu type of MTVSRDD instruction to vecperm. [gcc/testsuite] 2016-08-12 Michael Meissner <meissner@linux.vnet.ibm.com> * gcc.target/powerpc/vec-init-1.c: New tests to test various vector initialization options. * gcc.target/powerpc/vec-init-2.c: Likewise. * gcc.target/powerpc/vec-init-3.c: New test to make sure MTVSRDD is generated on ISA 3.0. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239428 138bc75d-0d04-0410-961f-82ee72b054a4
* 2016-08-12 Bernd Edlinger <bernd.edlinger@hotmail.de>edlinger2016-08-122-19/+52
| | | | | | | | | PR tree-optimization/71083 * tree-predcom.c (ref_at_iteration): Use a COMPONENT_REF for the bitfield access when possible. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239426 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix PR middle-end/71654 (missed shortening of a compare)ppalka2016-08-126-3/+48
| | | | | | | | | | | | | | | | | | | | | gcc/ChangeLog: PR middle-end/71654 * match.pd ((T)A CMP (T)B -> A CMP B): Allow (T)A to be a sign-changing cast from a shorter unsigned type to a wider signed type. gcc/testsuite/ChangeLog: PR middle-end/71654 * gcc.dg/c-c++-common/pr71654.c: New test. * gcc.dg/tree-ssa/vrp23: Add -fno-tree-forwprop to dg-options. * gcc.dg/tree-ssa/vrp24: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239421 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c/67410jakub2016-08-124-1/+31
| | | | | | | | | | | * c-typeck.c (set_nonincremental_init_from_string): Use / instead of % to determine val element to change. Assert that wchar_bytes * charwidth fits into val array. * gcc.dg/pr67410.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239419 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/i386/sse.md (avx512dq_vextract<shuffletype>64x2_1_maskm,jakub2016-08-122-4/+10
| | | | | | | | vec_extract_hi_<mode>_mask, vec_extract_lo_<mode>_mask, vec_extract_hi_<mode>_mask): Use Yk constraint instead of k. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239418 138bc75d-0d04-0410-961f-82ee72b054a4
* 2016-08-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com>wschmidt2016-08-122-5/+14
| | | | | | | | | * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): Correct costs for vec_construct. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239417 138bc75d-0d04-0410-961f-82ee72b054a4
* PR tree-optimization/69848amker2016-08-125-24/+121
| | | | | | | | | | | | | | * tree-vectorizer.h (enum vect_def_type): New condition reduction type CONST_COND_REDUCTION. * tree-vect-loop.c (vectorizable_reduction): Support new condition reudction type CONST_COND_REDUCTION. gcc/testsuite PR tree-optimization/69848 * gcc.dg/vect/vect-pr69848.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239416 138bc75d-0d04-0410-961f-82ee72b054a4
* PR testsuite/71008uros2016-08-125-18/+26
| | | | | | | | | | | * gcc.target/i386/avx512f-vprord-1.c: Scan also for vprold. * gcc.target/i386/avx512f-vprorq-1.c: Scan also for vprolq. * gcc.target/i386/avx512vl-vprord-1.c: Scan also for vprold. * gcc.target/i386/avx512vl-vprorq-1.c: Scan also for vprolq. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239415 138bc75d-0d04-0410-961f-82ee72b054a4
* 2016-08-12 Richard Biener <rguenther@suse.de>rguenth2016-08-1212-19/+64
| | | | | | | | | | | | | | | | | | | | | PR tree-optimization/57326 * tree-ssa-pre.c (fully_constant_expression): Handle simplification returning an SSA name. (phi_translate_1): When fully_constant_expression returns a NAME make sure we have a leader for it. * gcc.dg/tree-ssa/ssa-pre-32.c: New testcase. * gcc.dg/tree-ssa/loadpre14.c: Adjust. * gcc.dg/tree-ssa/pr35287.c: Likewise. * gcc.target/i386/pr45685.c: Likewise. * gcc.dg/tree-ssa/predcom-1.c: Disable PRE. * gcc.dg/tree-ssa/predcom-2.c: Likewise. * gcc.dg/tree-ssa/predcom-3.c: Likewise. * gcc.dg/tree-ssa/ssa-sink-10.c: Likewise. * gfortran.dg/pr34163.f90: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239414 138bc75d-0d04-0410-961f-82ee72b054a4
* Create x.gcov file for binary w/o x.gcda file (PRmarxin2016-08-125-5/+47
| | | | | | | | | | | | * g++.dg/gcov/gcov-16.C: New test. * lib/gcov.exp: Support new argument for run-gcov function. Adam Fineman <afineman@afineman.com> * gcov.c (process_file): Create .gcov file when .gcda file is missing. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239413 138bc75d-0d04-0410-961f-82ee72b054a4
* Add test coverage for PR gcov-profile/35590marxin2016-08-122-15/+76
| | | | | | | | PR gcov-profile/35590 * gcc.dg/tree-prof/val-prof-7.c: Improve test coverage. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239412 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c/7652mpolacek2016-08-1288-88/+387
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc/ * alias.c (find_base_value): Adjust fall through comment. * cfgexpand.c (expand_debug_expr): Likewise. * combine.c (find_split_point): Likewise. (expand_compound_operation): Likewise. Add FALLTHRU. (make_compound_operation): Adjust fall through comment. (canon_reg_for_combine): Add FALLTHRU. (force_to_mode): Adjust fall through comment. (simplify_shift_const_1): Likewise. (simplify_comparison): Likewise. * config/aarch64/aarch64-builtins.c (aarch64_simd_expand_args): Add FALLTHRU. * config/aarch64/predicates.md: Likewise. * config/i386/i386.c (function_arg_advance_32): Likewise. (ix86_gimplify_va_arg): Likewise. (print_reg): Likewise. (ix86_print_operand): Likewise. (ix86_build_const_vector): Likewise. (ix86_expand_branch): Likewise. (ix86_sched_init_global): Adjust fall through comment. (ix86_expand_args_builtin): Add FALLTHRU. (ix86_expand_builtin): Likewise. (ix86_expand_vector_init_one_var): Likewise. * config/rs6000/rs6000.c (rs6000_emit_vector_compare_inner): Likewise. (rs6000_adjust_cost): Likewise. (insn_must_be_first_in_group): Likewise. * config/rs6000/rs6000.md: Likewise. Adjust fall through comment. * dbxout.c (dbxout_symbol): Adjust fall through comment. * df-scan.c (df_uses_record): Likewise. * dojump.c (do_jump): Add FALLTHRU. * dwarf2out.c (mem_loc_descriptor): Likewise. Adjust fall through comment. (resolve_args_picking_1): Adjust fall through comment. (loc_list_from_tree_1): Likewise. * expmed.c (make_tree): Likewise. * expr.c (expand_expr_real_2): Add FALLTHRU. (expand_expr_real_1): Likewise. Adjust fall through comment. * fold-const.c (const_binop): Adjust fall through comment. (fold_truth_not_expr): Likewise. (fold_cond_expr_with_comparison): Add FALLTHRU. (fold_binary_loc): Likewise. (contains_label_1): Adjust fall through comment. (multiple_of_p): Likewise. * gcov-tool.c (process_args): Add FALLTHRU. * genattrtab.c (check_attr_test): Likewise. (write_test_expr): Likewise. * genconfig.c (walk_insn_part): Likewise. * genpreds.c (validate_exp): Adjust fall through comment. (needs_variable): Likewise. * gensupport.c (get_alternatives_number): Add FALLTHRU. (subst_dup): Likewise. * gimple-pretty-print.c (dump_gimple_assign): Likewise. * gimplify.c (gimplify_addr_expr): Adjust fall through comment. (gimplify_scan_omp_clauses): Add FALLTHRU. (goa_stabilize_expr): Likewise. * graphite-isl-ast-to-gimple.c (substitute_ssa_name): Adjust fall through comment. * hsa-gen.c (get_address_from_value): Likewise. * ipa-icf.c (sem_function::hash_stmt): Likewise. * ira.c (ira_setup_alts): Add FALLTHRU. * lra-eliminations.c (lra_eliminate_regs_1): Adjust fall through comment. * lto-streamer-out.c (lto_output_tree_ref): Add FALLTHRU. * opts.c (common_handle_option): Likewise. * read-rtl.c (read_rtx_code): Likewise. * real.c (round_for_format): Likewise. * recog.c (asm_operand_ok): Likewise. * reginfo.c (reg_scan_mark_refs): Adjust fall through comment. * reload1.c (set_label_offsets): Likewise. (eliminate_regs_1): Likewise. (reload_reg_reaches_end_p): Likewise. * rtlanal.c (commutative_operand_precedence): Add FALLTHRU. (rtx_cost): Likewise. * sched-rgn.c (is_exception_free): Likewise. * simplify-rtx.c (simplify_rtx): Adjust fall through comment. * stor-layout.c (int_mode_for_mode): Likewise. * toplev.c (print_to_asm_out_file): Likewise. (print_to_stderr): Likewise. * tree-cfg.c (gimple_verify_flow_info): Likewise. * tree-chrec.c (chrec_fold_plus_1): Add FALLTHRU. (chrec_fold_multiply): Likewise. (evolution_function_is_invariant_rec_p): Likewise. (for_each_scev_op): Likewise. * tree-data-ref.c (siv_subscript_p): Likewise. (get_references_in_stmt): Likewise. * tree.c (find_placeholder_in_expr): Adjust fall through comment. (substitute_in_expr): Likewise. (type_cache_hasher::equal): Likewise. (walk_type_fields): Likewise. * var-tracking.c (adjust_mems): Add FALLTHRU. (set_dv_changed): Adjust fall through comment. * varasm.c (default_function_section): Add FALLTHRU. gcc/c-family/ * c-common.c (scalar_to_vector): Adjust fall through comment. * c-opts.c (c_common_handle_option): Likewise. * c-pragma.c (handle_pragma_pack): Add FALLTHRU. * c-pretty-print.c (c_pretty_printer::postfix_expression): Adjust fall through comment. * cilk.c (extract_free_variables): Add FALLTHRU. gcc/c/ * c-parser.c (c_parser_external_declaration): Add FALLTHRU. (c_parser_postfix_expression): Likewise. * c-typeck.c (build_unary_op): Adjust fall through comment. (c_mark_addressable): Likewise. gcc/cp/ * call.c (add_builtin_candidate): Add FALLTHRU. (build_integral_nontype_arg_conv): Adjust fall through comment. (build_new_op_1): Add FALLTHRU. (convert_like_real): Adjust fall through comment. * class.c (fixed_type_or_null): Likewise. * constexpr.c (cxx_eval_constant_expression): Likewise. (potential_constant_expression_1): Likewise. Add FALLTHRU. * cp-gimplify.c (cp_gimplify_expr): Adjust fall through comment. (cp_fold): Add FALLTHRU. * cvt.c (build_expr_type_conversion): Adjust fall through comment. * cxx-pretty-print.c (pp_cxx_unqualified_id): Add FALLTHRU. (pp_cxx_qualified_id): Likewise. (cxx_pretty_printer::constant): Adjust fall through comment. (cxx_pretty_printer::primary_expression): Add FALLTHRU. (pp_cxx_pm_expression): Adjust fall through comment. (cxx_pretty_printer::expression): Add FALLTHRU. (cxx_pretty_printer::declaration_specifiers): Reformat code. (pp_cxx_type_specifier_seq): Adjust fall through comment. (pp_cxx_ptr_operator): Likewise. Add FALLTHRU. * error.c (dump_type): Adjust fall through comment. (dump_decl): Likewise. * mangle.c (write_type): Likewise. * method.c (synthesized_method_walk): Add FALLTHRU. * name-lookup.c (arg_assoc_type): Likewise. * parser.c (cp_lexer_print_token): Adjust fall through comment. (cp_parser_primary_expression): Add FALLTHRU. (cp_parser_operator): Likewise. * pt.c (find_parameter_packs_r): Likewise. (tsubst_aggr_type): Adjust fall through comment. * semantics.c (finish_omp_clauses): Add FALLTHRU. * tree.c (lvalue_kind): Likewise. gcc/fortran/ * decl.c (match_attr_spec): Add FALLTHRU. * primary.c (match_arg_list_function): Likewise. * resolve.c (resolve_operator): Adjust fall through comment. (fixup_charlen): Add FALLTHRU. (resolve_allocate_expr): Adjust fall through comment. * trans-array.c (gfc_conv_ss_startstride): Add FALLTHRU. * trans-intrinsic.c (gfc_conv_intrinsic_len): Adjust fall through comment. gcc/java/ * expr.c (java_truthvalue_conversion): Adjust fall through comment. * jcf-io.c (verify_constant_pool): Likewise. * typeck.c (promote_type): Likewise. gcc/objc/ * objc-encoding.c (encode_type): Add FALLTHRU. libcpp/ * lex.c (search_line_fast): Add FALLTHRU. (_cpp_lex_direct): Likewise. (cpp_token_val_index): Adjust fall through comment. * macro.c (parse_params): Add FALLTHRU. * pch.c (count_defs): Adjust fall through comment. (write_defs): Likewise. libiberty/ * cp-demangle.c (d_print_mod): Add FALLTHRU. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239410 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c/7652mpolacek2016-08-122-0/+6
| | | | | | | * tree-complex.c (expand_complex_division): Add missing break. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239409 138bc75d-0d04-0410-961f-82ee72b054a4
* PR sanitizer/71042jakub2016-08-123-12/+80
| | | | | | | | * tsan/tsan_platform_linux.cc: Cherry-pick upstream r278292. * tsan/tsan_rtl_aarch64.S: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239407 138bc75d-0d04-0410-961f-82ee72b054a4
* 2016-08-12 Richard Biener <rguenther@suse.de>rguenth2016-08-126-42/+123
| | | | | | | | | | | | | | | | | | | | | | * passes.c (execute_todo): Do not push/pop TV_TODO. (execute_one_ipa_transform_pass): Move timevar push/pop TODO execution. (execute_one_pass): Likewise. * common.opt (ftime-report-details): New switch. * doc/invoke.texi (ftime-report-details): Document. * timevar.h (timer::print_row): Adjust signature. (timer::all_zero): New static helper. (timer::child_map_t): New typedef. (timer::time_var_def): Add children field. * timevar.c (timer::named_items::print): Adjust. (timer::~timer): Free timevar recorded children. (timer::pop_internal): When -ftime-report-details record time spent in sub-timevars. (timer::print_row): Adjust. (timer::print): Print sub-timevar stats, use all_zero. * timevar.def (TV_TODO): Remove. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239406 138bc75d-0d04-0410-961f-82ee72b054a4
* 2016-08-12 Richard Biener <rguenther@suse.de>rguenth2016-08-124-219/+153
| | | | | | | | | | | | | | | | | | | | | | | | | | | PR tree-optimization/72851 * tree-ssa-propagate.c: Include cfganal.h. Rewrite block and stmt worklists to use bitmaps indexed in execution order. (executable_blocks, cfg_blocks_num, cfg_blocks_tail, cfg_blocks_head, bb_in_list, interesting_ssa_edges, varying_ssa_edges): Remove. (cfg_blocks): Make a bitmap. (bb_to_cfg_order, cfg_order_to_bb, ssa_edge_worklist, uid_to_stmt): New globals. (cfg_blocks_empty_p): Adjust. (cfg_blocks_add): Likewise. (cfg_blocks_get): Likewise. (add_ssa_edge): Likewise. (add_control_edge): Likewise. (simulate_stmt): Likewise. (process_ssa_edge_worklist): Likewise. (simulate_block): Likewise. (ssa_prop_init): Compute PRE order and stmt UIDs. (ssa_prop_fini): Adjust. (ssa_propagate): Adjust. * gcc.dg/torture/pr72851.c: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239405 138bc75d-0d04-0410-961f-82ee72b054a4
* 2016-08-12 Richard Biener <rguenther@suse.de>rguenth2016-08-122-27/+43
| | | | | | | | | * tree-vrp.c (vrp_visit_phi_node): Allow a last iteration if the currently executable edges have fixed ranges. Always go through update_value_range. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239404 138bc75d-0d04-0410-961f-82ee72b054a4
* [PR63240] generate debug info for defaulted member functionsaoliva2016-08-1215-12/+176
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This implements <http://dwarfstd.org/ShowIssue.php?issue=141215.3>, a proposal already accepted for inclusion in DWARF-5, but using DW_AT_GNU_defaulted instead of DW_AT_defaulted as the attribute name, because the attribute id for DW_AT_defaulted is not yet publicly available. for include/ChangeLog PR debug/63240 * dwarf2.def (DW_AT_deleted, DW_AT_defaulted): New. * dwarf2.h (enu dwarf_defaulted_attribute): New. for gcc/ChangeLog PR debug/63240 * langhooks-def.h (LANG_HOOKS_FUNCTION_DECL_EXPLICIT_P): Const_tree-ify. (LANG_HOOKS_FUNCTION_DECL_DELETED_P): Likewise. (LANG_HOOKS_FUNCTION_DECL_DEFAULTED): Set default. (LANG_HOOKS_DECLS): Add it. * langhooks.h (struct lang_hooks_for_decls): Add function_decl_defaulted. Const_tree-ify function_decl_explicit_p and function_decl_deleted_p. * dwarf2out.c (gen_subprogram_die): Add DW_AT_defaulted attribute. Add DW_AT_deleted instead of DW_AT_GNU_deleted, also at strict DWARF v5. for gcc/cp/ChangeLog PR debug/63240 * cp-objcp-common.c (cp_function_decl_defaulted): New. (cp_function_decl_explicit_p): Const_tree-ify. (cp_function_decl_deleted_p): Likewise. * cp-objcp-common.h (cp_function_decl_defaulted): Declare. (cp_function_decl_explicit_p): Const_tree-ify. (cp_function_decl_deleted_p): Likewise. (LANG_HOOKS_FUNCTION_DECL_DEFAULTED): Redefine. for gcc/testsuite/ChangeLog PR debug/63240 * g++.dg/debug/dwarf2/defaulted-member-function-1.C: New. * g++.dg/debug/dwarf2/defaulted-member-function-2.C: New. * g++.dg/debug/dwarf2/defaulted-member-function-3.C: New. * g++.dg/debug/dwarf2/deleted-member-function.C: Expect DW_AT_deleted. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239403 138bc75d-0d04-0410-961f-82ee72b054a4
* [PR55641] drop spurious const_type from reference_type variablesaoliva2016-08-124-0/+30
| | | | | | | | | | | | | | | | | | | | | Although C++ reference types, denoted by DW_TAG_reference_type in DWARFv2+ debug info, are unchangeable, we output names of reference type with DW_TAG_const_type, because internally we mark such variables as TREE_READONLY. That's an internal implementation detail that shouldn't leak to debug information. This patch fixes this. for gcc/ChangeLog PR debug/55641 * dwarf2out.c (decl_quals): Don't map TREE_READONLY to TYPE_QUAL_CONST in reference-typed decls. for gcc/testsuite/ChangeLog PR debug/55641 * g++.dg/debug/dwarf2/ref-1.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239402 138bc75d-0d04-0410-961f-82ee72b054a4
* [PR49366] emit loc exprs for C++ non-virtual pmf template value parmsaoliva2016-08-1211-1/+181
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We used to emit, in debug information, the values bound to pointer to member function template parameters only when they were NULL or virtual member functions, because those can be represented with DW_AT_const_value. In order to represent the symbolic pointer to member function constants for non-virtual member functions, we'd need to be able to emit relocations for part of DW_AT_const_value, which we don't. The more viable alternative is to use DW_AT_location to represent such values, as slated for inclusion in DWARFv5, according to <URL:http://www.dwarfstd.org/ShowIssue.php?issue=130412.1>. With this patch, when we can't emit a DW_AT_const_value, we emit each "member" of the pointer to member function "record" as a DW_OP_stack_value DW_OP_piece, as long as the referenced member function is output in the same translation unit, otherwise we'd get relocations to external symbols, something to avoid in debug sections. for gcc/ChangeLog PR debug/49366 * dwarf2out.c (loc_list_from_tree_1): Expand some CONSTRUCTORs in DW_OP_pieces, just enough to handle pointers to member functions. (gen_remaining_tmpl_value_param_die_attribute): Use a location expression on DWARFv5 if a constant value doesn't work. for gcc/testsuite/ChangeLog PR debug/49366 * g++.dg/debug/dwarf2/template-params-12.H: New. * g++.dg/debug/dwarf2/template-params-12f.C: New. * g++.dg/debug/dwarf2/template-params-12g.C: New. * g++.dg/debug/dwarf2/template-params-12n.C: New. * g++.dg/debug/dwarf2/template-params-12s.C: New. * g++.dg/debug/dwarf2/template-params-12u.C: New. * g++.dg/debug/dwarf2/template-params-12v.C: New. * g++.dg/debug/dwarf2/template-params-12w.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239401 138bc75d-0d04-0410-961f-82ee72b054a4
* Daily bump.gccadmin2016-08-121-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239400 138bc75d-0d04-0410-961f-82ee72b054a4
* Add selftests to selftest.cdmalcolm2016-08-114-0/+39
| | | | | | | | | | | | gcc/ChangeLog: * selftest-run-tests.c (selftest::run_tests): Call selftest_c_tests. * selftest.c (selftest::test_assertions): New function. (selftest::selftest_c_tests): New function. * selftest.h (selftest::selftest_c_tests): New declaration. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239397 138bc75d-0d04-0410-961f-82ee72b054a4