aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-05-14re PR c++/57243 (Using auto in range based for with templated container in ↵Jason Merrill3-1/+34
templated function requires extraneous template qualifier) PR c++/57243 * parser.c (cp_parser_range_for): Call complete_type. From-SVN: r198901
2013-05-14tree.c (warn_deprecated_use): Print file:line using locus color.Jakub Jelinek3-15/+21
* tree.c (warn_deprecated_use): Print file:line using locus color. * diagnostic.c (diagnostic_report_current_module): Print file:line and file:line:column using locus color. From-SVN: r198900
2013-05-14* gdbinit.in: Add __null.Mike Stump2-0/+5
From-SVN: r198899
2013-05-14recog.h: Rename struct recog_data to Recog_data.Mike Stump5-7/+14
* recog.h: Rename struct recog_data to Recog_data. * recog.c: Likewise. * reload.c (can_reload_into): Likewise. * config/picochip/picochip.c: Likewise. From-SVN: r198898
2013-05-14* web.c (union_match_dups): Also check DF_REF_REAL_LOC.Mike Stump2-4/+16
From-SVN: r198896
2013-05-14resource.h (struct resources): Remove unch_memory member.Steven Bosscher5-14/+12
* resource.h (struct resources): Remove unch_memory member. (CLEAR_RESOURCE): Don't clear unch_memory. * resource.c (mark_referenced_resources): Don't set it. (mark_set_resources): Likewise. (mark_target_live_regs): Don't clear it. (init_resource_info): Likewise. * reorg.c (resource_conflicts_p): Don't compare it. (redundant_insn): Don't set it. From-SVN: r198895
2013-05-14rtl.h (next_label, [...]): Remove prototypes.Steven Bosscher4-51/+47
* rtl.h (next_label, skip_consecutive_labels, link_cc0_insns): Remove prototypes. * emit-rtl.c (next_label): Remove unused function. (skip_consecutive_labels, link_cc0_insns): Move to ... * reorg.c (skip_consecutive_labels, link_cc0_insns): ... here, the only place where these functions are used, and make them static. From-SVN: r198894
2013-05-14fold-const.c (fold_negate_expr): Handle vectors.Marc Glisse6-53/+112
2013-05-14 Marc Glisse <marc.glisse@inria.fr> gcc/ * fold-const.c (fold_negate_expr): Handle vectors. (fold_truth_not_expr): Make it static. (fold_invert_truthvalue): New static function. (invert_truthvalue_loc): Handle vectors. Do not call fold_truth_not_expr directly. (fold_unary_loc) <BIT_NOT_EXPR>: Handle comparisons. <TRUTH_NOT_EXPR>: Do not cast to boolean. (fold_comparison): Handle vector constants. (fold_binary_loc) <TRUTH_XOR_EXPR>: Remove redundant code. (fold_ternary_loc) <VEC_COND_EXPR>: Adapt more COND_EXPR optimizations. * tree.h (fold_truth_not_expr): Remove declaration. gcc/testsuite/ * g++.dg/ext/vector22.C: New testcase. * gcc.dg/binop-xor3.c: Remove xfail. From-SVN: r198893
2013-05-14stl_iterator.h (__normal_iterator<>::_M_const_cast): Use std::pointer_traits.Paolo Carlini2-4/+17
2013-05-14 Paolo Carlini <paolo.carlini@oracle.com> * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast): Use std::pointer_traits. From-SVN: r198891
2013-05-14[AArch64] Fix vcond where comparison and result have different types.James Greenhalgh11-36/+122
gcc/ * config/aarch64/aarch64-simd.md (aarch64_vcond_internal<mode>): Rename to... (aarch64_vcond_internal<mode><mode>): ...This, for integer modes. (aarch64_vcond_internal<VDQF_COND:mode><VDQF:mode>): ...This for float modes. Clarify all iterator modes. (vcond<mode><mode>): Use new name for vcond expanders. (vcond<v_cmp_result><mode>): Likewise. (vcondu<mode><mode>: Likewise. * config/aarch64/iterators.md (VDQF_COND): New. gcc/testsuite/ * gcc.target/aarch64/vect-fcm.x: Add cases testing FLOAT cmp FLOAT ? INT : INT. * gcc.target/aarch64/vect-fcm-eq-d.c: Define IMODE. * gcc.target/aarch64/vect-fcm-eq-f.c: Likewise. * gcc.target/aarch64/vect-fcm-ge-d.c: Likewise. * gcc.target/aarch64/vect-fcm-ge-f.c: Likewise. * gcc.target/aarch64/vect-fcm-gt-d.c: Likewise. * gcc.target/aarch64/vect-fcm-gt-f.c: Likewise. From-SVN: r198890
2013-05-14re PR c++/57041 (ICE in lookup_field_1, at cp/search.c:376 (with ↵Jason Merrill3-2/+9
dot-prefixed structure initialisation)) PR c++/57041 * pt.c (tsubst_copy_and_build): Don't recur into a designator. From-SVN: r198887
2013-05-14re PR c++/53903 ([C++11] Incompatible exception-specification allowed if ↵Paolo Carlini4-18/+89
member explicitly-defaulted after first declaration) /cp 2013-05-14 Paolo Carlini <paolo.carlini@oracle.com> PR c++/53903 * method.c (defaulted_late_check): Check for compatible exception specification out of class explicitly defaulted functions too. /testsuite 2013-05-14 Paolo Carlini <paolo.carlini@oracle.com> PR c++/53903 * g++.dg/cpp0x/defaulted43.C: New. From-SVN: r198886
2013-05-14Use __builtin_alloca in gcc.dg/fstack-protector-strong.cRainer Orth2-4/+7
* gcc.dg/fstack-protector-strong.c: Don't include <stdlib.h>. (alloca): Remove declaration. (foo9): Replace alloca by __builtin_alloca. From-SVN: r198883
2013-05-14re PR c++/56998 (ICE in value_dependent_expression_p, at cp/pt.c:19598)Jason Merrill3-2/+13
PR c++/56998 * semantics.c (potential_constant_expression_1): Make sure the called function is potentially constant. * call.c (null_ptr_cst_p): Revert earlier change. From-SVN: r198881
2013-05-14re PR bootstrap/57266 (comparison between signed and unsigned integer ↵Marc Glisse2-4/+11
expressions in fold_binary_loc breaks m68k bootstrap) 2013-05-14 Marc Glisse <marc.glisse@inria.fr> PR bootstrap/57266 * fold-const.c (fold_binary_loc) <shift>: Use an unsigned variable for the shift amount. Check that we shift by non-negative amounts. From-SVN: r198880
2013-05-14re PR target/42017 (gcc compiling C for ARM has stopped using r14 in leaf ↵Chung-Lin Tang2-1/+7
functions?) 2013-05-14 Chung-Lin Tang <cltang@codesourcery.com> PR target/42017 * config/arm/arm.h (EPILOGUE_USES): Only return true for LR_REGNUM after epilogue_completed. From-SVN: r198879
2013-05-14avr.c (avr_encode_section_info): Bail out if the type is error_mark_node.Joern Rennecke4-2/+15
gcc: * config/avr/avr.c (avr_encode_section_info): Bail out if the type is error_mark_node. gcc/testsuite: * testsuite/gcc.c-torture/compile/limits-externdecl.c [target avr-*-*]: Expect "size of array is too large" error. From-SVN: r198876
2013-05-14Fix gcc.dg/fstack-protector-strong.c on Solaris/x86Rainer Orth2-0/+6
* gcc.dg/fstack-protector-strong.c (alloca): Declare. From-SVN: r198872
2013-05-14Fix Solaris --as-needed/-z ignore detection (PR target/57261)Rainer Orth3-0/+41
PR target/57261 * configure.ac (gcc_cv_ld_as_needed): Disable before Solaris 11 and Solaris 11+/x86 with gld. * configure: Regenerate. From-SVN: r198867
2013-05-14expmed.c (expand_shift_1): Canonicalize rotates by constant bitsize / 2 to ↵Jakub Jelinek4-37/+61
bitsize - 1. * expmed.c (expand_shift_1): Canonicalize rotates by constant bitsize / 2 to bitsize - 1. * simplify-rt.x (simplify_binary_operation_1) <case ROTATE, case ROTATERT>: Likewise. Revert: 2013-05-10 Jakub Jelinek <jakub@redhat.com> * config/i386/i386.md (rotateinv): New code attr. (*<rotate_insn><mode>3_1, *<rotate_insn>si3_1_zext, *<rotate_insn>qi3_1_slp): Emit rorl %eax instead of roll $31, %eax, etc. From-SVN: r198864
2013-05-14re PR middle-end/57235 (ICE verify_ssa failied)Richard Biener4-1/+182
2013-05-14 Richard Biener <rguenther@suse.de> PR middle-end/57235 * tree-eh.c (sink_clobbers): Give up for successors with multiple predecessors and no virtual uses. * g++.dg/torture/pr57235.C: New testcase. From-SVN: r198863
2013-05-14sp64-elf.h (CPP_SUBTARGET_SPEC): Delete.Eric Botcazou3-7/+5
* config/sparc/sp64-elf.h (CPP_SUBTARGET_SPEC): Delete. * config/sparc/openbsd64.h (CPP_SUBTARGET_SPEC): Likewise. From-SVN: r198862
2013-05-14re PR tree-optimization/57251 (ICE in optab_handler, at optabs.h:258)Jakub Jelinek4-1/+51
PR middle-end/57251 * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: Handle the case when both op0 and op1 have VOIDmode. * gcc.dg/torture/pr57251.c: New test. From-SVN: r198860
2013-05-14rl78.md (mulsi3_g13): Add additional 'nop' required in multiply-accumulate mode.Kaushik Phatak2-0/+6
* config/rl78/rl78.md(mulsi3_g13): Add additional 'nop' required in multiply-accumulate mode. --This llne, and those below, will be ignored-- M ChangeLog M config/rl78/rl78.md From-SVN: r198859
2013-05-14Daily bump.GCC Administrator1-1/+1
From-SVN: r198858
2013-05-13dwarf2asm.c (dw2_output_indirect_constant_1): Mark new decl STATIC.Guozhi Wei2-2/+5
* dwarf2asm.c (dw2_output_indirect_constant_1): Mark new decl STATIC. From-SVN: r198855
2013-05-13Makefile.am (sources): Add bad_array_length.cc, bad_array_new.cc.Benjamin Kosnik5-26/+47
2013-05-13 Benjamin Kosnik <bkoz@redhat.com> * libsupc++/Makefile.am (sources): Add bad_array_length.cc, bad_array_new.cc. * libsupc++/Makefile.in: Regenerate. * libsupc++/bad_array_length.cc: Tweak. * libsupc++/bad_array_new.cc: Tweak. From-SVN: r198853
2013-05-13re PR target/56975 (dllimport broken on i686-pc-cygwin)Kai Tietz4-17/+44
2013-05-13 Kai Tietz <ktietz@redhat.com> PR target/56975 * config/i386/cygming.h (TARGET_PECOFF): Define as true. * config/i386/i386.h (TARGET_PECOFF): Define by default as false. (PIC_OFFSET_TABLE_REGNUM): Use TARGET_PECOFF. * config/i386/i386.c (ix86_option_override_internal): Likewise. (ix86_expand_prologue): Likewise. (ix86_expand_split_stack_prologue): Likewise. (legitimate_pic_address_disp_p): Likewise. (legitimize_pic_address): Likewise. (legitimize_tls_address): Likewise. (legitimize_pe_coff_symbol): Likewise. (output_pic_addr_const): Likewise. (construct_plt_address): Likewise. (ix86_expand_call): Likewise. (x86_output_mi_thunk): Likewise. (x86_function_profiler): Likewise. From-SVN: r198852
2013-05-13re PR c++/56998 (ICE in value_dependent_expression_p, at cp/pt.c:19598)Jason Merrill3-1/+21
PR c++/56998 * call.c (null_ptr_cst_p): An expression with side-effects can't be a C++03 null pointer constant. From-SVN: r198845
2013-05-13re PR c++/57041 (ICE in lookup_field_1, at cp/search.c:376 (with ↵Jason Merrill3-0/+24
dot-prefixed structure initialisation)) PR c++/57041 * decl.c (reshape_init_class): Handle error_mark_node. From-SVN: r198844
2013-05-13re PR c++/57254 (Overload resolution failure when ref-qualified member ↵Jason Merrill3-0/+28
function templates are defined out-of-line) PR c++/57254 * typeck.c (merge_types): Propagate ref-qualifier in METHOD_TYPE case. From-SVN: r198843
2013-05-13re PR c++/57253 (GCC ignores ref-qualifiers of pseudo-function types in ↵Jason Merrill3-1/+15
explicit specializations) PR c++/57253 * decl.c (grokdeclarator): Apply ref-qualifier in the TYPENAME case. From-SVN: r198842
2013-05-13re PR c++/57252 (GCC does not treat ref-qualified overload set as ambiguous)Jason Merrill3-0/+19
PR c++/57252 * decl.c (decls_match): Compare ref-qualifiers. From-SVN: r198841
2013-05-13compare_tests: Limit lines to 2000 characters as comm on Mac OS X 10.8.3 ↵Mike Stump2-5/+10
doesn't like long... * compare_tests: Limit lines to 2000 characters as comm on Mac OS X 10.8.3 doesn't like long lines (those 2055 characters or more). From-SVN: r198840
2013-05-13re PR target/57264 (cld not emitted when string instructions used, and ↵Uros Bizjak2-6/+26
'-mcld' on command line) PR target/57264 * gcc.target/i386/pr57264.c: New test. From-SVN: r198839
2013-05-13* gcc.dg/vector-shift-2.c: Add -O to dg-options.Jakub Jelinek2-1/+5
From-SVN: r198836
2013-05-13forwprop-26.c: Add -fno-short-enums to dg-options.Greta Yorsh2-1/+6
gcc/testsuite 2013-05-13 Greta Yorsh <Greta.Yorsh@arm.com> * gcc.dg/tree-ssa/forwprop-26.c: Add -fno-short-enums to dg-options. From-SVN: r198832
2013-05-13aarch64-simd.md (aarch64_simd_mov<mode>): Group similar switch cases.Sofiane Naci3-66/+69
* config/aarch64/aarch64-simd.md (aarch64_simd_mov<mode>): Group similar switch cases. (aarch64_simd_mov): Rename to aarch64_split_simd_mov. Update. (aarch64_simd_mov_to_<mode>low): Delete. (aarch64_simd_mov_to_<mode>high): Delete. (move_lo_quad_<mode>): Add w<-r alternative. (aarch64_simd_move_hi_quad_<mode>): Likewise. (aarch64_simd_mov_from_*): Update type attribute. * config/aarch64/aarch64.c (aarch64_split_simd_move): Refacror switch statement. From-SVN: r198831
2013-05-13mode-switching.c (optimize_mode_switching): Set correct RTL profile.Jan Hubicka3-9/+23
* mode-switching.c (optimize_mode_switching): Set correct RTL profile. * config/i386/i386.c (ix86_compute_frame_layout, ix86_expand_epilogue, emit_i387_cw_initialization, ix86_expand_vector_move_misalign, ix86_fp_comparison_strategy, ix86_local_alignment): Fix use of size/speed predicates. From-SVN: r198825
2013-05-13Restore Solaris/amd64 Ada bootstrap (PR ada/57188)Rainer Orth2-1/+6
PR ada/57188 * gcc-interface/Makefile.in: Allow for amd64 solaris2. From-SVN: r198824
2013-05-13re PR tree-optimization/45216 (Rotate expressions not recognized at tree level)Jakub Jelinek10-16/+871
PR tree-optimization/45216 PR tree-optimization/57157 * tree-ssa-forwprop.c (simplify_rotate): Only recognize the (-Y) & (B - 1) variant if OP is |. * expmed.c (expand_shift_1): For rotations by const0_rtx just return shifted. Use (-op1) & (prec - 1) as other_amount instead of prec - op1. * c-c++-common/rotate-1.c: Add 32 tests with +. * c-c++-common/rotate-1a.c: Adjust. * c-c++-common/rotate-2.c: Add 32 tests with +, expect only 48 rotates. * c-c++-common/rotate-2b.c: New test. * c-c++-common/rotate-3.c: Add 32 tests with +. * c-c++-common/rotate-4.c: Add 32 tests with +, expect only 48 rotates. * c-c++-common/rotate-4b.c: New test. * c-c++-common/rotate-5.c: New test. From-SVN: r198823
2013-05-13re PR middle-end/42371 (dead code not eliminated during folding with ↵Martin Jambor13-22/+740
whole-program) 2013-05-13 Martin Jambor <mjambor@suse.cz> PR middle-end/42371 * ipa-prop.h (IPA_UNDESCRIBED_USE): New macro. (ipa_constant_data): New type. (ipa_jump_func): Use ipa_constant_data to hold information about constant jump functions. (ipa_get_jf_constant): Adjust to jump function type changes. (ipa_get_jf_constant_rdesc): New function. (ipa_param_descriptor): New field controlled_uses. (ipa_get_controlled_uses): New function. (ipa_set_controlled_uses): Likewise. * ipa-ref.h (ipa_find_reference): Declare. * ipa-prop.c (ipa_cst_ref_desc): New type. (ipa_print_node_jump_functions_for_edge): Adjust for jump function type changes. (ipa_set_jf_constant): Likewise. Also create reference descriptions. New parameter cs. Adjust all callers. (ipa_analyze_params_uses): Detect uncontrolled and controlled uses. (remove_described_reference): New function. (jfunc_rdesc_usable): Likewise. (try_make_edge_direct_simple_call): Decrement controlled use count, attempt to remove reference if it hits zero. (combine_controlled_uses_counters): New function. (propagate_controlled_uses): Likewise. (ipa_propagate_indirect_call_infos): Call propagate_controlled_uses. (ipa_edge_duplication_hook): Duplicate reference descriptions. (ipa_print_node_params): Print described use counter. (ipa_write_jump_function): Adjust to jump function type changes. (ipa_read_jump_function): New parameter CS, pass it to ipa_set_jf_constant. Adjust caller. (ipa_write_node_info): Stream controlled use count (ipa_read_node_info): Likewise. * cgraph.c (cgraph_mark_address_taken_node): Bail out instead of asserting. * ipa-cp.c (ipcp_discover_new_direct_edges): Decrement controlled use count. Remove cloning-added reference if it reaches zero. * ipa-ref.c (ipa_find_reference): New function. testsuite/ * gcc.dg/ipa/remref-0.c: New test. * gcc.dg/ipa/remref-1a.c: Likewise. * gcc.dg/ipa/remref-1b.c: Likewise. * gcc.dg/ipa/remref-2a.c: Likewise. * gcc.dg/ipa/remref-2b.c: Likewise. From-SVN: r198821
2013-05-13AMD specific default alignment changesGanesh Gopalasubramanian2-5/+10
From-SVN: r198820
2013-05-13tree-vect-generic.c (uniform_vector_p): Move ...Marc Glisse7-46/+84
2013-05-13 Marc Glisse <marc.glisse@inria.fr> gcc/ * tree-vect-generic.c (uniform_vector_p): Move ... * tree.c (uniform_vector_p): ... here. * tree.h (uniform_vector_p): Declare it. * fold-const.c (fold_binary_loc) <shift>: Turn the second argument into a scalar. gcc/testsuite/ * gcc.dg/vector-shift-2.c: New testcase. From-SVN: r198819
2013-05-13re PR tree-optimization/57230 (tree-ssa-strlen incorrectly optimizes a ↵Jakub Jelinek4-0/+43
strlen to 0) PR tree-optimization/57230 * tree-ssa-strlen.c (handle_char_store): Record length for array store from STRING_CST. * gcc.dg/strlenopt-24.c: New test. From-SVN: r198815
2013-05-13re PR tree-optimization/57230 (tree-ssa-strlen incorrectly optimizes a ↵Jakub Jelinek4-1/+27
strlen to 0) PR tree-optimization/57230 * tree-ssa-strlen.c (handle_char_store): Add missing integer_zerop check. * gcc.dg/strlenopt-23.c: New test. From-SVN: r198813
2013-05-13Fix EH handling issue in last change:Joern Rennecke2-2/+22
* config/epiphany/epiphany.c (epiphany_init): Check size of NUM_MODES_FOR_MODE_SWITCHING. (epiphany_expand_prologue): Remove CONFIG_REGNUM initial value handling code. (epiphany_optimize_mode_switching): Handle EPIPHANY_MSW_ENTITY_CONFIG. (epiphany_mode_needed, epiphany_mode_entry_exit): Likewise. (emit_set_fp_mode, epiphany_mode_after): Likewise. (epiphany_mode_needed) <Handle EPIPHANY_MSW_ENTITY_AND>: Don't return 1 for FP_MODE_NONE. * config/epiphany/epiphany.h (NUM_MODES_FOR_MODE_SWITCHING): Add value for EPIPHANY_MSW_ENTITY_CONFIG. (EPIPHANY_MSW_ENTITY_CONFIG, EPIPHANY_MSW_ENTITY_NUM): Define. * config/epiphany/epiphany.md (save_config): New pattern. From-SVN: r198811
2013-05-13Daily bump.GCC Administrator1-1/+1
From-SVN: r198810
2013-05-12epiphany.c (epiphany_init): Check size of NUM_MODES_FOR_MODE_SWITCHING.Joern Rennecke4-43/+65
* config/epiphany/epiphany.c (epiphany_init): Check size of NUM_MODES_FOR_MODE_SWITCHING. (epiphany_expand_prologue): Remove CONFIG_REGNUM initial value handling code. (epiphany_optimize_mode_switching): Handle EPIPHANY_MSW_ENTITY_CONFIG. (epiphany_mode_needed, epiphany_mode_entry_exit): Likewise. (emit_set_fp_mode): Likewise. (epiphany_mode_needed) <Handle EPIPHANY_MSW_ENTITY_AND>: Don't return 1 for FP_MODE_NONE. * config/epiphany/epiphany.h (NUM_MODES_FOR_MODE_SWITCHING): Add value for EPIPHANY_MSW_ENTITY_CONFIG. (EPIPHANY_MSW_ENTITY_CONFIG, EPIPHANY_MSW_ENTITY_NUM): Define. * config/epiphany/epiphany.md (save_config): New pattern. From-SVN: r198807
2013-05-12i386.md (*zero_extendsidi2): Add *x->?r alternative.Uros Bizjak2-5/+24
* config/i386/i386.md (*zero_extendsidi2): Add *x->?r alternative. From-SVN: r198806