aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2014-09-22semantics.c (finish_non_static_data_member): In diagnostic, give error at ↵Jason Merrill14-35/+32
point of use and note at point of declaration. * semantics.c (finish_non_static_data_member): In diagnostic, give error at point of use and note at point of declaration. From-SVN: r215479
2014-09-22re PR c++/63320 (bogus ‘this’ was not captured for this lambda function ↵Jason Merrill4-5/+26
error) PR c++/63320 PR c++/60463 PR c++/60755 * lambda.c (maybe_resolve_dummy, lambda_expr_this_capture): Handle not finding 'this'. From-SVN: r215478
2014-09-22re PR c++/62219 ([c++11] Spurious error for lambda in a friend function of a ↵Paolo Carlini4-3/+26
class template with a default template parameters) /cp 2014-09-22 Paolo Carlini <paolo.carlini@oracle.com> PR c++/62219 * pt.c (check_default_tmpl_args): Check LAMBDA_FUNCTION_P. /testsuite 2014-09-22 Paolo Carlini <paolo.carlini@oracle.com> PR c++/62219 * g++.dg/cpp0x/lambda/lambda-template14.C: New. From-SVN: r215477
2014-09-22[Testsuite] Add tests of reductions using whole-vector-shifts (ior)Alan Lawrence3-0/+71
* gcc.dg/vect/vect-reduc-or_1.c: New test. * gcc.dg/vect/vect-reduc-or_2.c: New test. From-SVN: r215475
2014-09-22Makefile.in (check-parallel-%): Add @.Jason Merrill2-4/+8
gcc/ * Makefile.in (check-parallel-%): Add @. libstdc++-v3/ * testsuite/Makefile.am (%/site.exp): Add @. (check-DEJAGNU): Likewise. * testsuite/Makefile.in: Regenerate. From-SVN: r215474
2014-09-22[Testsuite] Add tests of reductions using whole-vector-shifts (multiplication)Alan Lawrence4-0/+92
* lib/target-supports.exp (check_effective_target_whole_vector_shift): New. * gcc.dg/vect/vect-reduc-mul_1.c: New test. * gcc.dg/vect/vect-reduc-mul_2.c: New test. From-SVN: r215473
2014-09-22decl.c (poplevel): Don't warn about unused vars in template scope.Jason Merrill5-0/+33
* decl.c (poplevel): Don't warn about unused vars in template scope. * error.c (dump_decl): Handle variable templates. From-SVN: r215472
2014-09-22[AArch64] Auto-generate the "BUILTIN_" macros for aarch64-builtins.cJames Greenhalgh5-120/+64
gcc/ * config/aarch64/geniterators.sh: New. * config/aarch64/iterators.md (VDQF_DF): New. * config/aarch64/t-aarch64: Generate aarch64-builtin-iterators.h. * config/aarch64/aarch64-builtins.c (BUILTIN_*) Remove. From-SVN: r215471
2014-09-22msp430.h (LIB_SPEC): Remove automatic addition of -lnosys when -msim absent.Peter A. Bigot2-1/+5
* config/msp430/msp430.h (LIB_SPEC): Remove automatic addition of -lnosys when -msim absent. From-SVN: r215469
2014-09-22Workaround following [PATCH] Pul all constants last in tree_swap_operands_pAlan Lawrence2-2/+6
https://gcc.gnu.org/ml/gcc-patches/2014-09/msg01509.html gcc/: * fold-const.c (tree_swap_operands_p): Strip only sign-preserving NOPs. From-SVN: r215465
2014-09-22gimplify.c (gimplify_init_constructor): Do not leave non-GIMPLE vector ↵Richard Biener3-6/+19
constructors around. 2014-09-22 Richard Biener <rguenther@suse.de> * gimplify.c (gimplify_init_constructor): Do not leave non-GIMPLE vector constructors around. * tree-cfg.c (verify_gimple_assign_single): Verify that CONSTRUCTORs have gimple elements. From-SVN: r215461
2014-09-22re PR debug/63328 (c-c++-common/gomp/pr60823-3.c test fails with ↵Jakub Jelinek4-3/+33
-fcompare-debug) PR debug/63328 * omp-low.c (ipa_simd_modify_stmt_ops): For debug stmts insert a debug source bind stmt setting DEBUG_EXPR_DECL instead of a normal gimple assignment stmt. * c-c++-common/gomp/pr63328.c: New test. From-SVN: r215454
2014-09-22[Patch bfin] Fixup use of constraints in define_splitJames Greenhalgh2-3/+7
gcc/ * config/bfin/bfin.md: Fix use of constraints in define_split. From-SVN: r215453
2014-09-22resolve.c (resolve_fl_procedure): Remove duplicated lines.Dominique d'Humieres2-24/+4
2014-09-21 Dominique d'Humieres <dominiq@lps.ens.fr> * resolve.c (resolve_fl_procedure): Remove duplicated lines. From-SVN: r215452
2014-09-22PR lto/63270 - new testMartin Liska3-0/+131
* g++.dg/lto/pr63270_0.C: New test. * g++.dg/lto/pr63270_1.C: New test. From-SVN: r215451
2014-09-22i386.c (ix86_cannot_change_mode_class): Remove GET_MODE_SIZE (to) < ↵Richard Sandiford2-7/+5
GET_MODE_SIZE (from) test. gcc/ * config/i386/i386.c (ix86_cannot_change_mode_class): Remove GET_MODE_SIZE (to) < GET_MODE_SIZE (from) test. From-SVN: r215450
2014-09-22hard-reg-set.h: Include hash-table.h.Richard Sandiford6-60/+198
gcc/ * hard-reg-set.h: Include hash-table.h. (target_hard_regs): Add a finalize method and a x_simplifiable_subregs field. * target-globals.c (target_globals::~target_globals): Call hard_regs->finalize. * rtl.h (subreg_shape): New structure. (shape_of_subreg): New function. (simplifiable_subregs): Declare. * reginfo.c (simplifiable_subreg): New structure. (simplifiable_subregs_hasher): Likewise. (simplifiable_subregs): New function. (invalid_mode_changes): Delete. (alid_mode_changes, valid_mode_changes_obstack): New variables. (record_subregs_of_mode): Remove subregs_of_mode parameter. Record valid mode changes in valid_mode_changes. (find_subregs_of_mode): Remove subregs_of_mode parameter. Update calls to record_subregs_of_mode. (init_subregs_of_mode): Remove invalid_mode_changes and bitmap handling. Initialize new variables. Update call to find_subregs_of_mode. (invalid_mode_change_p): Check new variables instead of invalid_mode_changes. (finish_subregs_of_mode): Finalize new variables instead of invalid_mode_changes. (target_hard_regs::finalize): New function. * ira-costs.c (print_allocno_costs): Call invalid_mode_change_p even when CLASS_CANNOT_CHANGE_MODE is undefined. From-SVN: r215449
2014-09-22combine.c (subst): Use simplify_subreg_regno rather than ↵Richard Sandiford2-5/+8
REG_CANNOT_CHANGE_MODE_P to detect... gcc/ * combine.c (subst): Use simplify_subreg_regno rather than REG_CANNOT_CHANGE_MODE_P to detect invalid mode changes. From-SVN: r215448
2014-09-22rtl.h (subreg_info): Expand commentaryRichard Sandiford3-3/+24
gcc/ * rtl.h (subreg_info): Expand commentary * rtlanal.c (subreg_get_info): Likewise. From-SVN: r215447
2014-09-22gcc/Richard Sandiford2-24/+54
* hard-reg-set.h (COPY_HARD_REG_SET, COMPL_HARD_REG_SET) (AND_HARD_REG_SET, AND_COMPL_HARD_REG_SET, IOR_HARD_REG_SET) (IOR_COMPL_HARD_REG_SET): Allow the "from" set to be constant. From-SVN: r215446
2014-09-22decl.c (gnat_to_gnu_entity): Adjust comment.Eric Botcazou3-15/+19
* gcc-interface/decl.c (gnat_to_gnu_entity): Adjust comment. * gcc-interface/utils.c (gnat_write_global_declarations): Fix typo. From-SVN: r215445
2014-09-22arm.c: #include "tm-constrs.h"Zhenqiang Chen2-10/+16
2014-09-22 Zhenqiang Chen <zhenqiang.chen@arm.com> * config/arm/arm.c: #include "tm-constrs.h" (thumb1_size_rtx_costs): Adjust rtx costs. From-SVN: r215444
2014-09-22Daily bump.GCC Administrator1-1/+1
From-SVN: r215442
2014-09-21configure.ac (target_header_dir): Move block defining this to before the ↵Hans-Peter Nilsson3-36/+74
block setting inhibit_libc. * configure.ac (target_header_dir): Move block defining this to before the block setting inhibit_libc. (inhibit_libc): When considering $with_headers, just check it it's explicitly "no". If not, also check if $target_header_dir/stdio.h is present. If not, set inhibit_libc=true. * configure: Regenerate. From-SVN: r215439
2014-09-21* config/rs6000/t-spe (MULTILIB_EXCEPTIONS): Allow isel without SPE.Patrick Oppenlander2-2/+5
From-SVN: r215438
2014-09-21rs6000.md (div<mode>3): Fix comment.Segher Boessenkool2-76/+79
2014-09-21 Segher Boessenkool <segher@kernel.crashing.org> * config/rs6000/rs6000.md (div<mode>3): Fix comment. Use a different insn for divides by integer powers of two. (div<mode>3_sra, *div<mode>3_sra_dot, *div<mode>3_sra_dot2): New. (mod<mode>3): Fix formatting. (three anonymous define_insn and two define_split): Delete. From-SVN: r215437
2014-09-212014-09-21 Segher Boessenkool <segher@kernel.crashing.org>Segher Boessenkool2-18/+33
* config/rs6000/rs6000.md (ashr<mode>3, *ashr<mode>3, *ashrsi3_64, *ashr<mode>3_dot, *ashr<mode>3_dot2): Clobber CA_REGNO. (floatdisf2_internal2): Ditto. (ashrdi3_no_power): Ditto. Fix formatting. From-SVN: r215436
2014-09-21rs6000.md (ctz<mode>2, [...]): Tidy.Segher Boessenkool2-35/+41
2014-09-21 Segher Boessenkool <segher@kernel.crashing.org> * config/rs6000/rs6000.md (ctz<mode>2, ffs<mode>2, popcount<mode>2, popcntb<mode>2, popcntd<mode>2, parity<mode>2, parity<mode>2_cmpb): Tidy. From-SVN: r215435
2014-09-21rs6000.md (strlensi): Don't use subsi3 with a constant, use addsi3 directly.Segher Boessenkool2-75/+108
2014-09-21 Segher Boessenkool <segher@kernel.crashing.org> * config/rs6000/rs6000.md (strlensi): Don't use subsi3 with a constant, use addsi3 directly. (three anonymous define_insn, two define_split): Delete. (sub<mode>3): Move. Do not allow constant second operand. Generate different insn for constant first operand. (*subf<mode>3, *subf<mode>3_dot, *subf<mode>3_dot2): New. (subf<mode>3_imm): New. (ctz<mode>2, ffs<mode>2): Clobber CA_REGNO where required. (*plus_ltu<mode>): Only handle registers. (*plus_ltu<mode>_1): New. Handle integer third operand. (*plus_gtu<mode>): Only handle registers. (*plus_gtu<mode>_1): New. Handle integer third operand. From-SVN: r215434
2014-09-21rs6000.md (iorxor): New code_iterator.Segher Boessenkool2-117/+54
2014-09-21 Segher Boessenkool <segher@kernel.crashing.org> * config/rs6000/rs6000.md (iorxor): New code_iterator. (iorxor): New code_attr. (IORXOR): New code_attr. (*and<mode>3, *and<mode>3_dot, *and<mode>3_dot2): Delete. (ior<mode>3, xor<mode>3): Delete. (<iorxor><mode>3): New. (splitter for "big" integer ior, xor): New. (*bool<mode>3): Move. Also handle AND. (*bool<mode>3_dot, *bool<mode>3_dot2): Also handle AND. (splitter for "big" integer ior, xor): Delete. From-SVN: r215433
2014-09-21rs6000.md (*neg<mode>2_internal): Delete.Segher Boessenkool2-38/+33
2014-09-21 Segher Boessenkool <segher@kernel.crashing.org> * config/rs6000/rs6000.md (*neg<mode>2_internal): Delete. (two anonymous define_insn and two define_split): Delete. (*neg<mode>2, *neg<mode>2_dot, *neg<mode>2_dot2): New. From-SVN: r215432
2014-09-21rs6000.md (*one_cmpl<mode>2): Generate "not" insn.Segher Boessenkool2-40/+34
2014-09-21 Segher Boessenkool <segher@kernel.crashing.org> * config/rs6000/rs6000.md (*one_cmpl<mode>2): Generate "not" insn. (two anonymous define_insn and two define_split): Delete. (*one_cmpl<mode>2_dot, *one_cmpl<mode>2_dot2): New. From-SVN: r215431
2014-09-21rs6000.c (rs6000_rtx_costs): New.Segher Boessenkool2-0/+5
2014-09-21 Segher Boessenkool <segher@kernel.crashing.org> * config/rs6000/rs6000.c (rs6000_rtx_costs) <NE>: New. From-SVN: r215430
2014-09-21predicates.md (ca_operand): Allow subregs.Segher Boessenkool3-4/+24
2014-09-21 Segher Boessenkool <segher@kernel.crashing.org> * config/rs6000/predicates.md (ca_operand): Allow subregs. (input_operand): Do not allow ca_operand. * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): For the carry bit, allow SImode and Pmode. (rs6000_init_hard_regno_mode_ok): Make the carry bit class NO_REGS. From-SVN: r215429
2014-09-21i386.c (ix86_expand_call): Generate MS->SYSV extra clobbered registers using ↵Uros Bizjak8-62/+22
clobber_reg. * config/i386/i386.c (ix86_expand_call): Generate MS->SYSV extra clobbered registers using clobber_reg. Remove UNSPEC decoration. * config/i386/i386.md (unspec) <UNSPEC_MS_TO_SYSV_CALL>: Remove. (*call_rex64_ms_sysv): Remove. (*call_value_rex64_ms_sysv): Ditto. * config/i386/predicates.md (call_rex64_ms_sysv_operation): Remove. testsuite/ChangeLog: * gcc.target/i386/avx-vzeroupper-16.c (dg-final): Remove check for call_value_rex64_ms_sysv. * gcc.target/i386/avx-vzeroupper-17.c (dg-final): Ditto. * gcc.target/i386/avx-vzeroupper-18.c (dg-final): Remove check for call_rex64_ms_sysv. From-SVN: r215428
2014-09-20re PR c++/62017 (AddressSanitizer reports *-buffer-overflow in destructor ↵Jason Merrill2-3/+11
when multiple virtual inheritance is used) PR c++/62017 * decl.c (begin_destructor_body): Only clobber the as-base part of *this. From-SVN: r215427
2014-09-21Daily bump.GCC Administrator1-1/+1
From-SVN: r215426
2014-09-20epiphany.md (sub_f_add_imm): Change constraint of operand 3 to "CnL".Joern Rennecke2-1/+6
* config/epiphany/epiphany.md (sub_f_add_imm): Change constraint of operand 3 to "CnL". From-SVN: r215422
2014-09-20trans-intrinsic.c (conv_intrinsic_atomic_op): Fix issue with generating ↵Alessandro Fanfarillo4-1/+38
temporary for value argument. 2014-09-20 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com> Tobias Burnus <burnus@net-b.de> gcc/fortran * trans-intrinsic.c (conv_intrinsic_atomic_op): Fix issue with generating temporary for value argument. gcc/testsuite/ * gfortran.dg/coarray_atomic_5.f90: New Co-Authored-By: Tobias Burnus <burnus@net-b.de> From-SVN: r215421
2014-09-20trans-expr.c (gfc_reset_vptr): Fix comment whitespace.Joost VandeVondele28-75/+134
2014-09-20 Joost VandeVondele <vondele@gcc.gnu.org> * trans-expr.c (gfc_reset_vptr): Fix comment whitespace. (gfc_conv_class_to_class): Likewise. (gfc_conv_procedure_call): Likewise. (arrayfunc_assign_needs_temporary): Likewise. (realloc_lhs_loop_for_fcn_call): Likewise. (gfc_trans_assignment_1): Likewise. * trans-array.c (gfc_conv_array_ref): Likewise. (gfc_array_allocate): Likewise. (gfc_alloc_allocatable_for_assignment): Likewise. * symbol.c (generate_isocbinding_symbol): Likewise. * class.c (finalization_scalarizer): Likewise. (finalizer_insert_packed_call): Likewise. (generate_finalization_wrapper): Likewise. (find_intrinsic_vtab): Likewise. * decl.c (gfc_match_import): Likewise. (match_procedure_decl): Likewise. (gfc_match_subroutine): Likewise. (gfc_match_bind_c): Likewise. (gfc_match_volatile): Likewise. * trans-common.c (create_common): Likewise. * error.c (gfc_diagnostic_starter): Likewise. * trans-stmt.c (gfc_trans_sync): Likewise. (gfc_trans_critical): Likewise. (gfc_trans_simple_do): Likewise. (gfc_trans_do): Likewise. (gfc_trans_where_assign): Likewise. * expr.c (gfc_is_simply_contiguous): Likewise. * module.c (unquote_string): Likewise. * trans.c (gfc_add_finalizer_call): Likewise. * trans-types.c (gfc_init_kinds): Likewise. * scanner.c (preprocessor_line): Likewise. * gfortranspec.c (lang_specific_driver): Likewise. * frontend-passes.c (create_var): Likewise. (cfe_expr_0): Likewise. * resolve.c (check_host_association): Likewise. (gfc_resolve_code): Likewise. (resolve_fl_derived0): Likewise. (resolve_symbol): Likewise. * f95-lang.c (poplevel): Likewise. * trans-decl.c (create_main_function): Likewise. * trans-io.c (transfer_expr): Likewise. * arith.c (gfc_arith_divide): Likewise. * parse.c (resolve_all_program_units): Likewise. * check.c (gfc_check_rank): Likewise. (gfc_check_sizeof): Likewise. (is_c_interoperable): Likewise. * dependency.c (gfc_dep_difference): Likewise. * primary.c (gfc_match_rvalue): Likewise. * trans-intrinsic.c (conv_intrinsic_system_clock): Likewise. (conv_isocbinding_subroutine): Likewise. * options.c (gfc_post_options): Likewise. (gfc_handle_fpe_option): Likewise. (gfc_get_option_string): Likewise. * simplify.c (simplify_transformation_to_scalar): Likewise. (gfc_simplify_spread): Likewise. From-SVN: r215420
2014-09-20ia64.md: Remove constraints from define_split patterns.Andreas Schwab2-6/+11
* config/ia64/ia64.md: Remove constraints from define_split patterns. From-SVN: r215419
2014-09-20ipa-utils.h (ipa_polymorphic_call_context): Turn into class; add ctors.Jan Hubicka8-190/+222
* ipa-utils.h (ipa_polymorphic_call_context): Turn into class; add ctors. (possible_polymorphic_call_targets, dump_possible_polymorphic_call_targets, possible_polymorphic_call_target_p, possible_polymorphic_call_target_p): Simplify. (get_dynamic_type): Remove. * ipa-devirt.c (ipa_dummy_polymorphic_call_context): Remove. (clear_speculation): Bring to ipa-deivrt.h (get_class_context): Rename to ... (ipa_polymorphic_call_context::restrict_to_inner_class): ... this one. (contains_type_p): Update. (get_dynamic_type): Rename to ... ipa_polymorphic_call_context::get_dynamic_type(): ... this one. (possible_polymorphic_call_targets): UPdate. * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Update. * ipa-prop.c (ipa_analyze_call_uses): Update. From-SVN: r215418
2014-09-20ipa-visibility.c (varpool_node::externally_visible_p): Do not privatize ↵Jan Hubicka2-0/+12
dynamic TLS variables. * ipa-visibility.c (varpool_node::externally_visible_p): Do not privatize dynamic TLS variables. From-SVN: r215417
2014-09-20diagnostic.c (warning_n): New function.Jan Hubicka4-19/+95
* diagnostic.c (warning_n): New function. * diagnostic-core.h (warning_n): Declare. * ipa-devirt.c (ipa_devirt): Handle singulars correctly; output dynamic counts when available. From-SVN: r215416
2014-09-20re PR tree-optimization/63255 (FAIL: gcc.dg/lto/ipareference2 ↵Jan Hubicka2-5/+11
c_lto_ipareference2_0.o-c_lto_ipareference2_1.o execute -O1 -flto -flto-partition=1to1 -fwhole-program) PR tree-optimization/63255 * ipa.c (symbol_table::remove_unreachable_nodes): Fix ordering issue in setting body_removed flag. From-SVN: r215415
2014-09-19re PR c++/61392 (internal compiler error: in write_template_arg_literal, at ↵Jason Merrill4-4/+24
cp/mangle.c:3072) PR c++/61392 * mangle.c (write_expression): Use unresolved-name mangling for DR850 case. From-SVN: r215414
2014-09-19re PR c++/61465 (Bogus parameter set but not used warning in constructor ↵Jason Merrill3-1/+15
initialization list) PR c++/61465 * call.c (convert_like_real) [ck_identity]: Call mark_rvalue_use after pulling out an element from a CONSTRUCTOR. From-SVN: r215413
2014-09-20Daily bump.GCC Administrator1-1/+1
From-SVN: r215412
2014-09-19re PR c++/61825 (g++.dg/cpp0x/static_assert9.C FAILs)Jan Hubicka8-19/+80
PR c++/61825 * c-family/c-common.c (handle_alias_ifunc_attribute): Check that visibility change is possible (handle_weakref_attribute): Likewise. * cgraph.h (symtab_node): Add method get_create and field refuse_visibility_changes. (symtab_node::get_create): New method. * fold-const.c (tree_single_nonzero_warnv_p): Use get_create. * varasm.c (mark_weak): Verify that visibility change is possible. * gcc.dg/tree-ssa/nonzero-1.c: Require error to be output. From-SVN: r215409
2014-09-19predicates.md (fusion_gpr_mem_load): Move testing for base_reg_operand to be ↵Michael Meissner5-109/+150
common between LO_SUM and PLUS. 2014-09-19 Michael Meissner <meissner@linux.vnet.ibm.com> * config/rs6000/predicates.md (fusion_gpr_mem_load): Move testing for base_reg_operand to be common between LO_SUM and PLUS. (fusion_gpr_mem_combo): New predicate to match a fused address that combines the addis and memory offset address. * config/rs6000/rs6000-protos.h (fusion_gpr_load_p): Change calling signature. (emit_fusion_gpr_load): Likewise. * config/rs6000/rs6000.c (fusion_gpr_load_p): Change calling signature to pass each argument separately, rather than using an operands array. Rewrite the insns found by peephole2 to be a single insn, rather than hoping the insns will still be together when the peephole pass is done. Drop being called via a normal peephole. (emit_fusion_gpr_load): Change calling signature to be called from the fusion_gpr_load_<mode> insns with a combined memory address instead of the peephole pass passing the addis and offset separately. * config/rs6000/rs6000.md (UNSPEC_FUSION_GPR): New unspec for GPR fusion. (power8 fusion peephole): Drop support for doing power8 via a normal peephole that was created by the peephole2 pass. (power8 fusion peephole2): Create a new insn with the fused address, so that the fused operation is kept together after register allocation is done. (fusion_gpr_load_<mode>): Likewise. From-SVN: r215404