1. 29 Aug, 2012 14 commits
    • mips.h (TARGET_CPU_CPP_BUILTINS): Define __mips_synci if TARGET_SYNCI. · 166c02bd
      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
      Richard Sandiford committed
    • Add simd_fast_mersenne_twister_engine class. · 1860430a
      	* include/ext/random: New file.
      	* include/ext/random.tcc: New file.
      	* include/Makefile.am (ext_headers): Add random and random.tcc.
      	* testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
      	operators/inequal.cc: New file.
      	* testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
      	operators/equal.cc: New file.
      	* testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
      	operators/serialize.cc: New file.
      	* testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
      	cons/seed2.cc: New file.
      	* testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
      	cons/default.cc: New file.
      	* testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
      	cons/seed_seq.cc: New file.
      	* testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
      	cons/copy.cc: New file.
      	* testsuite/26_numerics/random/simd_fast_mersenne_twister_engine/
      	cons/seed1.cc: New file.
      
      From-SVN: r190783
      Ulrich Drepper committed
    • sh.opt (menable-tas): Rename to mtas. · 487ebcbf
      	* config/sh/sh.opt (menable-tas): Rename to mtas.
      	* doc/invoke.texi (SH options): Likewise.
      	* config/sh/sync.md: Update comments.
      
      From-SVN: r190782
      Oleg Endo committed
    • iterators.md: New file. · 7fa4bf9b
      	* 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
      Oleg Endo committed
    • ipa-inline.h (estimate_edge_hints): Call do_estimate_edge_hints, not do_estimate_edge_time. · de99ac70
      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
      Martin Jambor committed
    • mips.h (CRT_CALL_STATIC_FUNCTION): Add nomips16 asm directives, remove #ifndef __mips16 guards. · 1274718f
      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
      Chung-Lin Tang committed
    • crtfastmath.c (set_fast_math): Add 'nomips16' attribute. · 867a8345
      2012-08-29  Chung-Lin Tang  <cltang@codesourcery.com>
      
      	libgcc/
      	* config/mips/crtfastmath.c (set_fast_math): Add 'nomips16'
      	attribute.
      
      From-SVN: r190773
      Chung-Lin Tang committed
    • futex.h (sys_futex0): Change to static function with noinline, nomips16 attributes under MIPS16. · c24dbebb
      
      2012-08-29  Chung-Lin Tang  <cltang@codesourcery.com>
      
      	libgomp/
      	* config/linux/mips/futex.h (sys_futex0): Change to static
      	function with noinline, nomips16 attributes under MIPS16. Adjust
      	asm statement to place 'li v0,SYS_futex' immediately before
      	syscall insn.
      
      From-SVN: r190772
      Chung-Lin Tang committed
    • PR libstdc++/54102, part 2 · 27f36b78
      2012-08-28  Benjamin Kosnik  <bkoz@redhat.com>
      
      	PR libstdc++/54102, part 2
      	* doc/Makefile.am (XSL_HTML_STYLE): use xhtml, not html.
      	* doc/Makefile.in: Regenerate.
      	* doc/html/*: Same.
      
      From-SVN: r190771
      Benjamin Kosnik committed
    • *: Regenerate. · 6247d6df
      2012-08-28  Benjamin Kosnik  <bkoz@redhat.com>
      
      	* doc/html/*: Regenerate.
      
      From-SVN: r190770
      Benjamin Kosnik committed
    • re PR libstdc++/54102 (generated html vs. utf8) · 8d24c975
      2012-08-28  Benjamin Kosnik  <bkoz@redhat.com>
      
      	PR libstdc++/54102
      	* doc/xsl/customization.xsl.in: New.
      	* configure.ac: Output local copy of customization xsl.
      	* doc/Makefile.am (stamp-html-single-docbook): Use XSL_LOCAL_STYLE.
      	(stamp-html-docbook): Set stringparam to UTF-8.
      	* Makefile.in: Regenerated.
      	* configure: Same.
      	* doc/Makefile.in: Same.
      
      From-SVN: r190768
      Benjamin Kosnik committed
    • Replace malloc with xmalloc · fabfa16b
      	* argv.c (dupargv): Replace malloc with xmalloc.  Don't check
      	xmalloc return.
      	(buildargv): Likewise.  Also replace strdup with xstrdup.
      	(expandargv): Don't check dupargv return.
      
      From-SVN: r190767
      H.J. Lu committed
    • Replace alloca with xmalloc/free · 55529d36
      	PR binutils/14526
      	* argv.c (buildargv): Replace alloca with xmalloc/free.
      
      From-SVN: r190766
      H.J. Lu committed
    • Daily bump. · 09ba405a
      From-SVN: r190765
      GCC Administrator committed
  2. 28 Aug, 2012 9 commits
    • re PR fortran/54389 ([F2003/F2008 difference] PURE functions and pointer dummy… · 033418dc
      re PR fortran/54389 ([F2003/F2008 difference] PURE functions and pointer 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
      Tobias Burnus committed
    • re PR fortran/54382 (gfortran show_locus: Invalid read of size 4) · a21d0595
      2012-08-28  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/54382
              * error.c (show_locus): Avoid out of bound access.
      
      From-SVN: r190752
      Tobias Burnus committed
    • re PR fortran/54384 (gfortran memory leaks) · 46f4f794
      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
      Tobias Burnus committed
    • ssa-dom-thread-3.c: Add -fno-short-enums. · 94c15c51
      	* gcc.dg/tree-ssa/ssa-dom-thread-3.c: Add -fno-short-enums.
      
      From-SVN: r190745
      Joey Ye committed
    • Fix ChangeLog formatting. · e005f903
      From-SVN: r190741
      Walter Lee committed
    • Fix some typos and coding style violations. · 3aa775d6
      	* 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
      Walter Lee committed
    • re PR fortran/54384 (gfortran memory leaks) · a433d31f
      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
      Tobias Burnus committed
    • Add support for the -mcmodel=MODEL flag on TILE-Gx. · 1773cd77
      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
      Walter Lee committed
    • Daily bump. · bebfb71b
      From-SVN: r190736
      GCC Administrator committed
  3. 27 Aug, 2012 17 commits
    • sched-deps.c (add_dependence_list_and_free): Simplify. · 8febe3fa
      	* 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
      Maxim Kuvyrkov committed
    • re PR target/46254 (ICE: in find_reloads, at reload.c:3806 (unable to generate… · 28591f4a
      re PR target/46254 (ICE: in find_reloads, at reload.c:3806 (unable to 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
      Uros Bizjak committed
    • re PR fortran/54384 (gfortran memory leaks) · d7920cf0
      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
      Tobias Burnus committed
    • Fix doc typo. · 655c5444
      	* doc/md.texi (TILE-Gx): Fix typo.
      
      From-SVN: r190729
      Walter Lee committed
    • re PR fortran/54384 (gfortran memory leaks) · 15a611c0
      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
      Tobias Burnus committed
    • Fix a typo in the mcount function_profiler. · 4b3fa92c
      	* config/tilegx/tilegx.c (tilegx_function_profiler): Fix typo.
      	config/tilepro/tilepro.c (tilepro_function_profiler): Ditto.
      
      From-SVN: r190726
      Walter Lee committed
    • Stop trying to represent the bfins instruction with the insv pattern, · 848c312c
      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
      Walter Lee committed
    • Properly set the latency of atomic ops to the approximate latency of a remote memory operation. · 9b0370aa
      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
      Walter Lee committed
    • * gdbinit.in: Fix syntax of skip command. · 865ea646
      From-SVN: r190721
      Andreas Schwab committed
    • ext_ins.c, [...]: Add NOMIPS16. · 5b51970b
      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
      Richard Sandiford committed
    • 20020620-1.c, [...]: Tighten regexps. · b6289055
      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
      Richard Sandiford committed
    • mips.exp: Use gcc-dg-runtest rather than dg-runtest. · 0c436cbd
      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
      Richard Sandiford committed
    • mips.c (mips_pic_call_symbol_from_set): Check for SYMBOL_REF SET_SRCs. · cb038fd2
      gcc/
      	* config/mips/mips.c (mips_pic_call_symbol_from_set): Check for
      	SYMBOL_REF SET_SRCs.
      
      From-SVN: r190717
      Richard Sandiford committed
    • mips.c (vr4130_align_insns): Don't simulate ghost instructions. · d8c51572
      gcc/
      	* config/mips/mips.c (vr4130_align_insns): Don't simulate
      	ghost instructions.  Assert that the required instructions exist.
      
      From-SVN: r190716
      Richard Sandiford committed
    • PR preprocessor/53469 - argument tokens of _Pragma miss virtual location · f3d25c65
      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
      Dodji Seketeli committed
    • re PR fortran/54384 (gfortran memory leaks) · c0782a40
      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
      Tobias Burnus committed
    • Add interfaces to retrieve random numbers in bulk. · 7b93bdde
      	* include/bits/random.h (uniform_int_distribution<>): Add __generate
      	and __generate_impl functions.
      	(uniform_real_distribution<>): Likewise.
      	(bernoulli_distribution): Likewise.
      	(geometric_distribution<>): Likewise.
      	(negative_binomial_distribution<>): Likewise.
      	(poisson_distribution<>): Likewise.
      	(exponential_distribution<>): Likewise.
      	(normal_distribution<>): Likewise.
      	(lognormal_distribution<>): Likewise.
      	(chi_squared_distribution<>): Likewise.
      	(cauchy_distribution<>): Likewise.
      	(fisher_f_distribution<>): Likewise.
      	(student_t_distribution<>): Likewise.
      	(gamma_distribution<>): Likewise.
      	(weibull_distribution<>): Likewise.
      	(extreme_value_distribution<>): Likewise.
      	(discrete_distribution<>): Likewise.
      	(piecewise_constant_distribution<>): Likewise.
      	(piecewise_linear_distribution<>): Likewise.
      	* include/bits/random.tcc (__detail::_Power_of_2): New function.
      	(uniform_int_distribution<>::__generate_impl): New function.
      	(uniform_real_distribution<>::__generate_impl): New function.
      	(bernoulli_distribution::__generate_impl): New function.
      	(geometric_distribution<>::__generate_impl): New function.
      	(negative_binomial_distribution<>::__generate_impl): New function.
      	(poisson_distribution<>::__generate_impl): New function.
      	(exponential_distribution<>::__generate_impl): New function.
      	(normal_distribution<>::__generate_impl): New function.
      	(lognormal_distribution<>::__generate_impl): New function.
      	(chi_squared_distribution<>::__generate_impl): New function.
      	(cauchy_distribution<>::__generate_impl): New function.
      	(fisher_f_distribution<>::__generate_impl): New function.
      	(student_t_distribution<>::__generate_impl): New function.
      	(gamma_distribution<>::__generate_impl): New function.
      	(weibull_distribution<>::__generate_impl): New function.
      	(extreme_value_distribution<>::__generate_impl): New function.
      	(discrete_distribution<>::__generate_impl): New function.
      	(piecewise_constant_distribution<>::__generate_impl): New function.
      	(piecewise_linear_distribution<>::__generate_impl): New function.
      
      From-SVN: r190712
      Ulrich Drepper committed