Commit Graph

118686 Commits

Author SHA1 Message Date
Ramana Radhakrishnan
e3783e8274 re PR target/54252 (Bad alignment code generated for Neon loads)
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-30 10:17:04 +00:00
Ulrich Drepper
d53591084b Missing CL entry
From-SVN: r190796
2012-08-30 02:21:12 +00:00
GCC Administrator
3248bfed32 Daily bump.
From-SVN: r190793
2012-08-30 00:18:21 +00:00
Ulrich Drepper
a8c3f4c972 random.h (random_device): Move implementation to...
* include/bits/random.h (random_device): Move implementation to...
	* src/c++11/random.cc: ...here.  New file.
	* config/abi/pre/gnu.ver: Add new version GLIBCXX_3.4.18.  Export
	std::random_device::* symbols.
	* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Generated.
	* src/c++11/Makefile.am (sources): Add random.cc.
	* src/c++11/Makefile.in: Regenerated.

From-SVN: r190787
2012-08-29 22:05:41 +00:00
Steven Bosscher
1dd5907e5c * cfg.c (dump_bb_info): Print a newline if there were no edges to dump.
From-SVN: r190786
2012-08-29 20:40:53 +00:00
Chung-Lin Tang
80a676b7bf revert: t-linux64 (MULTILIB_OSDIRNAMES): Change to use mapping style, add ../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-29 19:12:12 +00:00
Richard Sandiford
166c02bde9 mips.h (TARGET_CPU_CPP_BUILTINS): Define __mips_synci if TARGET_SYNCI.
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-29 18:57:49 +00:00
Ulrich Drepper
1860430ab5 Add simd_fast_mersenne_twister_engine class.
* 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
2012-08-29 18:43:08 +00:00
Oleg Endo
487ebcbff5 sh.opt (menable-tas): Rename to mtas.
* 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-29 18:41:52 +00:00
Oleg Endo
7fa4bf9bf9 iterators.md: New file.
* 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-29 18:40:09 +00:00
Martin Jambor
de99ac704f ipa-inline.h (estimate_edge_hints): Call do_estimate_edge_hints, not 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-29 14:16:11 +02:00
Chung-Lin Tang
1274718f64 mips.h (CRT_CALL_STATIC_FUNCTION): Add nomips16 asm directives, remove #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-29 09:33:49 +00:00
Chung-Lin Tang
867a834534 crtfastmath.c (set_fast_math): Add 'nomips16' attribute.
2012-08-29  Chung-Lin Tang  <cltang@codesourcery.com>

	libgcc/
	* config/mips/crtfastmath.c (set_fast_math): Add 'nomips16'
	attribute.

