- 09 Dec, 2016 4 commits
-
-
* tree-pretty-print.c (pretty_print_string): Escape non-printable chars in strings. * gcc.dg/tree-ssa/dump-3.c: New test. From-SVN: r243477
Martin Liska committed -
PR tree-optimization/78726 * tree-ssa-reassoc.c (make_new_ssa_for_def): Add OPCODE and OP argument. For lhs uses in debug stmts, don't replace lhs with new_lhs, but with a debug temp set to new_lhs opcode op. (make_new_ssa_for_all_defs): Add OPCODE argument, pass OPCODE and OP down to make_new_ssa_for_def. (zero_one_operation): Call make_new_ssa_for_all_defs even when stmts_to_fix is empty, if *def has not changed yet. Pass OPCODE to make_new_ssa_for_all_defs. * gcc.c-torture/execute/pr78726.c: New test. * gcc.dg/guality/pr78726.c: New test. From-SVN: r243476
Jakub Jelinek committed -
From-SVN: r243474
Uros Bizjak committed -
From-SVN: r243473
GCC Administrator committed
-
- 08 Dec, 2016 33 commits
-
-
PR c/77531 - __attribute__((alloc_size(1,2))) could also warn on multiplication overflow PR c/78284 - warn on malloc with very large arguments gcc/c-family/ChangeLog: PR c/78284 * c.opt (-Walloc-zero, -Walloc-size-larger-than): New options. gcc/ChangeLog: PR c/78284 * builtin-attrs.def (ATTR_ALLOC_SIZE, ATTR_RETURNS_NONNULL): New identifier tree nodes. (ATTR_ALLOCA_SIZE_1_NOTHROW_LEAF_LIST): New attribute list. (ATTR_MALLOC_SIZE_1_NOTHROW_LIST): Same. (ATTR_MALLOC_SIZE_1_NOTHROW_LEAF_LIST): Same. (ATTR_MALLOC_SIZE_1_2_NOTHROW_LEAF_LIST): Same. (ATTR_ALLOC_SIZE_2_NOTHROW_LEAF_LIST): Same. * builtins.c (expand_builtin_alloca): Call maybe_warn_alloc_args_overflow. * builtins.def (aligned_alloc, calloc, malloc, realloc): Add attribute alloc_size. (alloca): Add attribute alloc_size and returns_nonnull. * calls.h (maybe_warn_alloc_args_overflow): Declare. * calls.c (alloc_max_size, operand_signed_p): New functions. (maybe_warn_alloc_args_overflow): Define. (initialize_argument_information): Diagnose overflow in functions declared with attaribute alloc_size. * doc/invoke.texi (Warning Options): Document -Walloc-zero and -Walloc-size-larger-than. gcc/testsuite/ChangeLog: PR c/78284 * gcc.dg/attr-alloc_size-3.c: New test. * gcc.dg/attr-alloc_size-4.c: New test. * gcc.dg/attr-alloc_size-5.c: New test. * gcc.dg/attr-alloc_size-6.c: New test. * gcc.dg/attr-alloc_size-7.c: New test. * gcc.dg/attr-alloc_size-8.c: New test. * gcc.dg/attr-alloc_size-9.c: New test. * gcc/testsuite/gcc.dg/errno-1.c: Adjust. From-SVN: r243470
Martin Sebor committed -
* testsuite/25_algorithms/headers/algorithm/ parallel_algorithm_assert2.cc: Move dg-do run first. From-SVN: r243468
David Edelsohn committed -
From-SVN: r243465
Uros Bizjak committed -
2016-12-07 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/65173 PR fortran/69064 PR fortran/69859 PR fortran/78350 * gfortran.h (gfc_namespace): Remove old_cl_list member. * parse.c (use_modules, next_statement): old_cl_list is gone. (clear_default_charlen): Remove no longer used function. (reject_statement): Do not try ot clean up gfc_charlen structure(s) that may have been added to a cl_list list. * symbol.c (gfc_new_charlen): old_cl_list structure is gone. 2016-12-07 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/65173 PR fortran/69064 PR fortran/69859 PR fortran/78350 * gfortran.dg/misplaced_implicit_character.f90: Adjust errors. * gfortran.dg/charlen_01.f90: New test. * gfortran.dg/charlen_02.f90: Ditto. * gfortran.dg/charlen_03.f90: Ditto. * gfortran.dg/charlen_04.f90: Ditto. * gfortran.dg/charlen_05.f90: Ditto. * gfortran.dg/charlen_06.f90: Ditto. * gfortran.dg/charlen_07.f90: Ditto. * gfortran.dg/charlen_08.f90: Ditto. * gfortran.dg/charlen_09.f90: Ditto. * gfortran.dg/charlen_10.f90: Ditto. * gfortran.dg/charlen_11.f90: Ditto. * gfortran.dg/charlen_12.f90: Ditto. * gfortran.dg/charlen_13.f90: Ditto. * gfortran.dg/charlen_14.f90: Ditto. * gfortran.dg/charlen_15.f90: Ditto. * gfortran.dg/charlen_16.f90: Ditto. From-SVN: r243463
Steven G. Kargl committed -
re PR rtl-optimization/78671 (ICE: in extract_constrain_insn, at recog.c:2213 with -Og -march=skylake-avx512) 2016-12-08 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/78671 * lra-assign.c (lra-assigns.c): Check prohibited regs for an allocno class. 2016-12-08 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/78671 * gcc.target/i386/pr78671.c: New. From-SVN: r243462
Vladimir Makarov committed -
gcc/c-family/ChangeLog: PR c/78165 * c-pretty-print (pp_c_integer_constant): Avoid formatting type suffix. gcc/testsuite/ChangeLog: From-SVN: r243461
Martin Sebor committed -
Avoids warnings during the build. Reviewed-on: https://go-review.googlesource.com/34142 From-SVN: r243459
Ian Lance Taylor committed -
This patch fixes an issue in aarch64_classify_address. TImode and TFmode can either use a 64-bit LDP/STP or 128-bit LDR/STR. The addressing mode must be carefully modelled as the intersection of both. This is done for the immediate offsets, however load_store_pair_p must be set as well to avoid LDP with a PC-relative address if aarch64_pcrelative_literal_loads is true. gcc/ PR target/78733 * config/aarch64/aarch64.c (aarch64_classify_address): Set load_store_pair_p for TImode and TFmode. testsuite/ * gcc.target/aarch64/pr78733.c: New test. From-SVN: r243456
Wilco Dijkstra committed -
* gcc.target/i386/i386.h (HARD_REGNO_NREGS): Use GENERAL_REGNO_P. (HARD_REGNO_NREGS_HAS_PADDING): Ditto. Simplify macro. From-SVN: r243455
Uros Bizjak committed -
From-SVN: r243453
Joseph Myers committed -
PR c++/78551 * constexpr.c (extract_string_elt): New. Broken out of ... (cxx_eval_array_reference): ... here. Call it. (cxx_eval_store_expression): Convert init by STRING_CST into CONSTRUCTOR, if needed. PR c++/78551 * g++.dg/cpp1y/pr78551.C: New. From-SVN: r243448
Nathan Sidwell committed -
gcc/ChangeLog: * emit-rtl.c (gen_reg_rtx): Move regno_pointer_align and regno_reg_rtx resizing logic to... (emit_status::ensure_regno_capacity): ...this new method, and ensure that the buffers are large enough. (init_emit): Allocate regno_reg_rtx using ggc_cleared_vec_alloc rather than ggc_vec_alloc. * function.h (emit_status::ensure_regno_capacity): New method. From-SVN: r243447
David Malcolm committed -
Rewrite the AES hashing code from gc assembler to C code using intrinsics. The resulting code generates the same hash code for the same input as the gc code--that doesn't matter as such, but testing it ensures that the C code does something useful. Also change mips64pe32le to mips64p32le in configure script--noticed during CL review. Reviewed-on: https://go-review.googlesource.com/34022 From-SVN: r243445
Ian Lance Taylor committed -
The gc library allocates a _panic struct on the stack. This does not work for gccgo, because when a deferred function recovers the panic we unwind the stack up to that point so that returning from the function will work correctly. Allocating on the stack fine if the panic is not recovered, and it works fine if the panic is recovered by a function that returns. However, it fails if the panic is recovered by a function that itself panics, and if that second panic is then recovered by a function higher up on the stack. When we unwind the stack to that second panic, the g will wind up pointing at a panic farther down on the stack. Even then everything will often work fine, except when the deferred function catching the second panic makes a bunch of calls that use stack space before returning. In that case the code can overwrite the panic struct, which will then cause disaster when we remove the struct from the linked list, as the link field will be garbage. This case is rare enough that all the x86 tests were passing, but there was a failure on ppc64le. Before https://golang.org/cl/33414 we allocated the panic struct on the heap, so go back to doing that again. Fixes golang/go#18228. Reviewed-on: https://go-review.googlesource.com/34027 From-SVN: r243444
Ian Lance Taylor committed -
PR libstdc++/78264 * include/bits/c++config (_GLIBCXX_NOEXCEPT_PARM): Turn _N into _NE. (_GLIBCXX_NOEXCEPT_QUAL): Likewise. From-SVN: r243443
Eric Botcazou committed -
Because of the way we handle call expressions with multiple results, it's possible for expressions to be flattened more than once. In the case of Slice_construction_expression, allocating the slice storage multiple times caused a compiler crash as one of the Temporary_statement's wound up not getting a backend expression. Test case is https://golang.org/cl/34020. Reviewed-on: https://go-review.googlesource.com/34026 From-SVN: r243442
Ian Lance Taylor committed -
2016-12-08 Dmitry Vyukov <dvyukov@google.com> * opts.c (finish_options): Enable -fsanitize-address-use-after-scope only if -fsanitize=address is enabled (not -fsanitize=kernel-address). * doc/invoke.texi (-fsanitize=kernel-address): Don't say that it enables -fsanitize-address-use-after-scope. From-SVN: r243441
Dmitry Vyukov committed -
From-SVN: r243439
Joseph Myers committed -
* testsuite/experimental/filesystem/path/construct/range.cc: Don't use basic_string::front() when string might be empty. From-SVN: r243438
Jonathan Wakely committed -
* include/debug/array (swap): Add deleted overload. * include/bits/stl_pair.h (swap): Remove redundant inline keyword from deleted overload. * include/bits/unique_ptr.h (swap): Likewise. * include/std/array (swap): Likewise. * include/std/optional (swap): Likewise. * include/std/tuple (swap): Likewise. * include/std/variant (swap): Likewise. * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adjust dg-error line numbers. * testsuite/23_containers/array/tuple_interface/get_neg.cc: Likewise. * testsuite/23_containers/array/tuple_interface/ tuple_element_debug_neg.cc: Likewise. * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc: Likewise. From-SVN: r243437
Jonathan Wakely committed -
PR libstdc++/71856 * doc/xml/manual/using.xml: Document macro. * include/bits/c++config [_GLIBCXX_DEBUG || _GLIBCXX_PARALLEL] (__glibcxx_assert): Rename to __glibcxx_assert_impl. [_GLIBCXX_DEBUG] (__glibcxx_assert): Expand to __glibcxx_assert_impl. * include/parallel/base.h [_GLIBCXX_PARALLEL_ASSERTIONS] (_GLIBCXX_PARALLEL_ASSERT): Expand to __glibcxx_assert_impl. [!_GLIBCXX_PARALLEL_ASSERTIONS] (_GLIBCXX_PARALLEL_ASSERT): Define as empty. * testsuite/25_algorithms/headers/algorithm/ parallel_algorithm_assert2.cc: New test. From-SVN: r243434
Jonathan Wakely committed -
2016-12-08 Pierre-Marie de Rodat <derodat@adacore.com> PR debug/78112 * g++.dg/pr78112.C: Remove platform-dependent checks. * g++.dg/pr78112-2.C: New testcase. From-SVN: r243433
Pierre-Marie de Rodat committed -
... as there checks failed on many platforms. As a replacement, this commit also adds a new testcase from source reduction. The hope is that this new testcase will get a consistent output across all platforms. gcc/testsuite/ PR debug/78112 * g++.dg/pr78112.C: Remove platform-dependent checks. * g++.dg/pr78112-2.C: New testcase. From-SVN: r243432
Pierre-Marie de Rodat committed -
PR middle-end/78684 * tree-vect-loop-manip.c (create_intersect_range_checks_index): Check sign bit for index step of data reference. gcc/testsuite PR middle-end/78684 * g++.dg/torture/pr78684.C: New test. From-SVN: r243431
Bin Cheng committed -
2016-12-08 Christophe Lyon <christophe.lyon@linaro.org> * gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h (CHECK_CRYPTO): Remove. (expected_poly64x1_t, expected_poly64x2_t): Remove From-SVN: r243430
Christophe Lyon committed -
P0003R5 - removal of dynamic exception specification from C++17 * parser.c (cp_parser_exception_specification_opt): For C++17 error out on throw ( type-id-list ), for C++11 and C++14 issue -Wdeprecated warning on it. Formatting fix. Treat throw() in C++17 as noexcept(true). * g++.dg/compat/eh/ctor1.h: Adjust for deprecation of throw (type-id-list) in C++11 and C++14 and removal in C++17. * g++.dg/compat/eh/ctor1_y.C: Likewise. * g++.dg/compat/eh/new1_x.C: Likewise. * g++.dg/compat/eh/new1_y.C: Likewise. * g++.dg/compat/eh/spec3_x.C: Likewise. * g++.dg/compat/eh/spec3_y.C: Likewise. * g++.dg/compat/eh/template1.h: Likewise. * g++.dg/compat/eh/template1_y.C: Likewise. * g++.dg/compat/eh/unexpected1_x.C: Likewise. * g++.dg/compat/eh/unexpected1_y.C: Likewise. * g++.dg/cpp0x/auto9.C: Likewise. * g++.dg/cpp0x/defaulted23.C: Likewise. * g++.dg/cpp0x/error5.C: Likewise. * g++.dg/cpp0x/lambda/lambda-eh2.C: Likewise. * g++.dg/cpp0x/noexcept02.C: Likewise. * g++.dg/cpp0x/noexcept07.C: Likewise. * g++.dg/cpp0x/noexcept08.C: Likewise. * g++.dg/cpp0x/noexcept19.C: Likewise. * g++.dg/cpp0x/variadic73.C: Likewise. * g++.dg/cpp0x/variadic-throw.C: Likewise. * g++.dg/cpp1z/noexcept-type1.C: Likewise. * g++.dg/eh/async-unwind2.C: Likewise. * g++.dg/eh/cond4.C: Likewise. * g++.dg/eh/delete1.C: Likewise. * g++.dg/eh/ehopt1.C: Likewise. * g++.dg/eh/forced3.C: Likewise. * g++.dg/eh/forced4.C: Likewise. * g++.dg/eh/init-temp2.C: Likewise. * g++.dg/eh/pr38662.C: Likewise. * g++.dg/eh/pr41819.C: Likewise. * g++.dg/eh/shadow1.C: Likewise. * g++.dg/eh/spec2.C: Likewise. * g++.dg/eh/spec3.C: Likewise. * g++.dg/eh/spec5.C: Likewise. * g++.dg/eh/spec6.C: Likewise. * g++.dg/eh/spec7.C: Likewise. * g++.dg/eh/spec8.C: Likewise. * g++.dg/eh/spec9.C: Likewise. * g++.dg/eh/template1.C: Likewise. * g++.dg/eh/unexpected1.C: Likewise. * g++.dg/ext/has_nothrow_assign.C: Likewise. * g++.dg/ext/has_nothrow_constructor.C: Likewise. * g++.dg/ext/has_nothrow_copy-1.C: Likewise. * g++.dg/ext/has_nothrow_copy-2.C: Likewise. * g++.dg/ext/has_nothrow_copy-4.C: Likewise. * g++.dg/ext/has_nothrow_copy-5.C: Likewise. * g++.dg/ext/has_nothrow_copy-6.C: Likewise. * g++.dg/ext/has_nothrow_copy-7.C: Likewise. * g++.dg/gcov/gcov-7.C: Likewise. * g++.dg/init/new13.C: Likewise. * g++.dg/init/new25.C: Likewise. * g++.dg/lookup/exception1.C: Likewise. * g++.dg/opt/noreturn-1.C: Likewise. * g++.dg/other/error3.C: Likewise. * g++.dg/rtti/crash3.C: Likewise. * g++.dg/template/eh2.C: Likewise. * g++.dg/template/error36.C: Likewise. * g++.dg/tm/pr46567.C: Likewise. * g++.dg/tm/pr47340.C: Likewise. * g++.dg/torture/pr46364.C: Likewise. * g++.dg/torture/pr49394.C: Likewise. * g++.dg/torture/pr52918-1.C: Likewise. * g++.dg/torture/pr57190.C: Likewise. * g++.dg/torture/stackalign/eh-alloca-1.C: Likewise. * g++.dg/torture/stackalign/eh-fastcall-1.C: Likewise. * g++.dg/torture/stackalign/eh-global-1.C: Likewise. * g++.dg/torture/stackalign/eh-inline-1.C: Likewise. * g++.dg/torture/stackalign/eh-inline-2.C: Likewise. * g++.dg/torture/stackalign/eh-thiscall-1.C: Likewise. * g++.dg/torture/stackalign/eh-vararg-1.C: Likewise. * g++.dg/torture/stackalign/eh-vararg-2.C: Likewise. * g++.dg/tree-ssa/pr45605.C: Likewise. * g++.dg/warn/Wreturn-type-3.C: Likewise. * g++.old-deja/g++.eh/badalloc1.C: Likewise. * g++.old-deja/g++.eh/cleanup2.C: Likewise. * g++.old-deja/g++.eh/spec1.C: Likewise. * g++.old-deja/g++.eh/spec2.C: Likewise. * g++.old-deja/g++.eh/spec3.C: Likewise. * g++.old-deja/g++.eh/spec4.C: Likewise. * g++.old-deja/g++.eh/spec6.C: Likewise. * g++.old-deja/g++.eh/throw1.C: Likewise. * g++.old-deja/g++.eh/throw2.C: Likewise. * g++.old-deja/g++.eh/tmpl1.C: Likewise. * g++.old-deja/g++.eh/tmpl3.C: Likewise. * g++.old-deja/g++.mike/eh15.C: Likewise. * g++.old-deja/g++.mike/eh25.C: Likewise. * g++.old-deja/g++.mike/eh33.C: Likewise. * g++.old-deja/g++.mike/eh34.C: Likewise. * g++.old-deja/g++.mike/eh50.C: Likewise. * g++.old-deja/g++.mike/eh51.C: Likewise. * g++.old-deja/g++.mike/eh55.C: Likewise. * g++.old-deja/g++.mike/p10416.C: Likewise. * g++.old-deja/g++.other/crash28.C: Likewise. * g++.old-deja/g++.other/crash30.C: Likewise. * g++.old-deja/g++.other/new7.C: Likewise. * g++.old-deja/g++.pt/ehspec1.C: Likewise. * g++.old-deja/g++.robertl/eb123.C: Likewise. * testsuite/util/testsuite_new_operators.h: Include testsuite_hooks.h. (operator new): Use THROW macro. From-SVN: r243429
Jakub Jelinek committed -
2016-12-08 Naveen H.S <Naveen.Hurugalawadi@cavium.com> gcc * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Handle SYMBOL_SMALL_TLSGD for ILP32. * config/aarch64/aarch64.md : tlsgd_small modified into tlsgd_small_<mode> to support SImode and DImode. *tlsgd_small modified into *tlsgd_small_<mode> to support SImode and DImode. gcc/testsuite * gcc.target/aarch64/pr78382.c : New Testcase. From-SVN: r243428
Naveen H.S committed -
2016-12-08 Andrew Pinski <apinski@cavium.com> gcc * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Access the lower part of RTX appropriately. gcc/testsuite * gcc.target/aarch64/pr71112.c : New Testcase. From-SVN: r243427
Andrew Pinski committed -
This moves read_rtx and friends into rtx_reader, and splits rtx_reader into two classes: class md_reader: has responsibility for reading chars, managing include files, top-level directives etc. It is the read-md.o part. class rtx_reader, a subclass, has the code for reading hierarchical rtx expressions using the format codes. It is the read-rtl.o part. This split is needed by a followup patch, which converts read_rtx_operand to a virtual function of rtx_reader. To do this, instances of rtx_reader (or its subclasses) need a vtable, which needs to include a ptr to the code in read-rtl.o. Splitting it up allows the gen* tools that currently purely use read-md.o to continue to do so. gcc/ChangeLog: * genpreds.c (write_tm_constrs_h): Update for renaming of rtx_reader_ptr to md_reader_ptr. (write_tm_preds_h): Likewise. (write_insn_preds_c): Likewise. * read-md.c (rtx_reader_ptr): Rename to... (md_reader_ptr): ...this, and convert from an rtx_reader * to a md_reader *. (rtx_reader::set_md_ptr_loc): Rename to... (md_reader::set_md_ptr_loc): ...this. (rtx_reader::get_md_ptr_loc): Rename to... (md_reader::get_md_ptr_loc): ...this. (rtx_reader::copy_md_ptr_loc): Rename to... (md_reader::copy_md_ptr_loc): ...this. (rtx_reader::fprint_md_ptr_loc): Rename to... (md_reader::fprint_md_ptr_loc): ...this. (rtx_reader::print_md_ptr_loc): Rename to... (md_reader::print_md_ptr_loc): ...this. (rtx_reader::join_c_conditions): Rename to... (md_reader::join_c_conditions): ...this. (rtx_reader::fprint_c_condition): ...this. (rtx_reader::print_c_condition): Rename to... (md_reader::print_c_condition): ...this. (fatal_with_file_and_line): Update for renaming of rtx_reader_ptr to md_reader_ptr. (rtx_reader::require_char): Rename to... (md_reader::require_char): ...this. (rtx_reader::require_char_ws): Rename to... (md_reader::require_char_ws): ...this. (rtx_reader::require_word_ws): Rename to... (md_reader::require_word_ws): ...this. (rtx_reader::read_char): Rename to... (md_reader::read_char): ...this. (rtx_reader::unread_char): Rename to... (md_reader::unread_char): ...this. (rtx_reader::peek_char): Rename to... (md_reader::peek_char): ...this. (rtx_reader::read_name): Rename to... (md_reader::read_name): ...this. (rtx_reader::read_escape): Rename to... (md_reader::read_escape): ...this. (rtx_reader::read_quoted_string): Rename to... (md_reader::read_quoted_string): ...this. (rtx_reader::read_braced_string): Rename to... (md_reader::read_braced_string): ...this. (rtx_reader::read_string): Rename to... (md_reader::read_string): ...this. (rtx_reader::read_skip_construct): Rename to... (md_reader::read_skip_construct): ...this. (rtx_reader::handle_constants): Rename to... (md_reader::handle_constants): ...this. (rtx_reader::traverse_md_constants): Rename to... (md_reader::traverse_md_constants): ...this. (rtx_reader::handle_enum): Rename to... (md_reader::handle_enum): ...this. (rtx_reader::lookup_enum_type): Rename to... (md_reader::lookup_enum_type): ...this. (rtx_reader::traverse_enum_types): Rename to... (md_reader::traverse_enum_types): ...this. (rtx_reader::rtx_reader): Rename to... (md_reader::md_reader): ...this, and update for renaming of rtx_reader_ptr to md_reader_ptr. (rtx_reader::~rtx_reader): Rename to... (md_reader::~md_reader): ...this, and update for renaming of rtx_reader_ptr to md_reader_ptr. (rtx_reader::handle_include): Rename to... (md_reader::handle_include): ...this. (rtx_reader::handle_file): Rename to... (md_reader::handle_file): ...this. (rtx_reader::handle_toplevel_file): Rename to... (md_reader::handle_toplevel_file): ...this. (rtx_reader::get_current_location): Rename to... (md_reader::get_current_location): ...this. (rtx_reader::add_include_path): Rename to... (md_reader::add_include_path): ...this. (rtx_reader::read_md_files): Rename to... (md_reader::read_md_files): ...this. * read-md.h (class rtx_reader): Split into... (class md_reader): ...new class. (rtx_reader_ptr): Rename to... (md_reader_ptr): ...this, and convert to a md_reader *. (class noop_reader): Update base class to be md_reader. (class rtx_reader): Reintroduce as a subclass of md_reader. (rtx_reader_ptr): Reintroduce as a rtx_reader *. (read_char): Update for renaming of rtx_reader_ptr to md_reader_ptr. (unread_char): Likewise. * read-rtl.c (rtx_reader_ptr): New global. (rtx_reader::apply_iterator_to_string): Rename to... (md_reader::apply_iterator_to_string): ...this. (rtx_reader::copy_rtx_for_iterators): Rename to... (md_reader::copy_rtx_for_iterators): ...this. (rtx_reader::read_conditions): Rename to... (md_reader::read_conditions): ...this. (rtx_reader::record_potential_iterator_use): Rename to... (md_reader::record_potential_iterator_use): ...this. (rtx_reader::read_mapping): Rename to... (md_reader::read_mapping): ...this. (rtx_reader::read_rtx): Use rtx_reader_ptr when calling read_rtx_code. (rtx_reader::read_rtx_operand): Use get_string_obstack rather than directly accessing m_string_obstack. (rtx_reader::rtx_reader): New ctor. (rtx_reader::~rtx_reader): New dtor. From-SVN: r243426
David Malcolm committed -
Small patch from Eric Botcazou. Reviewed-on: https://go-review.googlesource.com/34029 From-SVN: r243424
Ian Lance Taylor committed -
From-SVN: r243423
GCC Administrator committed -
I managed to get the last obvious fix wrong: mode is M1, GET_MODE (op) is M2. [ adding missing PR marker ] PR rtl-optimization/78638 * simplify-rtx.c (simplify_truncation): M2 is not mode, it is GET_MODE (op). Fix this. From-SVN: r243420
Segher Boessenkool committed -
PR c/53562 - Add -Werror= support for -D_FORTIFY_SOURCE / __builtin___memcpy_chk PR middle-end/77784 - duplicate warning for snprintf when n > object size PR middle-end/78149 - missing warning on strncpy buffer overflow due to an excessive bound PR middle-end/78138 - missing warnings on buffer overflow with non-constant source length gcc/c-family/ChangeLog: PR c/53562 PR middle-end/77784 PR middle-end/78149 PR middle-end/78138 * c.opt (-Wstringop-overflow): New option. gcc/ChangeLog: PR middle-end/77784 PR middle-end/78149 PR middle-end/78138 * builtins.c (expand_builtin_strcat, expand_builtin_strncat): New functions. (compute_dest_size, get_size_range, check_sizes, check_strncat_sizes) (check_memop_sizes): Same. (expand_builtin_memcpy): Call check memop_sizes. (expand_builtin_mempcpy): Same. (expand_builtin_memset): Same, (expand_builtin_bzero): Same. (expand_builtin_memory_chk): Call check_sizes. (expand_builtin_strcpy): Same. (expand_builtin_strncpy): Same. (maybe_emit_sprintf_chk_warning): Same. (expand_builtin): Handle strcat and strncat. (fini_object_sizes): Reset pointers. (compute_object_size): New function. * gimple-ssa-sprintf.c (pass_sprintf_length::handle_gimple_call): Avoid issuing warnings also issued during built-in expansion. * doc/invoke.texi (Warning Options): Document -Wstringop-overflow. gcc/testsuite/ChangeLog: PR middle-end/77784 PR middle-end/78149 PR middle-end/78138 * c-c++-common/Wsizeof-pointer-memaccess2.c: Adjust expected diagnostic. * g++.dg/ext/builtin-object-size3.C (bar): Same. * g++.dg/ext/strncpy-chk1.C: Same. * g++.dg/opt/memcpy1.C: Same. * g++.dg/torture/Wsizeof-pointer-memaccess1.C: Same. * gcc.c-torture/compile/pr55569.c: Disable -Wstringop-overflow. * gcc.dg/Wobjsize-1.c: Adjust expected diagnostic. * gcc.dg/attr-alloc_size.c: Same. * gcc.dg/builtin-stringop-chk-1.c: Adjust expected diagnostic. * gcc.dg/builtin-stringop-chk-2.c: Same. * gcc.dg/builtin-stringop-chk-4.c: New test. * gcc.dg/builtin-strncat-chk-1.c: Adjust expected diagnostic. * gcc.dg/memcpy-2.c: Same. * gcc.dg/pr40340-1.c: Same. * gcc.dg/pr40340-2.c (main): Same. * gcc.dg/pr40340-5.c (main): Same. * gcc.dg/torture/Wsizeof-pointer-memaccess1.c: Same. * gcc.dg/torture/pr71132.c: Disable -Wstringop-overflow. * gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: Adjust text of expected warning. * gfortran.dg/char_length_3.f90: Prune expected warnings. * gfortran.dg/pr38868.f: Add expected warnings. From-SVN: r243419
Martin Sebor committed
-
- 07 Dec, 2016 3 commits
-
-
[gcc] 2016-12-07 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/72717 * config/rs6000/rs6000.c (rs6000_expand_vector_init): If the V2DImode elements are SUBREG's convert the result into DImode rather than failing in emit_move_insn. [gcc/testsuite] 2016-12-07 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/72717 * gcc.target/powerpc/pr72717.c: New test. From-SVN: r243418
Michael Meissner committed -
* elf.m4: Revert 2016-06-21 change. * picflag.m4: Likewise. Revert 2016-04-30 change too. * override.m4 (AC_PROG_LEX): Import 2016-01-18 binutils fix for PR binutils/19481. From-SVN: r243417
Alan Modra committed -
* include/bits/stl_tree.h (_Rb_tree<>::_M_copy(_Const_Link_type, _Base_ptr)): Delete. (_Rb_tree<>::_M_copy(const _Rb_tree&, _NodeGen&)): New. (_Rb_tree<>::_M_copy(const _Rb_tree&)): New, use latter. (_Rb_tree<>(const _Rb_tree&): Use latter. (_Rb_tree<>(const _Rb_tree&, const allocator_type&)): Likewise. (_Rb_tree<>::_M_move_data(_Rb_tree&, false_type)): Likewise. (_Rb_tree<>::_M_move_assign(_Rb_tree&, false_type)): Likewise. (_Rb_tree<>::operator=(const _Rb_tree&)): Likewise. From-SVN: r243380
François Dumont committed
-