- 04 Apr, 2016 4 commits
-
-
PR ipa/68881 * cgraph.h (symtab_node::copy_visibility_from): New function. * symtab.c (symtab_node::copy_visibility_from): New function. * ipa-visibility.c (optimize_weakref): New function. (function_and_variable_visibility): Use it. From-SVN: r234708
Jan Hubicka committed -
Fix PR hsa/70402 PR hsa/70402 * hsa-gen.c (gen_hsa_insns_for_switch_stmt): Guard index value that is really in range handled by SBR instruction. * hsa-brig.c (emit_switch_insn): Do not emit unconditional jump. * hsa-dump.c (dump_hsa_insn_1): Do not dump default BB. * hsa.h (hsa_insn_sbr::m_default_bb): Remove field. From-SVN: r234707
Martin Liska committed -
PR c/70307 * c-fold.c (c_fully_fold_internal): Handle VEC_COND_EXPR. * gcc.dg/torture/pr70307.c: New test. From-SVN: r234706
Marek Polacek committed -
From-SVN: r234705
GCC Administrator committed
-
- 03 Apr, 2016 2 commits
-
-
gcc/ PR target/70416 PR target/67391 * config/sh/sh.md (*addsi3): Allow pattern when reload_in_progress is set, but not for SP_REG operands. gcc/testsuite/ PR target/70416 PR target/67391 * gcc.target/sh/torture/pr70416.c: New. From-SVN: r234702
Oleg Endo committed -
From-SVN: r234701
GCC Administrator committed
-
- 02 Apr, 2016 7 commits
-
-
PR c++/67376 - [5/6 regression] Comparison with pointer to past-the-end of array fails inside constant expression PR c++/70170 - [6 regression] bogus not a constant expression error comparing pointer to array to null PR c++/70172 - incorrect reinterpret_cast from integer to pointer error on invalid constexpr initialization PR c++/70228 - insufficient detail in diagnostics for a constexpr out of bounds array subscript gcc/testsuite/ChangeLog: 2016-04-02 Martin Sebor <msebor@redhat.com> PR c++/67376 PR c++/70170 PR c++/70172 PR c++/70228 * g++.dg/cpp0x/constexpr-array-ptr10.C: New test. * g++.dg/cpp0x/constexpr-array-ptr9.C: New test. * g++.dg/cpp0x/constexpr-nullptr-1.C: New test. * g++.dg/cpp0x/constexpr-array5.C: Adjust text of expected diagnostic. * g++.dg/cpp0x/constexpr-string.C: Same. * g++.dg/cpp0x/constexpr-wstring2.C: Same. * g++.dg/cpp0x/pr65398.C: Same. * g++.dg/ext/constexpr-vla1.C: Same. * g++.dg/ext/constexpr-vla2.C: Same. * g++.dg/ext/constexpr-vla3.C: Same. * g++.dg/ubsan/pr63956.C: Same. gcc/cp/ChangeLog: 2016-04-02 Martin Sebor <msebor@redhat.com> PR c++/67376 PR c++/70170 PR c++/70172 PR c++/70228 * constexpr.c (diag_array_subscript): New function. (cxx_eval_array_reference): Detect out of bounds array indices. gcc/ChangeLog: 2016-04-02 Martin Sebor <msebor@redhat.com> PR c++/67376 * fold-const.c (maybe_nonzero_address): New function. (fold_comparison): Call it. Fold equality and relational expressions involving null pointers. (tree_single_nonzero_warnv_p): Call maybe_nonzero_address. From-SVN: r234698
Martin Sebor committed -
* gcc-interface/decl.c (components_to_record): Restrict the previous change to fields with variable size. From-SVN: r234696
Eric Botcazou committed -
re PR c++/70449 (ICE with -Wall on valid code on x86_64-linux-gnu in pp_string, at pretty-print.c:928) PR c++/70449 PR c++/70344 * pt.c (instantiate_decl): A function isn't fully defined if DECL_INITIAL is error_mark_node. * constexpr.c (cxx_eval_call_expression): Likewise. From-SVN: r234695
Jason Merrill committed -
Reportedly fixes PPC64 deadlock. From a comment by Gabriel Russell. Fixes golang/go#15051. Reviewed-on: https://go-review.googlesource.com/21450 From-SVN: r234694
Ian Lance Taylor committed -
From-SVN: r234693
H.J. Lu committed -
From-SVN: r234692
H.J. Lu committed -
From-SVN: r234691
GCC Administrator committed
-
- 01 Apr, 2016 10 commits
-
-
Fix the predicate "aarch64_simd_reg_or_zero" to correctly validate the "Y" constraint (scalar FP 0.0 immediate). * gcc/config/aarch64/predicates.md (aarch64_simd_reg_or_zero): Add the "const_double" to the list of operand constraints. From-SVN: r234685
Evandro Menezes committed -
PR rtl-optimization/70467 * config/i386/i386.md (*add<dwi>3_doubleword, *sub<dwi>3_doubleword): If low word of the last operand is 0, just emit addition/subtraction for the high word. * gcc.target/i386/pr70467-2.c: New test. From-SVN: r234679
Jakub Jelinek committed -
While the expander accepts general_operand as src operand the risbg pattern only immediate_operand. Unfortunately the expander called force_reg only for VOIDmode constants missing things like e.g. symbol_refs. Fixed with the attached patch. gcc/ChangeLog: 2016-04-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com> PR target/70404 * config/s390/s390.c (s390_expand_insv): Check for everything constant instead of just VOIDmode stuff. From-SVN: r234678
Andreas Krebbel committed -
PR c++/70488 * init.c (warn_placement_new_too_small): Test whether DECL_SIZE_UNIT or TYPE_SIZE_UNIT are integers that fit into uhwi. * g++.dg/init/new47.C: New test. Co-Authored-By: Marek Polacek <polacek@redhat.com> From-SVN: r234676
Jakub Jelinek committed -
Fix PR target/70496 While doing the unified asm rewrite - I inadvertently changed the meaning of ASM_APP_OFF which causes failures when folks who know what they are doing switch between arm and thumb states within a function. The intent of the unified asm rewrite was not to affect any inline assembler code in that it would remain in divided syntax by default and switching back to unified asm in normal compiled code after the inline assembler block. Thanks to Jim Wilson for pointing it out on the linaro list. Fixed thusly and a test is added. Tested arm-none-eabi cross and applied. Ramana 2016-04-01 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> PR target/70496 * config/arm/arm.h (ASM_APP_OFF): Handle TARGET_ARM and TARGET_THUMB. 2016-04-01 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> PR target/70496 * gcc.target/arm/pr70496.c: New test. From-SVN: r234675
Ramana Radhakrishnan committed -
From-SVN: r234671
Nathan Sidwell committed -
From-SVN: r234668
Nathan Sidwell committed -
re PR c++/68475 (ICE: in merge_exception_specifiers, at cp/typeck2.c:2115 with -fno-exceptions on invalid code) PR c++/68475 * decl.c (check_redeclaration_exception_specification): Check regardless of -fno-exceptions. * typeck2.c (merge_exception_specifiers): Relax assert by checking flag_exceptions too. * g++.dg/g++.dg/cpp0x/noexcept29.C: New. From-SVN: r234667
Nathan Sidwell committed -
gcc/testsuite/ PR target/69890 * gcc.dg/strlenopt.h (memmove): New. * gcc.target/i386/chkp-strlen-1.c: Include "../../gcc.dg/strlenopt.h" instead of "string.h". * gcc.target/i386/chkp-strlen-2.c: Likewise. * gcc.target/i386/chkp-strlen-3.c: Likewise. * gcc.target/i386/chkp-strlen-4.c: Likewise. * gcc.target/i386/chkp-strlen-5.c: Likewise. * gcc.target/i386/chkp-stropt-1.c: Likewise. * gcc.target/i386/chkp-stropt-10.c: Likewise. * gcc.target/i386/chkp-stropt-11.c: Likewise. * gcc.target/i386/chkp-stropt-12.c: Likewise. * gcc.target/i386/chkp-stropt-13.c: Likewise. * gcc.target/i386/chkp-stropt-14.c: Likewise. * gcc.target/i386/chkp-stropt-15.c: Likewise. * gcc.target/i386/chkp-stropt-16.c: Likewise. * gcc.target/i386/chkp-stropt-2.c: Likewise. * gcc.target/i386/chkp-stropt-3.c: Likewise. * gcc.target/i386/chkp-stropt-4.c: Likewise. * gcc.target/i386/chkp-stropt-5.c: Likewise. * gcc.target/i386/chkp-stropt-6.c: Likewise. * gcc.target/i386/chkp-stropt-7.c: Likewise. * gcc.target/i386/chkp-stropt-8.c: Likewise. * gcc.target/i386/chkp-stropt-9.c: Likewise. From-SVN: r234666
Ilya Enkovich committed -
From-SVN: r234661
GCC Administrator committed
-
- 31 Mar, 2016 17 commits
-
-
* g++.dg/template/ptrmem30.C (read): Rename to data_read. (Holder::foo): Reflect this. From-SVN: r234652
Rainer Orth committed -
2016-03-31 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/70461 * ira-color.c (allocno_copy_cost_saving): Use allocno class if it is necessary. From-SVN: r234649
Vladimir Makarov committed -
Fix PR hsa/70399 PR hsa/70399 * hsa-brig.c (hsa_op_immed::emit_to_buffer): Emit either a tree value or an immediate integer value to a buffer that is eventually copied to a BRIG section. (emit_immediate_operand): Call the function here. * hsa-dump.c (dump_hsa_immed): Remove checking assert. * hsa-gen.c (hsa_op_immed::hsa_op_immed): Remove initialization of class' fields that are removed. (hsa_op_immed::~hsa_op_immed): Remove deinitialization. * hsa.h (class hsa_op_immed): Remove m_brig_repr and m_brig_repr_size fields. From-SVN: r234647
Martin Liska committed -
From-SVN: r234646
Jeff Law committed -
* cplus-dem.c (squangle_mop_up): Zero bsize/ksize after freeing btypevec/ktypevec. * testsuite/demangle-expected: Add coverage tests. From-SVN: r234645
Mikhail Maltsev committed -
PR hsa/70391 * hsa-gen.c (hsa_function_representation::update_dominance): New function. (convert_addr_to_flat_segment): Likewise. (gen_hsa_memory_set): New alignment argument. (gen_hsa_ctor_assignment): Likewise. (gen_hsa_insns_for_single_assignment): Provide alignment to gen_hsa_ctor_assignment. (gen_hsa_insns_for_direct_call): Add new argument. (expand_lhs_of_string_op): New function. (expand_string_operation_builtin): Likewise. (expand_memory_copy): New function. (expand_memory_set): New function. (gen_hsa_insns_for_call): Use HOST_WIDE_INT. (convert_switch_statements): Change signature. (generate_hsa): Use a return value of the function. (pass_gen_hsail::execute): Do not call convert_switch_statements here. * hsa-regalloc.c (hsa_regalloc): Call update_dominance. * hsa.h (hsa_function_representation::m_modified_cfg): New flag. (hsa_function_representation::update_dominance): New function. From-SVN: r234644
Martin Liska committed -
PR hsa/70391 * hsa-brig.c (emit_directive_variable): Emit alignment according to hsa_symbol::m_align. * hsa-dump.c (hsa_byte_alignment): Move the function to another file. (dump_hsa_symbol): Dump alignment of HSA symbols. * hsa-gen.c (get_symbol_for_decl): Set-up alignment of a symbol. (gen_hsa_addr_with_align): New function. (hsa_bitmemref_alignment): Use newly added function. (gen_hsa_insns_for_load): Likewise. (gen_hsa_insns_for_store): Likewise. (gen_hsa_memory_copy): New argument added. (gen_hsa_insns_for_single_assignment): Respect alignment for assignments processed via gen_hsa_memory_copy. (gen_hsa_insns_for_direct_call): Likewise. (gen_hsa_insns_for_return): Likewise. (gen_function_def_parameters): Set default alignment. * hsa.c (hsa_object_alignment): New function. (hsa_byte_alignment): Pasted function. * hsa.h (hsa_symbol::m_align): New field. From-SVN: r234643
Martin Liska committed -
* decl.c (start_preparsed_function): Remove unnecessary bracing. (finish_destructor_body): Don't emit operator delete here. From-SVN: r234640
Nathan Sidwell committed -
* tree-ssa-loop-ivopts.c (get_computation_cost_at): Initialize scratch field for goto case. From-SVN: r234639
Bin Cheng committed -
gcc/ * config/arm/linux-elf.h (ASM_OUTPUT_DEF): Delete. From-SVN: r234638
James Greenhalgh committed -
gcc/ PR target/70442 * config/i386/i386.c (scalar_chain::convert_op): Fix description. (scalar_chain::convert_insn): Call convert_op for reg moves to handle undefined registers. gcc/testsuite/ PR target/70442 * gcc.dg/pr70442.c: New test. From-SVN: r234637
Ilya Enkovich committed -
PR c++/70393 * varasm.c (output_constructor_regular_field): Flush bitfield earlier. Assert we don't want to move backwards. cp/ * constexpr.c (cxx_eval_store_expression): Keep CONSTRUCTOR elements in field order. testsuite/ * g++.dg/cpp0x/constexpr-virtual6.C: New. From-SVN: r234636
Nathan Sidwell committed -
Fix PR target/70453. gcc/ * config/i386/sse.md (define_mode_attr shuffletype): Fix typo. gcc/testsuite/ * gcc.target/i386/pr70453.c: New test. From-SVN: r234634
Kirill Yukhin committed -
re PR target/70292 (ICE in verify_target_availability, at sel-sched.c:1584 with -fno-inline -fno-dce -fschedule-insns -fselective-scheduling -fno-tree-dce -O1) PR target/70292 * gcc.c-torture/pr70292.c: New test. From-SVN: r234627
Andrey Belevantsev committed -
PR c/70297 * c-decl.c (merge_decls): Also set TYPE_ALIGN and TYPE_USER_ALIGN. * decl.c (duplicate_decls): Also set TYPE_ALIGN and TYPE_USER_ALIGN. * c-c++-common/pr70297.c: New test. * g++.dg/cpp0x/typedef-redecl.C: New test. * gcc.dg/typedef-redecl2.c: New test. From-SVN: r234626
Marek Polacek committed -
PR rtl-optimization/70460 * ira.c (indirect_jump_optimize): Don't substitute LABEL_REF with operand from REG_LABEL_OPERAND, instead substitute SET_SRC or REG_EQUAL note content if it is a LABEL_REF. Don't do anything for REG_NON_LOCAL_GOTO jumps. * gcc.c-torture/execute/pr70460.c: New test. From-SVN: r234614
Jakub Jelinek committed -
* passes.c (execute_one_pass): Do not call todo_after for a discarded function. From-SVN: r234613
Martin Liska committed
-