From-SVN: r190773
2012-08-29 09:31:52 +00:00
Chung-Lin Tang
c24dbebb44 futex.h (sys_futex0): Change to static function with noinline, nomips16 attributes under MIPS16.
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
2012-08-29 09:29:55 +00:00
Benjamin Kosnik
27f36b7837 PR libstdc++/54102, part 2
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
2012-08-29 04:44:10 +00:00
Benjamin Kosnik
6247d6df14 *: Regenerate.
2012-08-28  Benjamin Kosnik  <bkoz@redhat.com>

	* doc/html/*: Regenerate.

From-SVN: r190770
2012-08-29 02:09:55 +00:00
Benjamin Kosnik
8d24c97565 re PR libstdc++/54102 (generated html vs. utf8)
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
2012-08-29 01:37:16 +00:00
H.J. Lu
fabfa16b37 Replace malloc with xmalloc
* 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
2012-08-28 18:03:21 -07:00
H.J. Lu
55529d369c Replace alloca with xmalloc/free
PR binutils/14526
	* argv.c (buildargv): Replace alloca with xmalloc/free.

From-SVN: r190766
2012-08-28 17:46:36 -07:00
GCC Administrator
09ba405a48 Daily bump.
From-SVN: r190765
2012-08-29 00:18:57 +00:00
Tobias Burnus
033418dcde 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
2012-08-28 20:18:11 +02:00
Tobias Burnus
a21d0595b4 re PR fortran/54382 (gfortran show_locus: Invalid read of size 4)
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-28 16:49:55 +02:00
Tobias Burnus
46f4f79483 re PR fortran/54384 (gfortran memory leaks)
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-28 16:49:15 +02:00
Joey Ye
94c15c51f9 ssa-dom-thread-3.c: Add -fno-short-enums.
* gcc.dg/tree-ssa/ssa-dom-thread-3.c: Add -fno-short-enums.

From-SVN: r190745
2012-08-28 09:51:11 +00:00
Walter Lee
e005f90374 Fix ChangeLog formatting.
From-SVN: r190741
2012-08-28 07:00:10 +00:00
Walter Lee
3aa775d631 Fix some typos and coding style violations.
* 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-28 06:09:45 +00:00
Tobias Burnus
a433d31f14 re PR fortran/54384 (gfortran memory leaks)
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-28 07:35:15 +02:00
Walter Lee
1773cd776a Add support for the -mcmodel=MODEL flag on TILE-Gx.
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-28 05:25:35 +00:00
GCC Administrator
bebfb71bf4 Daily bump.
From-SVN: r190736
2012-08-28 00:17:15 +00:00
Maxim Kuvyrkov
8febe3fad2 sched-deps.c (add_dependence_list_and_free): Simplify.
* 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-27 22:11:48 +00:00
Uros Bizjak
28591f4a8c 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
2012-08-27 23:13:07 +02:00
Tobias Burnus
d7920cf071 re PR fortran/54384 (gfortran memory leaks)
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-27 22:51:52 +02:00
Walter Lee
655c54442d Fix doc typo.
* doc/md.texi (TILE-Gx): Fix typo.

From-SVN: r190729
2012-08-27 18:51:07 +00:00
Tobias Burnus
15a611c064 re PR fortran/54384 (gfortran memory leaks)
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-27 20:47:57 +02:00
Walter Lee
4b3fa92c24 Fix a typo in the mcount function_profiler.
* config/tilegx/tilegx.c (tilegx_function_profiler): Fix typo.
	config/tilepro/tilepro.c (tilepro_function_profiler): Ditto.

From-SVN: r190726
2012-08-27 18:35:39 +00:00
Walter Lee
848c312cab Stop trying to represent the bfins instruction with the insv pattern,
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-27 18:16:34 +00:00
Walter Lee
9b0370aa4b Properly set the latency of atomic ops to the approximate latency of a 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 17:27:04 +00:00
Andreas Schwab
865ea646b4 * gdbinit.in: Fix syntax of skip command.
From-SVN: r190721
2012-08-27 16:35:05 +00:00
Richard Sandiford
5b51970b39 ext_ins.c, [...]: Add NOMIPS16.
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-27 16:31:46 +00:00
Richard Sandiford
b628905531 20020620-1.c, [...]: Tighten regexps.
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-27 16:31:29 +00:00
Richard Sandiford
0c436cbd61 mips.exp: Use gcc-dg-runtest rather than dg-runtest.
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-27 16:27:50 +00:00
Richard Sandiford
cb038fd20d mips.c (mips_pic_call_symbol_from_set): Check for SYMBOL_REF SET_SRCs.
gcc/
	* config/mips/mips.c (mips_pic_call_symbol_from_set): Check for
	SYMBOL_REF SET_SRCs.

From-SVN: r190717
2012-08-27 16:25:47 +00:00
Richard Sandiford
d8c5157261 mips.c (vr4130_align_insns): Don't simulate ghost instructions.
gcc/
	* config/mips/mips.c (vr4130_align_insns): Don't simulate
	ghost instructions.  Assert that the required instructions exist.

From-SVN: r190716
2012-08-27 16:25:12 +00:00
Dodji Seketeli
f3d25c6570 PR preprocessor/53469 - argument tokens of _Pragma miss virtual location
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-27 17:41:38 +02:00
Tobias Burnus
c0782a4002 re PR fortran/54384 (gfortran memory leaks)
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-27 16:42:50 +02:00
Ulrich Drepper
7b93bdde91 Add interfaces to retrieve random numbers in bulk.
* 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
2012-08-27 14:13:15 +00:00
Ulrich Drepper
b668e41af6 random.h (mersenne_twister_engine): Don't inline discard here.
* include/bits/random.h (mersenne_twister_engine): Don't inline
	discard here.  New member function _M_gen_rand.
	* include/bits/random.tcc (mersenne_twister_engine<>::_M_gen_rand):
	New function.  Extracted from operator().
	(mersenne_twister_engine<>::discard): New implementation which
	skips in large steps.
	(mersenne_twister_engine<>::operator()): Use _M_gen_rand.

From-SVN: r190711
2012-08-27 12:08:16 +00:00
Tobias Burnus
6f79f4d1d6 re PR fortran/41093 (memory leaks with gfc_namespace)
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-27 14:07:43 +02:00
Tobias Burnus
1d6368551e re PR fortran/54370 (error: non-trivial conversion in unary operation)
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-27 14:03:41 +02:00
Ulrich Drepper
6c513d43fb MAINTAINERS: Fix my email address.
* MAINTAINERS: Fix my email address.

From-SVN: r190708
2012-08-27 12:00:32 +00:00