aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2012-08-30friend.c (make_friend_class): Handle template template parameters.Jason Merrill5-6/+31
* friend.c (make_friend_class): Handle template template parameters. * parser.c (cp_parser_template_declaration_after_export): Likewise. * pt.c (tsubst_friend_class): Likewise. (instantiate_class_template_1): Likewise * decl.c (check_elaborated_type_specifier): Likewise. (lookup_and_check_tag): Likewise. From-SVN: r190828
2012-08-30pt.c (get_class_bindings): Call coerce_template_parms.Jason Merrill2-11/+20
* pt.c (get_class_bindings): Call coerce_template_parms. Add main_tmpl parameter. (more_specialized_class): Add main_tmpl parameter. (most_specialized_class): Adjust calls. From-SVN: r190827
2012-08-30decl.c (cp_finish_decl): Check for invalid multiple initializers even if the ↵Jason Merrill3-3/+13
initializer is dependent. * decl.c (cp_finish_decl): Check for invalid multiple initializers even if the initializer is dependent. From-SVN: r190826
2012-08-30pt.c (instantiate_template_1): Keep processing_template_decl set if there ↵Jason Merrill2-0/+9
are dependent args. * pt.c (instantiate_template_1): Keep processing_template_decl set if there are dependent args. From-SVN: r190825
2012-08-31Daily bump.GCC Administrator1-1/+1
From-SVN: r190822
2012-08-30re PR target/54252 (Bad alignment code generated for Neon loads)Ramana Radhakrishnan2-30/+48
Fix PR target/54252 2012-08-29 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> Richard Earnshaw <richard.earnshaw@arm.com> PR target/54252 * config/arm/arm.c (neon_dereference_pointer): Adjust nelems by element size. Use elem_type from the formal parameter. New parameter fcode. (neon_expand_args): Adjust call to neon_dereference_pointer. Co-Authored-By: Richard Earnshaw <rearnsha@arm.com> From-SVN: r190800
2012-08-30Daily bump.GCC Administrator1-1/+1
From-SVN: r190793
2012-08-29* cfg.c (dump_bb_info): Print a newline if there were no edges to dump.Steven Bosscher2-0/+8
From-SVN: r190786
2012-08-29revert: t-linux64 (MULTILIB_OSDIRNAMES): Change to use mapping style, add ↵Chung-Lin Tang2-9/+9
../lib/mips16. 2012-08-29 Chung-Lin Tang <cltang@codesourcery.com> Revert: * config/mips/t-linux64 (MULTILIB_OSDIRNAMES): Change to use mapping style, add ../lib/mips16. (MULTILIB_OPTIONS,MULTILIB_DIRNAMES): Add mips16. (MULTILIB_EXCLUSIONS): Exclude mips16 when not -mabi=32. From-SVN: r190785
2012-08-29mips.h (TARGET_CPU_CPP_BUILTINS): Define __mips_synci if TARGET_SYNCI.Richard Sandiford4-0/+18
gcc/ * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Define __mips_synci if TARGET_SYNCI. gcc/testsuite/ * gcc.target/mips/mips.exp: Work out default -msynci setting. From-SVN: r190784
2012-08-29sh.opt (menable-tas): Rename to mtas.Oleg Endo4-6/+12
* config/sh/sh.opt (menable-tas): Rename to mtas. * doc/invoke.texi (SH options): Likewise. * config/sh/sync.md: Update comments. From-SVN: r190782
2012-08-29iterators.md: New file.Oleg Endo4-390/+298
* config/sh/iterators.md: New file. * config/sh/sync.md (I124, I12, i124suffix): Delete. Replace usage with new iterators QIHISI, QIHI, bw, bwl respectively throughout the file. * config/sh/sh.md: Include new file iterators.md. (zero_extendhisi2, zero_extendqisi2): Fold into zero_extend<mode>si2. (*zero_extendhisi2_compact, *zero_extendqisi2_compact): Fold into *zero_extend<mode>si2_compact. (*zero_extendqisi2_disp_mem, zero_extendhisi2_disp_mem): Fold into *zero_extend<mode>si2_disp_mem. (extendhisi2, extendqisi2): Fold into extend<mode>si2. (*extendqisi2_compact_reg, *extendhisi2_compact_reg): Fold into *extend<mode>si2_compact_reg. (*extendqisi2_compact_mem_disp, *extendhisi2_compact_mem_disp): Fold into *extend<mode>si2_compact_mem_disp. (*extendqisi2_compact_snd, *extendhisi2_compact_snd): Fold into *extend<mode>si2_compact_snd. (*movsi_index_disp, *movhi_index_disp): Fold with iterators and rename to *movsi_index_disp_load, *movhi_index_disp_load, *mov<mode>_index_disp_store. (*movqi_reg_reg, *movhi_reg_reg): Fold into *mov<mode>_reg_reg. (*movqi_store_mem_disp04, *movhi_store_mem_disp05): Fold into *mov<mode>_store_mem_disp04. (*movqi_store_mem_disp12, *movhi_store_mem_disp13): Fold into *mov<mode>_store_mem_disp12. (*movqi_load_mem_disp, *movhi_load_mem_disp): Fold into *mov<mode>_load_mem_disp04 and *mov<mode>_load_mem_disp12. From-SVN: r190781
2012-08-29ipa-inline.h (estimate_edge_hints): Call do_estimate_edge_hints, not ↵Martin Jambor2-1/+6
do_estimate_edge_time. 2012-08-29 Martin Jambor <mjambor@suse.cz> * ipa-inline.h (estimate_edge_hints): Call do_estimate_edge_hints, not do_estimate_edge_time. From-SVN: r190777
2012-08-29mips.h (CRT_CALL_STATIC_FUNCTION): Add nomips16 asm directives, remove ↵Chung-Lin Tang3-3/+24
#ifndef __mips16 guards. 2012-08-29 Chung-Lin Tang <cltang@codesourcery.com> * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Add nomips16 asm directives, remove #ifndef __mips16 guards. * config/mips/t-linux64 (MULTILIB_OSDIRNAMES): Change to use mapping style, add ../lib/mips16. (MULTILIB_OPTIONS,MULTILIB_DIRNAMES): Add mips16. (MULTILIB_EXCLUSIONS): Exclude mips16 when not -mabi=32. From-SVN: r190774
2012-08-29Daily bump.GCC Administrator1-1/+1
From-SVN: r190765
2012-08-28re PR fortran/54389 ([F2003/F2008 difference] PURE functions and pointer ↵Tobias Burnus2-2/+9
dummy arguments / DECL_PURE_P issue) 2012-08-28 Tobias Burnus <burnus@net-b.de> PR fortran/54389 * trans-decl.c (gfc_get_extern_function_decl, build_function_decl): Don't mark impure elemental functions as DECL_PURE_P and honour implicit_pure. From-SVN: r190757
2012-08-28re PR fortran/54382 (gfortran show_locus: Invalid read of size 4)Tobias Burnus2-0/+6
2012-08-28 Tobias Burnus <burnus@net-b.de> PR fortran/54382 * error.c (show_locus): Avoid out of bound access. From-SVN: r190752
2012-08-28re PR fortran/54384 (gfortran memory leaks)Tobias Burnus3-3/+18
2012-08-28 Tobias Burnus <burnus@net-b.de> PR fortran/54384 * decl.c (match_data_constant): Add missing gfc_free_expr. (top_val_list): Remove always-true condition. * data.c (get_array_index, create_character_initializer): Free temporary expressions. (gfc_assign_data_value): Free expression when aborting. From-SVN: r190751
2012-08-28ssa-dom-thread-3.c: Add -fno-short-enums.Joey Ye2-1/+6
* gcc.dg/tree-ssa/ssa-dom-thread-3.c: Add -fno-short-enums. From-SVN: r190745
2012-08-28Fix ChangeLog formatting.Walter Lee1-1/+1
From-SVN: r190741
2012-08-28Fix some typos and coding style violations.Walter Lee3-128/+126
* confg/tilegx/tilegx.md: Fix code style. (*zero_extendsidi_truncdisi): Fix typo. * config/tilegx/tilegx.c: Fix code style. (tilegx_function_profiler): Fix typo. From-SVN: r190739
2012-08-28re PR fortran/54384 (gfortran memory leaks)Tobias Burnus2-0/+6
2012-08-28 Tobias Burnus <burnus@net-b.de> PR fortran/54384 * symbol.c (gfc_copy_formal_args): Set also sym->formal_ns. From-SVN: r190738
2012-08-28Add support for the -mcmodel=MODEL flag on TILE-Gx.Walter Lee9-46/+433
Add support for the -mcmodel=MODEL flag on TILE-Gx. The models supported are small and large. In the small model (default), distance for direct calls is limited to 500M in either direction. PC-relative addresses are 32 bits. Absolute addresses support the full address range. In the large model, there is no limiation on call distance, pc-relative addresses, or absolute addresses. * doc/invoke.texi: Document -mcmodel=small, -mcmodel=large. * config/tilegx/tilegx.h: Include config/tilegx/tilegx-opts.h. (CRT_CALL_STATIC_FUNCTION): Define. * config/tilegx/predicates.md (const_last_symbolic_operand): Handle UNSPEC_HW2_LAST_PCREL, UNSPEC_HW1_LAST_PLT_PCREL, and UNSPEC_HW2_LAST_PLT_PCREL. (const_symbolic_operand): Handle UNSPEC_HW1_PCREL, UNSPEC_HW0_PLT_PCREL, and UNSPEC_HW1_PLT_PCREL. * config/tilegx/tilegx.md (UNSPEC_MOV_LARGE_PCREL_STEP4): Define, and renumber the constants that follow. (UNSPEC_HW1_PCREL): Define, and renumber the constants that follow. (UNSPEC_HW0_PLT_PCREL): Define. (UNSPEC_HW1_PLT_PCREL): Define. (UNSPEC_HW1_LAST_PLT_PCREL): Define. (UNSPEC_HW2_LAST_PLT_PCREL): Define. (mov_large_pcrel_step1): Define. (mov_large_pcrel_step2): Define. (mov_large_pcrel_step3): Define. (mov_large_pcrel_step4): Define. (mov_plt_pcrel_step1): Define. (mov_plt_pcrel_step2): Define. (mov_plt_pcrel_step3): Define. (mov_plt_pcrel_step1_32bit): Define. (mov_plt_pcrel_step2_32bit): Define. (call): Handle tilegx_cmodel == CM_LARGE, CM_LARGE_PIC. (call_value): Ditto. * config/tilegx/tilegx.opt: Include config/tilegx/tilegx-opts.h. (mcmodel): New option. (enum cmodel): Define. (CM_SMALL): Define. (CM_LARGE): Define. * config/tilegx/tilegx-protos.h (tilegx_compute_pcrel_address): Declare. (tilegx_compute_pcrel_plt_address): Declare. * config/tilegx/tilegx.c (tilegx_option_override): Handle tilegx_cmodel. (tilegx_function_ok_for_sibcall): Ditto. (compute_pcrel_address): Rename to tilegx_compute_pcrel_address, and don't declare static. Handle tilegx_cmodel. (tilegx_compute_pcrel_plt_address): Define. (tilegx_legitimize_pic_address): Rename calls to compute_pcrel_address. (tilegx_delegitimize_address): Handle UNSPEC_HW1_PCREL, UNSPEC_HW2_LAST_PCREL, UNSPEC_HW0_PLT_PCREL, UNSPEC_HW1_PLT_PCREL, UNSPEC_HW1_LAST_PLT_PCREL, UNSPEC_HW2_LAST_PLT_PCREL. (load_pic_register): Rename call to compute_pcrel_address. (tilegx_print_operand): Handle UNSPEC_HW1_PCREL, UNSPEC_HW2_LAST_PCREL, UNSPEC_HW0_PLT_PCREL, UNSPEC_HW1_PLT_PCREL, UNSPEC_HW1_LAST_PLT_PCREL, UNSPEC_HW2_LAST_PLT_PCREL. From-SVN: r190737
2012-08-28Daily bump.GCC Administrator1-1/+1
From-SVN: r190736
2012-08-27sched-deps.c (add_dependence_list_and_free): Simplify.Maxim Kuvyrkov2-12/+18
* sched-deps.c (add_dependence_list_and_free): Simplify. (flush_pending_list_and_free): Fix a hack that was fixing a hack. Free lists when add_dependence_list_and_free doesn't free them. From-SVN: r190733
2012-08-27re PR target/46254 (ICE: in find_reloads, at reload.c:3806 (unable to ↵Uros Bizjak5-71/+102
generate reloads) with -fPIC -mcmodel={medium|large} and __sync_val_compare_and_swap) PR target/46254 * config/i386/predicates.md (cmpxchg8b_pic_memory_operand): Return true for TARGET_64BIT or !flag_pic. * config/i386/sync.md (*atomic_compare_and_swap_doubledi_pic): Remove. (atomic_compare_and_swap_double<mode>): Change operand 2 predicate to cmpxchg8b_pic_memory_operand. Use DWIH mode iterator. Add insn constraint. Conditionally emit xchg asm insns. (atomic_compare_and_swap<mode>): Update calls. Check only cmpxchg8b_pic_memory_operand in memory address fixup. (DCASMODE): Remove. (CASHMODE): Rename from DCASHMODE. (doublemodesuffix): Update modes. (regprefix): New mode attribute. (unspecv) <UNSPECV_CMPXCHG_{1,2,3,4}>: Remove. <UNSPECV_CMPXCHG>: New constant. (atomic_compare_and_swap<mode>_1): Rename from atomic_compare_and_swap_single<mode>. Update calls and unspec_volatile constants. (atomic_compare_and_swap<mode>_doubleword): Rename from atomic_compare_and_swap_double<mode>. Update calls and unspec_volatile constants. testsuite/ChangeLog: PR target/46254 * gcc.target/i386/pr46254.c: New test. From-SVN: r190732
2012-08-27re PR fortran/54384 (gfortran memory leaks)Tobias Burnus3-1/+14
2012-08-27 Tobias Burnus <burnus@net-b.de> PR fortran/54384 * resolve.c (gfc_resolve_character_operator): Free temporary variables. * trans-expr.c (gfc_conv_statement_function): Ditto. From-SVN: r190731
2012-08-27Fix doc typo.Walter Lee2-2/+6
* doc/md.texi (TILE-Gx): Fix typo. From-SVN: r190729
2012-08-27re PR fortran/54384 (gfortran memory leaks)Tobias Burnus3-2/+10
2012-08-27 Tobias Burnus <burnus@net-b.de> PR fortran/54384 * dependency.c (check_section_vs_section): Use gfc_free_expr instead of free. * trans-intrinsic.c (conv_generic_with_optional_char_arg): Use gfc_free_symbol instead of free. From-SVN: r190728
2012-08-27Fix a typo in the mcount function_profiler.Walter Lee3-2/+7
* config/tilegx/tilegx.c (tilegx_function_profiler): Fix typo. config/tilepro/tilepro.c (tilepro_function_profiler): Ditto. From-SVN: r190726
2012-08-27Stop trying to represent the bfins instruction with the insv pattern,Walter Lee2-31/+6
because it causes an extra copy when bfins reuses one of its inputs. * config/tilegx/tilegx.md (*bfins): Rename to insn_bfins. (insn_bfins): Delete. From-SVN: r190724
2012-08-27Properly set the latency of atomic ops to the approximate latency of a ↵Walter Lee4-10/+27
remote memory operation. Properly set the latency of atomic ops to the approximate latency of a remote memory operation. * config/tilegx/sync.md (atomic_compare_and_swap_bare<mode>, atomic_exchange_bare<mode>, atomic_fetch_<fetchop_name>_bare<mode>): Set type to X1_remote. * config/tilegx/tilegx-generic.md (X1_remote): New insn_reservation. * config/tilegx/tilegx.md (type): Add X1_remove. (insn_cmpexch<four_if_si>, insn_exch<four_if_si>, insn_fetchadd<four_if_si>, insn_fetchaddgez<four_if_si>, insn_fetchand<four_if_si>, insn_fetchor<four_if_si>): Set type to X1_remote. From-SVN: r190722
2012-08-27* gdbinit.in: Fix syntax of skip command.Andreas Schwab2-2/+6
From-SVN: r190721
2012-08-27ext_ins.c, [...]: Add NOMIPS16.Richard Sandiford6-10/+17
gcc/testsuite/ * gcc.target/mips/ext_ins.c, gcc.target/mips/octeon-pop-2.c, gcc.target/mips/pr54240.c, gcc.target/mips/stack-1.c, gcc.target/mips/unaligned-1.c: Add NOMIPS16. From-SVN: r190720
2012-08-2720020620-1.c, [...]: Tighten regexps.Richard Sandiford42-221/+243
gcc/testsuite/ * gcc.target/mips/20020620-1.c, gcc.target/mips/atomic-memory-2.c, gcc.target/mips/branch-2.c, gcc.target/mips/branch-3.c, gcc.target/mips/clear-cache-1.c, gcc.target/mips/const-anchor-1.c, gcc.target/mips/const-anchor-2.c, gcc.target/mips/dspr2-MULT.c, gcc.target/mips/dspr2-MULTU.c, gcc.target/mips/ext-1.c, gcc.target/mips/ext-2.c, gcc.target/mips/ext-3.c, gcc.target/mips/ext-4.c, gcc.target/mips/ext_ins.c, gcc.target/mips/fpcmp-1.c, gcc.target/mips/fpcmp-2.c, gcc.target/mips/mips16e-extends.c, gcc.target/mips/mips32-dsp.c, gcc.target/mips/mips32-dsp-type.c, gcc.target/mips/mips32r2-mxhc1.c, gcc.target/mips/mips-ps-5.c, gcc.target/mips/mips-ps-7.c, gcc.target/mips/mips-ps-type-2.c, gcc.target/mips/mips-ps-type.c, gcc.target/mips/movcc-1.c, gcc.target/mips/movcc-2.c, gcc.target/mips/movcc-3.c, gcc.target/mips/neg-abs-1.c, gcc.target/mips/neg-abs-2.c, gcc.target/mips/nmadd-1.c, gcc.target/mips/nmadd-2.c, gcc.target/mips/nmadd-3.c, gcc.target/mips/octeon-exts-7.c, gcc.target/mips/octeon-seq-4.c, gcc.target/mips/rsqrt-1.c, gcc.target/mips/rsqrt-2.c, gcc.target/mips/rsqrt-3.c, gcc.target/mips/sb1-1.c, gcc.target/mips/scc-4.c, gcc.target/mips/stack-1.c, gcc.target/mips/unaligned-1.c: Tighten regexps. From-SVN: r190719
2012-08-27mips.exp: Use gcc-dg-runtest rather than dg-runtest.Richard Sandiford306-391/+1078
gcc/testsuite/ * gcc.target/mips/mips.exp: Use gcc-dg-runtest rather than dg-runtest. (mips_option_groups): Remove optimization. Add various -f options. (mips-dg-options): Make -funroll-loops imply -funroll-all-loops and -pg imply -fno-omit-frame-pointer. * gcc.target/mips/abi-eabi32-long32.c: Remove optimization flag. * gcc.target/mips/abi-eabi32-long64.c: Likewise. * gcc.target/mips/abi-eabi64-long32.c: Likewise. * gcc.target/mips/abi-eabi64-long64.c: Likewise. * gcc.target/mips/abi-n32-long32-no-shared.c: Likewise. * gcc.target/mips/abi-n32-long32-pic.c: Likewise. * gcc.target/mips/abi-n32-long32.c: Likewise. * gcc.target/mips/abi-n32-long64-no-shared.c: Likewise. * gcc.target/mips/abi-n32-long64-pic.c: Likewise. * gcc.target/mips/abi-n32-long64.c: Likewise. * gcc.target/mips/abi-n64-long32-no-shared.c: Likewise. * gcc.target/mips/abi-n64-long32-pic.c: Likewise. * gcc.target/mips/abi-n64-long32.c: Likewise. * gcc.target/mips/abi-n64-long64-no-shared.c: Likewise. * gcc.target/mips/abi-n64-long64-pic.c: Likewise. * gcc.target/mips/abi-n64-long64.c: Likewise. * gcc.target/mips/abi-o32-long32-no-shared.c: Likewise. * gcc.target/mips/abi-o32-long32-pic.c: Likewise. * gcc.target/mips/abi-o32-long32.c: Likewise. * gcc.target/mips/abi-o32-long64-no-shared.c: Likewise. * gcc.target/mips/abi-o32-long64-pic.c: Likewise. * gcc.target/mips/abi-o32-long64.c: Likewise. * gcc.target/mips/abi-o64-long32-no-shared.c: Likewise. * gcc.target/mips/abi-o64-long32-pic.c: Likewise. * gcc.target/mips/abi-o64-long32.c: Likewise. * gcc.target/mips/abi-o64-long64-no-shared.c: Likewise. * gcc.target/mips/abi-o64-long64-pic.c: Likewise. * gcc.target/mips/abi-o64-long64.c: Likewise. * gcc.target/mips/asm-1.c: Likewise. * gcc.target/mips/branch-1.c: Likewise. * gcc.target/mips/call-3.c: Likewise. * gcc.target/mips/call-saved-3.c: Likewise. * gcc.target/mips/clear-cache-1.c: Likewise. * gcc.target/mips/div-1.c: Likewise. * gcc.target/mips/div-2.c: Likewise. * gcc.target/mips/div-3.c: Likewise. * gcc.target/mips/div-4.c: Likewise. * gcc.target/mips/div-5.c: Likewise. * gcc.target/mips/div-6.c: Likewise. * gcc.target/mips/div-7.c: Likewise. * gcc.target/mips/div-8.c: Likewise. * gcc.target/mips/div-9.c: Likewise. * gcc.target/mips/div-10.c: Likewise. * gcc.target/mips/div-11.c: Likewise. * gcc.target/mips/div-12.c: Likewise. * gcc.target/mips/dsp-ctrl.c: Likewise. * gcc.target/mips/dsp-no-lhx.c: Likewise. * gcc.target/mips/ext-8.c: Likewise. * gcc.target/mips/extend-2.c: Likewise. * gcc.target/mips/fix-r10000-1.c: Likewise. * gcc.target/mips/fix-r10000-2.c: Likewise. * gcc.target/mips/fix-r10000-3.c: Likewise. * gcc.target/mips/fix-r10000-4.c: Likewise. * gcc.target/mips/fix-r10000-5.c: Likewise. * gcc.target/mips/fix-r10000-6.c: Likewise. * gcc.target/mips/fix-r10000-7.c: Likewise. * gcc.target/mips/fix-r10000-8.c: Likewise. * gcc.target/mips/fix-r10000-9.c: Likewise. * gcc.target/mips/fix-r10000-10.c: Likewise. * gcc.target/mips/fix-r10000-11.c: Likewise. * gcc.target/mips/fix-r10000-12.c: Likewise. * gcc.target/mips/fix-r10000-13.c: Likewise. * gcc.target/mips/fix-r10000-14.c: Likewise. * gcc.target/mips/fix-r10000-15.c: Likewise. * gcc.target/mips/fpcmp-1.c: Likewise. * gcc.target/mips/fpcmp-2.c: Likewise. * gcc.target/mips/fpr-moves-7.c: Likewise. * gcc.target/mips/fpr-moves-8.c: Likewise. * gcc.target/mips/int-moves-1.c: Likewise. * gcc.target/mips/int-moves-2.c: Likewise. * gcc.target/mips/long-calls-pg.c: Likewise. * gcc.target/mips/loongson-muldiv-1.c: Likewise. * gcc.target/mips/loongson-muldiv-2.c: Likewise. * gcc.target/mips/loongson-shift-count-truncated-1.c: Likewise. * gcc.target/mips/loongson3a-muldiv-1.c: Likewise. * gcc.target/mips/loongson3a-muldiv-2.c: Likewise. * gcc.target/mips/mips-3d-1.c: Likewise. * gcc.target/mips/mips-3d-2.c: Likewise. * gcc.target/mips/mips-3d-3.c: Likewise. * gcc.target/mips/mips-3d-4.c: Likewise. * gcc.target/mips/mips-3d-5.c: Likewise. * gcc.target/mips/mips-3d-6.c: Likewise. * gcc.target/mips/mips-3d-7.c: Likewise. * gcc.target/mips/mips-3d-8.c: Likewise. * gcc.target/mips/mips-3d-9.c: Likewise. * gcc.target/mips/mips-ps-1.c: Likewise. * gcc.target/mips/mips-ps-2.c: Likewise. * gcc.target/mips/mips-ps-3.c: Likewise. * gcc.target/mips/mips-ps-4.c: Likewise. * gcc.target/mips/mips-ps-6.c: Likewise. * gcc.target/mips/mips32-dspr2.c: Likewise. * gcc.target/mips/mmcount-ra-address-1.c: Likewise. * gcc.target/mips/neg-abs-1.c: Likewise. * gcc.target/mips/neg-abs-2.c: Likewise. * gcc.target/mips/nmadd-3.c: Likewise. * gcc.target/mips/no-smartmips-lwxs.c: Likewise. * gcc.target/mips/no-smartmips-ror-1.c: Likewise. * gcc.target/mips/octeon-pop-1.c: Likewise. * gcc.target/mips/pr26765.c: Likewise. * gcc.target/mips/pr33256.c: Likewise. * gcc.target/mips/pr33635-1.c: Likewise. * gcc.target/mips/pr33755.c: Likewise. * gcc.target/mips/pr35802.c: Likewise. * gcc.target/mips/pr45074.c: Likewise. * gcc.target/mips/r10k-cache-barrier-1.c: Likewise. * gcc.target/mips/r10k-cache-barrier-2.c: Likewise. * gcc.target/mips/r10k-cache-barrier-3.c: Likewise. * gcc.target/mips/r10k-cache-barrier-4.c: Likewise. * gcc.target/mips/r10k-cache-barrier-5.c: Likewise. * gcc.target/mips/r10k-cache-barrier-6.c: Likewise. * gcc.target/mips/r10k-cache-barrier-7.c: Likewise. * gcc.target/mips/r10k-cache-barrier-8.c: Likewise. * gcc.target/mips/r10k-cache-barrier-9.c: Likewise. * gcc.target/mips/r10k-cache-barrier-11.c: Likewise. * gcc.target/mips/r10k-cache-barrier-12.c: Likewise. * gcc.target/mips/r10k-cache-barrier-13.c: Likewise. * gcc.target/mips/r10k-cache-barrier-14.c: Likewise. * gcc.target/mips/r10k-cache-barrier-15.c: Likewise. * gcc.target/mips/save-restore-1.c: Likewise. * gcc.target/mips/save-restore-3.c: Likewise. * gcc.target/mips/save-restore-5.c: Likewise. * gcc.target/mips/smartmips-ror-1.c: Likewise. * gcc.target/mips/smartmips-ror-2.c: Likewise. * gcc.target/mips/smartmips-ror-3.c: Likewise. * gcc.target/mips/smartmips-ror-4.c: Likewise. * gcc.target/mips/stack-1.c: Likewise. * gcc.target/mips/clear-cache-2.c: Remove optimization flag. Tighten regexps. * gcc.target/mips/branch-8.c: Arrange for the delay slot of the branch under test to be filled with preceding rather than following instructions. * gcc.target/mips/branch-10.c: Likewise. * gcc.target/mips/branch-11.c: Likewise. * gcc.target/mips/branch-12.c: Likewise. * gcc.target/mips/branch-13.c: Likewise. * gcc.target/mips/branch-9.c: Likewise. Allow the frame pointer to be eliminated. Tighten $28 scan-assembler-not test. * gcc.target/mips/call-2.c: Remove optimization flag. Move second function to... * gcc.target/mips/call-4.c: ...this new test. * gcc.target/mips/code-readable-2.c: Rework to make a jump table more likely. * gcc.target/mips/code-readable-3.c: Likewise. * gcc.target/mips/code-readable-1.c: Likewise. Remove optimization flag but skip for -O0. * gcc.target/mips/code-readable-4.c: Likewise. * gcc.target/mips/mips32-dsp-run.c: Prevent compile-time reduction of operations under test. * gcc.target/mips/mips32-dsp.c: Likewise. Remove optimization flag. * gcc.target/mips/near-far-3.c: Remove optimization flag. Don't require sibling-call optimization. * gcc.target/mips/near-far-4.c: Likewise. * gcc.target/mips/no-dsp-1.c: Require -ffat-lto-objects. Make sure that the register variable is used. * gcc.target/mips/soft-float-1.c: Likewise. * gcc.target/mips/sdata-1.c: Make static data volatile. * gcc.target/mips/sdata-2.c: Likewise. * gcc.target/mips/sdata-3.c: Likewise. * gcc.target/mips/sdata-4.c: Likewise. * gcc.target/mips/20020620-1.c: Remove optimization flag but skip for -O0. * gcc.target/mips/atomic-memory-2.c: Likewise. * gcc.target/mips/branch-cost-1.c: Likewise. * gcc.target/mips/branch-cost-2.c: Likewise. * gcc.target/mips/cache-1.c: Likewise. * gcc.target/mips/call-1.c: Likewise. * gcc.target/mips/call-saved-2.c: Likewise. * gcc.target/mips/const-anchor-1.c: Likewise. * gcc.target/mips/const-anchor-2.c: Likewise. * gcc.target/mips/dse-1.c: Likewise. * gcc.target/mips/dsp-lhx.c: Likewise. * gcc.target/mips/dspr2-MULTU.c: Likewise. * gcc.target/mips/ext-1.c: Likewise. * gcc.target/mips/ext-2.c: Likewise. * gcc.target/mips/ext-3.c: Likewise. * gcc.target/mips/ext-4.c: Likewise. * gcc.target/mips/ext-5.c: Likewise. * gcc.target/mips/ext-6.c: Likewise. * gcc.target/mips/ext-7.c: Likewise. * gcc.target/mips/extend-1.c: Likewise. * gcc.target/mips/fix-r4000-1.c: Likewise. * gcc.target/mips/fix-r4000-3.c: Likewise. * gcc.target/mips/fix-r4000-5.c: Likewise. * gcc.target/mips/fix-r4000-6.c: Likewise. * gcc.target/mips/fix-r4000-8.c: Likewise. * gcc.target/mips/fix-r4000-10.c: Likewise. * gcc.target/mips/fixed-scalar-type.c: Likewise. * gcc.target/mips/fixed-vector-type.c: Likewise. * gcc.target/mips/fpr-moves-1.c: Likewise. * gcc.target/mips/fpr-moves-2.c: Likewise. * gcc.target/mips/fpr-moves-3.c: Likewise. * gcc.target/mips/fpr-moves-4.c: Likewise. * gcc.target/mips/fpr-moves-5.c: Likewise. * gcc.target/mips/fpr-moves-6.c: Likewise. * gcc.target/mips/ins-1.c: Likewise. * gcc.target/mips/ins-2.c: Likewise. * gcc.target/mips/interrupt_handler-2.c: Likewise. * gcc.target/mips/interrupt_handler-3.c: Likewise. * gcc.target/mips/lazy-binding-1.c: Likewise. * gcc.target/mips/madd-3.c: Likewise. * gcc.target/mips/madd-5.c: Likewise. * gcc.target/mips/madd-6.c: Likewise. * gcc.target/mips/madd-8.c: Likewise. * gcc.target/mips/madd-9.c: Likewise. * gcc.target/mips/memcpy-1.c: Likewise. * gcc.target/mips/mips-ps-type.c: Likewise. * gcc.target/mips/mips-ps-type-2.c: Likewise. * gcc.target/mips/mips-sched-madd.c: Likewise. * gcc.target/mips/mips16e-extends.c: Likewise. * gcc.target/mips/mips32r2-mxhc1.c: Likewise. * gcc.target/mips/mips64-dsp-ldx.c: Likewise. * gcc.target/mips/movcc-1.c: Likewise. * gcc.target/mips/movcc-2.c: Likewise. * gcc.target/mips/movcc-3.c: Likewise. * gcc.target/mips/msub-5.c: Likewise. * gcc.target/mips/msub-6.c: Likewise. * gcc.target/mips/msub-8.c: Likewise. * gcc.target/mips/mult-2.c: Likewise. * gcc.target/mips/mult-3.c: Likewise. * gcc.target/mips/mult-5.c: Likewise. * gcc.target/mips/mult-6.c: Likewise. * gcc.target/mips/mult-7.c: Likewise. * gcc.target/mips/mult-12.c: Likewise. * gcc.target/mips/mult-13.c: Likewise. * gcc.target/mips/mult-14.c: Likewise. * gcc.target/mips/mult-15.c: Likewise. * gcc.target/mips/mult-17.c: Likewise. * gcc.target/mips/mult-18.c: Likewise. * gcc.target/mips/mult-19.c: Likewise. * gcc.target/mips/nmadd-1.c: Likewise. * gcc.target/mips/nmadd-2.c: Likewise. * gcc.target/mips/octeon-baddu-1.c: Likewise. * gcc.target/mips/octeon-cins-1.c: Likewise. * gcc.target/mips/octeon-cins-2.c: Likewise. * gcc.target/mips/octeon-dmul-3.c: Likewise. * gcc.target/mips/octeon-exts-2.c: Likewise. * gcc.target/mips/octeon-exts-3.c: Likewise. * gcc.target/mips/octeon-exts-4.c: Likewise. * gcc.target/mips/octeon-exts-5.c: Likewise. * gcc.target/mips/octeon-exts-6.c: Likewise. * gcc.target/mips/octeon-exts-7.c: Likewise. * gcc.target/mips/octeon-pop-2.c: Likewise. * gcc.target/mips/octeon-seq-3.c: Likewise. * gcc.target/mips/octeon-seq-4.c: Likewise. * gcc.target/mips/octeon2-lx-1.c: Likewise. * gcc.target/mips/octeon2-lx-2.c: Likewise. * gcc.target/mips/octeon2-lx-3.c: Likewise. * gcc.target/mips/pr54240.c: Likewise. * gcc.target/mips/rsqrt-1.c: Likewise. * gcc.target/mips/rsqrt-2.c: Likewise. * gcc.target/mips/rsqrt-3.c: Likewise. * gcc.target/mips/rsqrt-4.c: Likewise. * gcc.target/mips/save-restore-2.c: Likewise. * gcc.target/mips/save-restore-4.c: Likewise. * gcc.target/mips/sb1-1.c: Likewise. * gcc.target/mips/scc-1.c: Likewise. * gcc.target/mips/scc-2.c: Likewise. * gcc.target/mips/scc-3.c: Likewise. * gcc.target/mips/scc-4.c: Likewise. * gcc.target/mips/smartmips-lwxs.c: Likewise. * gcc.target/mips/truncate-1.c: Likewise. * gcc.target/mips/truncate-2.c: Likewise. * gcc.target/mips/truncate-3.c: Likewise. * gcc.target/mips/truncate-4.c: Likewise. * gcc.target/mips/truncate-5.c: Likewise. * gcc.target/mips/truncate-6.c: Likewise. * gcc.target/mips/unaligned-1.c: Likewise. * gcc.target/mips/dpaq_sa_l_w.c: Remove optimization flag but skip for -O0. Require -fexpensive-optimizations. * gcc.target/mips/dpsq_sa_l_w.c: Likewise. * gcc.target/mips/dspr2-MULT.c: Likewise. * gcc.target/mips/fix-r4000-2.c: Likewise. * gcc.target/mips/fix-r4000-4.c: Likewise. * gcc.target/mips/fix-r4000-7.c: Likewise. * gcc.target/mips/fix-r4000-9.c: Likewise. * gcc.target/mips/madd-1.c: Likewise. * gcc.target/mips/madd-2.c: Likewise. * gcc.target/mips/madd-4.c: Likewise. * gcc.target/mips/maddu-1.c: Likewise. * gcc.target/mips/maddu-2.c: Likewise. * gcc.target/mips/maddu-3.c: Likewise. * gcc.target/mips/maddu-4.c: Likewise. * gcc.target/mips/msub-1.c: Likewise. * gcc.target/mips/msub-2.c: Likewise. * gcc.target/mips/msub-3.c: Likewise. * gcc.target/mips/msub-4.c: Likewise. * gcc.target/mips/msubu-1.c: Likewise. * gcc.target/mips/msubu-2.c: Likewise. * gcc.target/mips/msubu-3.c: Likewise. * gcc.target/mips/msubu-4.c: Likewise. * gcc.target/mips/mult-1.c: Likewise. * gcc.target/mips/mult-4.c: Likewise. * gcc.target/mips/mult-8.c: Likewise. * gcc.target/mips/mult-9.c: Likewise. * gcc.target/mips/mult-10.c: Likewise. * gcc.target/mips/mult-11.c: Likewise. * gcc.target/mips/mult-16.c: Likewise. * gcc.target/mips/fix-r4000-11.c: Remove optimization flag but skip for -O0 and -Os. * gcc.target/mips/fix-r4000-12.c: Likewise. * gcc.target/mips/madd-7.c: Likewise. * gcc.target/mips/mips-ps-5.c: Likewise. * gcc.target/mips/mips-ps-7.c: Likewise. * gcc.target/mips/msub-7.c: Likewise. * gcc.target/mips/mmcount-ra-address-2.c: Remove optimization flag but skip for -O0. Require -mno-abicalls. * gcc.target/mips/mmcount-ra-address-3.c: Likewise. * gcc.target/mips/octeon-bbit-1.c: Remove optimization flag but skip for -O0. Require a total number of BBIT instructions and at least one of each kind. * gcc.target/mips/octeon-bbit-2.c: Remove optimization flag but skip for -O0. Require -fno-unroll-loops. * gcc.target/mips/octeon-bbit-3.c: Remove optimization flag but skip for -O0. Allow BLTZ as well as BGEZ. * gcc.target/mips/octeon-dmul-2.c: Skip for -Os. * gcc.target/mips/octeon-pipe-1.c: Remove optimization flag but skip for -O0. Require -fschedule-insns2. * gcc.target/mips/octeon2-pipe-1.c: Likewise. * gcc.target/mips/r10k-cache-barrier-10.c: Remove optimization flag but skip for -O0. Make a branch-likely more likely. * gcc.target/mips/timode-2.c: Split each test into its own function. * gcc.target/mips/timode-1.c: Likewise. Skip for -Os. * gcc.target/mips/vr-mult-1.c: Remove optimization flag but skip for -O0. Require -fpeephole2. * gcc.target/mips/vr-mult-2.c: Likewise. From-SVN: r190718
2012-08-27mips.c (mips_pic_call_symbol_from_set): Check for SYMBOL_REF SET_SRCs.Richard Sandiford2-6/+17
gcc/ * config/mips/mips.c (mips_pic_call_symbol_from_set): Check for SYMBOL_REF SET_SRCs. From-SVN: r190717
2012-08-27mips.c (vr4130_align_insns): Don't simulate ghost instructions.Richard Sandiford2-1/+9
gcc/ * config/mips/mips.c (vr4130_align_insns): Don't simulate ghost instructions. Assert that the required instructions exist. From-SVN: r190716
2012-08-27PR preprocessor/53469 - argument tokens of _Pragma miss virtual locationDodji Seketeli2-0/+19
Consider this short test snippet: -------------------------8------------------- #define STRINGIFY(x) #x #define TEST(x) \ _Pragma(STRINGIFY(GCC diagnostic ignored "-Wunused-local-typedefs")) \ typedef int myint; void bar () { TEST(myint) } -------------------------8------------------- The _Pragma is effectively ignored, and compiling with -Wunused-local-typedefs warns on the local typedef, even though the pragma should have prevented the warning to be emitted. This is because when the preprocessor sees the _Pragma operator and then goes to handle the first token ('GCC' here) that makes up its operands, it retains the spelling location of that token, not its virtual location. Later when diagnostic_report_diagnostic is called to emit the warning (or ignore it because of the pragma), it compares the location of the first operand of the pragma with the location of the unused location, (by calling linemap_location_before_p) and that comparison fails because in this case, both locations should be virtual. This patch fixes the issue by teaching the pragma handling to use virtual locations. Bootstrapped and tested on x86_64-unknown-linux-gnu against trunk. libcpp/ PR preprocessor/53469 * directives.c (do_pragma): Use the virtual location for the pragma token, instead of its spelling location. gcc/testsuite/ PR preprocessor/53469 * gcc.dg/cpp/_Pragma7.c: New test case. From-SVN: r190714
2012-08-27re PR fortran/54384 (gfortran memory leaks)Tobias Burnus2-0/+11
2012-08-27 Tobias Burnus <burnus@net-b.de> PR fortran/54384 * trans-expr.c (gfc_trans_arrayfunc_assign): Free se.ss and loop. From-SVN: r190713
2012-08-27re PR fortran/41093 (memory leaks with gfc_namespace)Tobias Burnus8-11/+38
2012-08-27 Tobias Burnus <burnus@net-b.de> PR fortran/41093 * gfortran.h (gfc_common_head): Add "int refs". * match.c (gfc_match_common): Increment refs. * resolve.c (resolve_symbol): Only increment formal_ns->refs if formal_ns is not sym->ns. * symbol.c (gfc_free_symbol): Only free formal_ns if if formal_ns is not sym->ns. Free common_block if refs is one. (gfc_release_symbol): Release formal_ns only if the symbol is not ENTRY of a module. * decl.c (get_proc_name): Don't increment gfc_current_ns->refs. * parse.c (parse_interface): Incement proc_unit->refs++ for proc-pointer result variables. * module.c (mio_symbol): Don't increase sym->refs for its use in sym->formal_ns->proc_name. From-SVN: r190710
2012-08-27re PR fortran/54370 (error: non-trivial conversion in unary operation)Tobias Burnus4-1/+41
2012-08-27 Tobias Burnus <burnus@net-b.de> PR fortran/54370 * trans-stmt.c (gfc_trans_do_while): Don't change the logical kind for negation of the condition. 2012-08-27 Tobias Burnus <burnus@net-b.de> PR fortran/54370 * gfortran.dg/do_5.f90: New. From-SVN: r190709
2012-08-27options.c (set_Wall): Don't set for -Wcompare-reals.Tobias Burnus5-6/+15
2012-08-27 Tobias Burnus <burnus@net-b.de> * options.c (set_Wall): Don't set for -Wcompare-reals. * invoke.texi (-Wall, -Wcompare-reals): -Wall no longer implies -Wcompare-reals. 2012-08-27 Tobias Burnus <burnus@net-b.de> * gfortran.dg/bessel_5.f90: Remove -Wno-compare-reals from dg-options as -Wall no longer implies it. From-SVN: r190707
2012-08-27Daily bump.GCC Administrator1-1/+1
From-SVN: r190706
2012-08-26mips.h (AVOID_CCMODE_COPIES): Update rationale for definition.Richard Sandiford4-80/+86
gcc/ * config/mips/mips.h (AVOID_CCMODE_COPIES): Update rationale for definition. * config/mips/mips.c (machine_function): Add next_fcc. (mips_output_move): Remove handling of fcc moves. (mips_allocate_fcc): New function. (mips_emit_compare, mips_expand_vcondv2sf): Use it. (mips_hard_regno_mode_ok_p): Restrict CCmode to ST registers. Remove special case for CCmode reloads. (mips_expand_builtin_compare_1): Use mips_allocate_fcc and treat the result a fixed operand. * config/mips/mips.md (move_type): Remove lui_movf. (type, length): Remove references to it. (movcc, reload_incc, reload_outcc): Delete. From-SVN: r190703
2012-08-26mips.c (mips_has_long_branch_p): New function, split out from...Richard Sandiford2-17/+35
gcc/ * config/mips/mips.c (mips_has_long_branch_p): New function, split out from... (mips_expand_ghost_gp_insns): ...here. Look inside sequences. From-SVN: r190701
2012-08-26mips.c (r10k_safe_mem_expr_p): Use get_inner_reference.Richard Sandiford2-9/+14
gcc/ * config/mips/mips.c (r10k_safe_mem_expr_p): Use get_inner_reference. From-SVN: r190700
2012-08-26mips.c (mips_rtx_costs): Add costs for CINS.Richard Sandiford2-0/+16
gcc/ * config/mips/mips.c (mips_rtx_costs): Add costs for CINS. From-SVN: r190699
2012-08-26mips.c (mips_rtx_costs): Add missing COSTS_N_INSNS to the size cost of ↵Richard Sandiford2-1/+6
multiplication. gcc/ * config/mips/mips.c (mips_rtx_costs): Add missing COSTS_N_INSNS to the size cost of multiplication. From-SVN: r190698
2012-08-26scanasm.exp (scan-assembler-times_required_options): New proc.Richard Sandiford2-0/+9
gcc/testsuite/ * lib/scanasm.exp (scan-assembler-times_required_options): New proc. From-SVN: r190697