gcc.git
11 years agoPR libstdc++/54005 continued
Benjamin Kosnik [Thu, 30 Aug 2012 19:24:58 +0000 (19:24 +0000)]
PR libstdc++/54005 continued

2012-08-30  Benjamin Kosnik  <bkoz@redhat.com>

PR libstdc++/54005 continued
* include/std/atomic: Use __atomic_lock_free with
* include/bits/atomic_base.h: Same.

From-SVN: r190810

11 years agorandom.h (random_device): Remove 'return' from constructor.
Ulrich Drepper [Thu, 30 Aug 2012 16:33:09 +0000 (16:33 +0000)]
random.h (random_device): Remove 'return' from constructor.

* include/bits/random.h (random_device) [GLIBCXX_USE_RANDOM_TR1]:
Remove 'return' from constructor.

From-SVN: r190806

11 years agotestsuite_abi.cc (check_version): Add GLIBCXX_3.4.18.
Benjamin Kosnik [Thu, 30 Aug 2012 15:58:52 +0000 (15:58 +0000)]
testsuite_abi.cc (check_version): Add GLIBCXX_3.4.18.

2012-08-30  Benjamin Kosnik  <bkoz@redhat.com>

* testsuite/util/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.18.

From-SVN: r190805

11 years agore PR target/54252 (Bad alignment code generated for Neon loads)
Ramana Radhakrishnan [Thu, 30 Aug 2012 10:17:04 +0000 (10:17 +0000)]
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

11 years agoMissing CL entry
Ulrich Drepper [Thu, 30 Aug 2012 02:21:12 +0000 (02:21 +0000)]
Missing CL entry

From-SVN: r190796

11 years agoDaily bump.
GCC Administrator [Thu, 30 Aug 2012 00:18:21 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r190793

11 years agorandom.h (random_device): Move implementation to...
Ulrich Drepper [Wed, 29 Aug 2012 22:05:41 +0000 (22:05 +0000)]
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

11 years ago* cfg.c (dump_bb_info): Print a newline if there were no edges to dump.
Steven Bosscher [Wed, 29 Aug 2012 20:40:53 +0000 (20:40 +0000)]
* cfg.c (dump_bb_info): Print a newline if there were no edges to dump.

From-SVN: r190786

11 years agorevert: t-linux64 (MULTILIB_OSDIRNAMES): Change to use mapping style, add ../lib...
Chung-Lin Tang [Wed, 29 Aug 2012 19:12:12 +0000 (19:12 +0000)]
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

11 years agomips.h (TARGET_CPU_CPP_BUILTINS): Define __mips_synci if TARGET_SYNCI.
Richard Sandiford [Wed, 29 Aug 2012 18:57:49 +0000 (18:57 +0000)]
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

11 years agoAdd simd_fast_mersenne_twister_engine class.
Ulrich Drepper [Wed, 29 Aug 2012 18:43:08 +0000 (18:43 +0000)]
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

11 years agosh.opt (menable-tas): Rename to mtas.
Oleg Endo [Wed, 29 Aug 2012 18:41:52 +0000 (18:41 +0000)]
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

11 years agoiterators.md: New file.
Oleg Endo [Wed, 29 Aug 2012 18:40:09 +0000 (18:40 +0000)]
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

11 years agoipa-inline.h (estimate_edge_hints): Call do_estimate_edge_hints, not do_estimate_edge...
Martin Jambor [Wed, 29 Aug 2012 12:16:11 +0000 (14:16 +0200)]
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

11 years agomips.h (CRT_CALL_STATIC_FUNCTION): Add nomips16 asm directives, remove #ifndef __mips...
Chung-Lin Tang [Wed, 29 Aug 2012 09:33:49 +0000 (09:33 +0000)]
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

11 years agocrtfastmath.c (set_fast_math): Add 'nomips16' attribute.
Chung-Lin Tang [Wed, 29 Aug 2012 09:31:52 +0000 (09:31 +0000)]
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

11 years agofutex.h (sys_futex0): Change to static function with noinline, nomips16 attributes...
Chung-Lin Tang [Wed, 29 Aug 2012 09:29:55 +0000 (09:29 +0000)]
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

11 years agoPR libstdc++/54102, part 2
Benjamin Kosnik [Wed, 29 Aug 2012 04:44:10 +0000 (04:44 +0000)]
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

11 years ago*: Regenerate.
Benjamin Kosnik [Wed, 29 Aug 2012 02:09:55 +0000 (02:09 +0000)]
*: Regenerate.

2012-08-28  Benjamin Kosnik  <bkoz@redhat.com>

* doc/html/*: Regenerate.

From-SVN: r190770

11 years agore PR libstdc++/54102 (generated html vs. utf8)
Benjamin Kosnik [Wed, 29 Aug 2012 01:37:16 +0000 (01:37 +0000)]
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

11 years agoReplace malloc with xmalloc
H.J. Lu [Wed, 29 Aug 2012 01:03:21 +0000 (01:03 +0000)]
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

11 years agoReplace alloca with xmalloc/free
H.J. Lu [Wed, 29 Aug 2012 00:46:36 +0000 (00:46 +0000)]
Replace alloca with xmalloc/free

PR binutils/14526
* argv.c (buildargv): Replace alloca with xmalloc/free.

From-SVN: r190766

11 years agoDaily bump.
GCC Administrator [Wed, 29 Aug 2012 00:18:57 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r190765

11 years agore PR fortran/54389 ([F2003/F2008 difference] PURE functions and pointer dummy argume...
Tobias Burnus [Tue, 28 Aug 2012 18:18:11 +0000 (20:18 +0200)]
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

11 years agore PR fortran/54382 (gfortran show_locus: Invalid read of size 4)
Tobias Burnus [Tue, 28 Aug 2012 14:49:55 +0000 (16:49 +0200)]
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

11 years agore PR fortran/54384 (gfortran memory leaks)
Tobias Burnus [Tue, 28 Aug 2012 14:49:15 +0000 (16:49 +0200)]
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

11 years agossa-dom-thread-3.c: Add -fno-short-enums.
Joey Ye [Tue, 28 Aug 2012 09:51:11 +0000 (09:51 +0000)]
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

11 years agoFix ChangeLog formatting.
Walter Lee [Tue, 28 Aug 2012 07:00:10 +0000 (07:00 +0000)]
Fix ChangeLog formatting.

From-SVN: r190741

11 years agoFix some typos and coding style violations.
Walter Lee [Tue, 28 Aug 2012 06:09:45 +0000 (06:09 +0000)]
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

11 years agore PR fortran/54384 (gfortran memory leaks)
Tobias Burnus [Tue, 28 Aug 2012 05:35:15 +0000 (07:35 +0200)]
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

11 years agoAdd support for the -mcmodel=MODEL flag on TILE-Gx.
Walter Lee [Tue, 28 Aug 2012 05:25:35 +0000 (05:25 +0000)]
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

11 years agoDaily bump.
GCC Administrator [Tue, 28 Aug 2012 00:17:15 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r190736

11 years agosched-deps.c (add_dependence_list_and_free): Simplify.
Maxim Kuvyrkov [Mon, 27 Aug 2012 22:11:48 +0000 (22:11 +0000)]
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

11 years agore PR target/46254 (ICE: in find_reloads, at reload.c:3806 (unable to generate reload...
Uros Bizjak [Mon, 27 Aug 2012 21:13:07 +0000 (23:13 +0200)]
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

11 years agore PR fortran/54384 (gfortran memory leaks)
Tobias Burnus [Mon, 27 Aug 2012 20:51:52 +0000 (22:51 +0200)]
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

11 years agoFix doc typo.
Walter Lee [Mon, 27 Aug 2012 18:51:07 +0000 (18:51 +0000)]
Fix doc typo.

* doc/md.texi (TILE-Gx): Fix typo.

From-SVN: r190729

11 years agore PR fortran/54384 (gfortran memory leaks)
Tobias Burnus [Mon, 27 Aug 2012 18:47:57 +0000 (20:47 +0200)]
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

11 years agoFix a typo in the mcount function_profiler.
Walter Lee [Mon, 27 Aug 2012 18:35:39 +0000 (18:35 +0000)]
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

11 years agoStop trying to represent the bfins instruction with the insv pattern,
Walter Lee [Mon, 27 Aug 2012 18:16:34 +0000 (18:16 +0000)]
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

11 years agoProperly set the latency of atomic ops to the approximate latency of a remote memory...
Walter Lee [Mon, 27 Aug 2012 17:27:04 +0000 (17:27 +0000)]
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

11 years ago* gdbinit.in: Fix syntax of skip command.
Andreas Schwab [Mon, 27 Aug 2012 16:35:05 +0000 (16:35 +0000)]
* gdbinit.in: Fix syntax of skip command.

From-SVN: r190721

11 years agoext_ins.c, [...]: Add NOMIPS16.
Richard Sandiford [Mon, 27 Aug 2012 16:31:46 +0000 (16:31 +0000)]
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

11 years ago20020620-1.c, [...]: Tighten regexps.
Richard Sandiford [Mon, 27 Aug 2012 16:31:29 +0000 (16:31 +0000)]
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

11 years agomips.exp: Use gcc-dg-runtest rather than dg-runtest.
Richard Sandiford [Mon, 27 Aug 2012 16:27:50 +0000 (16:27 +0000)]
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

11 years agomips.c (mips_pic_call_symbol_from_set): Check for SYMBOL_REF SET_SRCs.
Richard Sandiford [Mon, 27 Aug 2012 16:25:47 +0000 (16:25 +0000)]
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

11 years agomips.c (vr4130_align_insns): Don't simulate ghost instructions.
Richard Sandiford [Mon, 27 Aug 2012 16:25:12 +0000 (16:25 +0000)]
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

11 years agoPR preprocessor/53469 - argument tokens of _Pragma miss virtual location
Dodji Seketeli [Mon, 27 Aug 2012 15:41:38 +0000 (15:41 +0000)]
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

11 years agore PR fortran/54384 (gfortran memory leaks)
Tobias Burnus [Mon, 27 Aug 2012 14:42:50 +0000 (16:42 +0200)]
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

11 years agoAdd interfaces to retrieve random numbers in bulk.
Ulrich Drepper [Mon, 27 Aug 2012 14:13:15 +0000 (14:13 +0000)]
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

11 years agorandom.h (mersenne_twister_engine): Don't inline discard here.
Ulrich Drepper [Mon, 27 Aug 2012 12:08:16 +0000 (12:08 +0000)]
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

11 years agore PR fortran/41093 (memory leaks with gfc_namespace)
Tobias Burnus [Mon, 27 Aug 2012 12:07:43 +0000 (14:07 +0200)]
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

11 years agore PR fortran/54370 (error: non-trivial conversion in unary operation)
Tobias Burnus [Mon, 27 Aug 2012 12:03:41 +0000 (14:03 +0200)]
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

11 years agoMAINTAINERS: Fix my email address.
Ulrich Drepper [Mon, 27 Aug 2012 12:00:32 +0000 (12:00 +0000)]
MAINTAINERS: Fix my email address.

        * MAINTAINERS: Fix my email address.

From-SVN: r190708

11 years agooptions.c (set_Wall): Don't set for -Wcompare-reals.
Tobias Burnus [Mon, 27 Aug 2012 08:20:59 +0000 (10:20 +0200)]
options.c (set_Wall): Don't set for -Wcompare-reals.

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

11 years agoDaily bump.
GCC Administrator [Mon, 27 Aug 2012 00:17:35 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r190706

11 years agomips.h (AVOID_CCMODE_COPIES): Update rationale for definition.
Richard Sandiford [Sun, 26 Aug 2012 19:31:15 +0000 (19:31 +0000)]
mips.h (AVOID_CCMODE_COPIES): Update rationale for definition.

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

11 years ago* btest-gcc.sh (TESTLOGS): Make gfortran.sum optional.
Hans-Peter Nilsson [Sun, 26 Aug 2012 19:30:44 +0000 (19:30 +0000)]
* btest-gcc.sh (TESTLOGS): Make gfortran.sum optional.

From-SVN: r190702

11 years agomips.c (mips_has_long_branch_p): New function, split out from...
Richard Sandiford [Sun, 26 Aug 2012 19:22:59 +0000 (19:22 +0000)]
mips.c (mips_has_long_branch_p): New function, split out from...

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

11 years agomips.c (r10k_safe_mem_expr_p): Use get_inner_reference.
Richard Sandiford [Sun, 26 Aug 2012 19:20:31 +0000 (19:20 +0000)]
mips.c (r10k_safe_mem_expr_p): Use get_inner_reference.

gcc/
* config/mips/mips.c (r10k_safe_mem_expr_p): Use get_inner_reference.

From-SVN: r190700

11 years agomips.c (mips_rtx_costs): Add costs for CINS.
Richard Sandiford [Sun, 26 Aug 2012 19:19:31 +0000 (19:19 +0000)]
mips.c (mips_rtx_costs): Add costs for CINS.

gcc/
* config/mips/mips.c (mips_rtx_costs): Add costs for CINS.

From-SVN: r190699

11 years agomips.c (mips_rtx_costs): Add missing COSTS_N_INSNS to the size cost of multiplication.
Richard Sandiford [Sun, 26 Aug 2012 19:17:33 +0000 (19:17 +0000)]
mips.c (mips_rtx_costs): Add missing COSTS_N_INSNS to the size cost of multiplication.

gcc/
* config/mips/mips.c (mips_rtx_costs): Add missing COSTS_N_INSNS
to the size cost of multiplication.

From-SVN: r190698

11 years agoscanasm.exp (scan-assembler-times_required_options): New proc.
Richard Sandiford [Sun, 26 Aug 2012 19:16:33 +0000 (19:16 +0000)]
scanasm.exp (scan-assembler-times_required_options): New proc.

gcc/testsuite/
* lib/scanasm.exp (scan-assembler-times_required_options): New proc.

From-SVN: r190697

11 years agore PR libffi/53014 (libffi failures on mips64-linux-gnu with soft-float)
Andrew Pinski [Sun, 26 Aug 2012 18:29:21 +0000 (18:29 +0000)]
re PR libffi/53014 (libffi failures on mips64-linux-gnu with soft-float)

2012-08-26  Andrew Pinski  <apinski@cavium.com>

PR libffi/53014
* src/mips/ffi.c (ffi_prep_closure_loc): Allow n32 with soft-float and n64 with
soft-float.

From-SVN: r190696

11 years agoinstall.texi (Specific): Clarify what needs to be added to this section.
Gerald Pfeifer [Sun, 26 Aug 2012 17:31:57 +0000 (17:31 +0000)]
install.texi (Specific): Clarify what needs to be added to this section.

* doc/install.texi (Specific): Clarify what needs to be added to
this section.

From-SVN: r190695

11 years agore PR libstdc++/54376 (incorrect complaint about redefinition)
Marc Glisse [Sun, 26 Aug 2012 17:22:43 +0000 (19:22 +0200)]
re PR libstdc++/54376 (incorrect complaint about redefinition)

2012-08-26  Marc Glisse  <marc.glisse@inria.fr>
    Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/54376
* include/bits/random.h (lognormal_distribution<>::operator==,
gamma_distribution<>::operator==,
chi_squared_distribution<>::operator==,
fisher_f_distribution<>::operator==,
student_t_distribution<>::operator==,
binomial_distribution<>::operator==,
negative_binomial_distribution<>::operator==,
poisson_distribution<>::operator==): Change inline friend definition
to non-template.
* testsuite/26_numerics/random/binomial_distribution/requirements/
explicit_instantiation/1.cc: New.
* testsuite/26_numerics/random/cauchy_distribution/requirements/
explicit_instantiation/1.cc: Likewise.
* testsuite/26_numerics/random/chi_squared_distribution/
requirements/explicit_instantiation/1.cc: Likewise.
* testsuite/26_numerics/random/discrete_distribution/requirements/
explicit_instantiation/1.cc: Likewise.
* testsuite/26_numerics/random/exponential_distribution/
requirements/explicit_instantiation/1.cc: Likewise.
* testsuite/26_numerics/random/extreme_value_distribution/
requirements/explicit_instantiation/1.cc: Likewise.
* testsuite/26_numerics/random/fisher_f_distribution/requirements/
explicit_instantiation/1.cc: Likewise.
* testsuite/26_numerics/random/gamma_distribution/requirements/
explicit_instantiation/1.cc: Likewise.
* testsuite/26_numerics/random/geometric_distribution/requirements/
explicit_instantiation/1.cc: Likewise.
* testsuite/26_numerics/random/lognormal_distribution/requirements/
explicit_instantiation/1.cc: Likewise.
* testsuite/26_numerics/random/negative_binomial_distribution/
requirements/explicit_instantiation/1.cc: Likewise.
* testsuite/26_numerics/random/normal_distribution/requirements/
explicit_instantiation/1.cc: Likewise.
* testsuite/26_numerics/random/piecewise_constant_distribution/
requirements/explicit_instantiation/1.cc: Likewise.
* testsuite/26_numerics/random/piecewise_linear_distribution/
requirements/explicit_instantiation/1.cc: Likewise.
* testsuite/26_numerics/random/poisson_distribution/requirements/
explicit_instantiation/1.cc: Likewise.
* testsuite/26_numerics/random/student_t_distribution/requirements/
explicit_instantiation/1.cc: Likewise.
* testsuite/26_numerics/random/uniform_int_distribution/
requirements/explicit_instantiation/1.cc: Likewise.
* testsuite/26_numerics/random/uniform_real_distribution/
requirements/explicit_instantiation/1.cc: Likewise.
* testsuite/26_numerics/random/weibull_distribution/requirements/
explicit_instantiation/1.cc: Likewise.

Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r190694

11 years agotm.texi.in (Misc): Move descriptions of NO_DOLLAR_IN_LABEL and NO_DOT_IN_LABEL from...
Gerald Pfeifer [Sun, 26 Aug 2012 16:43:20 +0000 (16:43 +0000)]
tm.texi.in (Misc): Move descriptions of NO_DOLLAR_IN_LABEL and NO_DOT_IN_LABEL from here...

* doc/tm.texi.in (Misc): Move descriptions of NO_DOLLAR_IN_LABEL
and NO_DOT_IN_LABEL from here...
(Label Output): ...to here.
* doc/tm.texi: Regenerate.

From-SVN: r190693

11 years ago* doc/invoke.texi (C++ Dialect Options): Add missing space.
Gerald Pfeifer [Sun, 26 Aug 2012 15:36:33 +0000 (15:36 +0000)]
* doc/invoke.texi (C++ Dialect Options): Add missing space.

From-SVN: r190692

11 years ago* testsuite/30_threads/async/54297.cc: Add dg-require-nanosleep.
Jonathan Wakely [Sun, 26 Aug 2012 14:59:20 +0000 (14:59 +0000)]
* testsuite/30_threads/async/54297.cc: Add dg-require-nanosleep.

From-SVN: r190691

11 years agoDon't set HOST_LIB_PATH_bfd/HOST_LIB_PATH_opcodes
H.J. Lu [Sun, 26 Aug 2012 14:40:22 +0000 (14:40 +0000)]
Don't set HOST_LIB_PATH_bfd/HOST_LIB_PATH_opcodes

PR binutils/4970
* Makefile.def (host_modules): Rmove lib_path=.libs from bfd
and opcodes.
* Makefile.in: Regenerated.

From-SVN: r190689

11 years agoMove config entries to ChangeLog
H.J. Lu [Sun, 26 Aug 2012 14:26:57 +0000 (07:26 -0700)]
Move config entries to ChangeLog

From-SVN: r190688

11 years agoFix a typo in ChangeLog
H.J. Lu [Sun, 26 Aug 2012 14:06:56 +0000 (07:06 -0700)]
Fix a typo in ChangeLog

From-SVN: r190686

11 years agore PR libstdc++/54297 ([C++11] Segmentation fault with std::async and released shared...
Jonathan Wakely [Sun, 26 Aug 2012 13:49:44 +0000 (13:49 +0000)]
re PR libstdc++/54297 ([C++11] Segmentation fault with std::async and released shared state)

PR libstdc++/54297
* src/c++11/future.cc (~_Async_state_common): Move to...
* src/c++11/compatibility-thread-c++0x.cc (~_Async_state_common):
Here.
(_GLIBCXX_ABI_COMPAT_ASYNC): Rename to _GLIBCXX_ASYNC_ABI_COMPAT.
* include/std/future (_GLIBCXX_ABI_COMPAT_ASYNC): Likewise.

From-SVN: r190685

11 years agocloog.m4 (CLOOG_INIT_FLAGS): Use = instead of == in test.
Art Haas [Sun, 26 Aug 2012 12:20:01 +0000 (12:20 +0000)]
cloog.m4 (CLOOG_INIT_FLAGS): Use = instead of == in test.

* cloog.m4 (CLOOG_INIT_FLAGS): Use = instead of == in test.
* configure: Regenerate.

From-SVN: r190684

11 years ago* g++.dg/cpp0x/fntmpdefarg3.C: New.
Jason Merrill [Sun, 26 Aug 2012 03:50:56 +0000 (23:50 -0400)]
* g++.dg/cpp0x/fntmpdefarg3.C: New.

From-SVN: r190683

11 years ago* btest-gcc.sh (TESTLOGS): Add libmudflap.sum, if it exists.
Hans-Peter Nilsson [Sun, 26 Aug 2012 01:21:14 +0000 (01:21 +0000)]
* btest-gcc.sh (TESTLOGS): Add libmudflap.sum, if it exists.

From-SVN: r190682

11 years agoDaily bump.
GCC Administrator [Sun, 26 Aug 2012 00:17:49 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r190680

11 years agoAdd testcase author to ChangeLog.
Jonathan Wakely [Sun, 26 Aug 2012 00:14:59 +0000 (01:14 +0100)]
Add testcase author to ChangeLog.

From-SVN: r190677

11 years agore PR libstdc++/54351 (~unique_ptr() should not set stored pointer to null)
Jonathan Wakely [Sun, 26 Aug 2012 00:12:40 +0000 (00:12 +0000)]
re PR libstdc++/54351 (~unique_ptr() should not set stored pointer to null)

PR libstdc++/54351
* include/bits/unique_ptr.h (unique_ptr<T>::~unique_ptr): Do not use
reset().
(unique_ptr<T[]>::~unique_ptr()): Likewise.
* testsuite/20_util/unique_ptr/54351.cc: New.
* testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust dg-error
line numbers.

From-SVN: r190676

11 years agore PR rtl-optimization/54088 (ICE at dwarf2out.c:20632 with -O1 -g)
Eric Botcazou [Sat, 25 Aug 2012 23:21:53 +0000 (23:21 +0000)]
re PR rtl-optimization/54088 (ICE at dwarf2out.c:20632 with -O1 -g)

PR rtl-optimization/54088
* jump.c (delete_related_insns): Robustify latest change.

From-SVN: r190674

11 years agore PR libstdc++/54297 ([C++11] Segmentation fault with std::async and released shared...
Jonathan Wakely [Sat, 25 Aug 2012 23:01:40 +0000 (23:01 +0000)]
re PR libstdc++/54297 ([C++11] Segmentation fault with std::async and released shared state)

PR libstdc++/54297
* include/std/future (~_Async_state_impl): Join thread before
derived class members are destroyed.
(~_Async_state_common): Only define non-trivial destructor when
included from future.cc for ABI compatibility reasons.
* src/c++11/future.cc (_GLIBCXX_ABI_COMPAT_ASYNC): Define.
* testsuite/30_threads/async/54297.cc: New.

From-SVN: r190672

11 years ago* doc/extend.texi (__atomic Builtins): Remove space before comma.
Ricardo Catalinas Jiménez [Sat, 25 Aug 2012 22:55:27 +0000 (22:55 +0000)]
* doc/extend.texi (__atomic Builtins): Remove space before comma.

From-SVN: r190671

11 years agomips.h (CASE_VECTOR_MODE): For not TARGET_MIPS16_SHORT_JUMP_TABLES use ptr_mode.
Richard Sandiford [Sat, 25 Aug 2012 21:33:15 +0000 (21:33 +0000)]
mips.h (CASE_VECTOR_MODE): For not TARGET_MIPS16_SHORT_JUMP_TABLES use ptr_mode.

2012-08-25  Richard Sandiford  <rdsandiford@googlemail.com>
            Andrew Pinski  <apinski@cavium.com>

* config/mips/mips.h (CASE_VECTOR_MODE): For not
TARGET_MIPS16_SHORT_JUMP_TABLES use ptr_mode.
(CASE_VECTOR_SHORTEN_MODE): Likewise.

Co-Authored-By: Andrew Pinski <apinski@cavium.com>
From-SVN: r190670

11 years agoREADME: Also refer to the online installation instructions.
Křištof Želechovski [Sat, 25 Aug 2012 20:48:20 +0000 (22:48 +0200)]
README: Also refer to the online installation instructions.

* INSTALL/README: Also refer to the online installation
instructions.

From-SVN: r190669

11 years agore PR libstdc++/54248 (Comment in standard library header talks about boost)
Jonathan Wakely [Sat, 25 Aug 2012 18:51:53 +0000 (18:51 +0000)]
re PR libstdc++/54248 (Comment in standard library header talks about boost)

PR libstdc++/54248
* include/bits/concept_check.h: Replace references to boost
namespace.

From-SVN: r190668

11 years agoi386.h (FP_REG_P): Remove macro.
Uros Bizjak [Sat, 25 Aug 2012 17:16:05 +0000 (19:16 +0200)]
i386.h (FP_REG_P): Remove macro.

* config/i386/i386.h (FP_REG_P): Remove macro.
(FP_REGNO_P): Ditto.
(HARD_REGNO_NREGS): Use STACK_REGNO_P instead of FP_REGNO_P.
(HARD_REGNO_NREGS_HAS_PADDING): Ditto.
(ANY_FP_REGNO_P): Ditto.
(HARD_REGNO_RENAME_OK): Use STACK_REGNO_P.
* config/i386/i386.c (output_387_ffreep): Use STACK_REGNO_P
instead of FP_REGNO_P.
(ix86_hard_regno_mode_ok): Ditto.
* config/i386/predicates.md (fp_register_operand): Ditto.
(register_and_not_fp_reg_operand): Ditto.
* config/i386/sync.md (atomic_loaddi_fpu): Use STACK_REG_P instead
of FP_REG_P.

* reg-stack.c (get_true_reg): Use STACK_REG_P instead of FP_REG_P.

From-SVN: r190667

11 years ago* ChangeLog: Fix whitespace.
Uros Bizjak [Sat, 25 Aug 2012 15:52:23 +0000 (17:52 +0200)]
* ChangeLog: Fix whitespace.

From-SVN: r190666

11 years agore PR c++/51421 ([c++0x] ICE with invalid use of auto)
Paolo Carlini [Sat, 25 Aug 2012 09:53:30 +0000 (09:53 +0000)]
re PR c++/51421 ([c++0x] ICE with invalid use of auto)

/cp
2012-08-25  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51421
* decl2.c (mark_used): Consistently return false after errors
about uses before deduction of auto.
* semantics.c (finish_id_expression): Check mark_used return
value and return error_mark_node in case of failure.

/testsuite
2012-08-25  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51421
* g++.dg/cpp0x/auto34.C: New.

From-SVN: r190665

11 years agoPR c++/51213 (again)
Jason Merrill [Sat, 25 Aug 2012 03:30:11 +0000 (23:30 -0400)]
PR c++/51213 (again)

PR c++/51213 (again)
* pt.c (deduction_tsubst_fntype): Remove.
(fn_type_unification): Check deduction depth and call
instantiate_template here.  Handle default argument access checks.
(determine_specialization): Suppress access control.
(tsubst_decl): Check for excessive deduction depth.
(recheck_decl_substitution): Make sure access control is on.
(type_unification_real): Don't mess with access deferring here.
(get_bindings): Adjust for fn_type_unification return type.
* call.c (enum rejection_reason_code): Drop rr_template_instantiation.
(template_instantiation_rejection): Remove.
(struct rejection_reason): Change targs to num_targs.
(template_unification_rejection, print_z_candidate): Adjust.
(add_template_candidate_real): Adjust for fn_type_unification change.
* class.c (resolve_address_of_overloaded_function): Likewise.
* cp-tree.h: Adjust declaration.

From-SVN: r190664

11 years agoprint-tree.c (print_node): Don't check TREE_LANG_FLAG_* on TREE_VEC or SSA_NAME.
Jason Merrill [Sat, 25 Aug 2012 02:29:00 +0000 (22:29 -0400)]
print-tree.c (print_node): Don't check TREE_LANG_FLAG_* on TREE_VEC or SSA_NAME.

* print-tree.c (print_node): Don't check TREE_LANG_FLAG_*
on TREE_VEC or SSA_NAME.

From-SVN: r190663

11 years agopt.c (tsubst_default_argument): Indicate where the default argument is being instanti...
Jason Merrill [Sat, 25 Aug 2012 02:27:27 +0000 (22:27 -0400)]
pt.c (tsubst_default_argument): Indicate where the default argument is being instantiated for.

* pt.c (tsubst_default_argument): Indicate where the default
argument is being instantiated for.
(tsubst_expr): Restore previous location.
(tsubst_copy_and_build): Set and restore location.
* call.c (build_new_method_call_1): Remember location of call.
* semantics.c (finish_call_expr): Here too.
* parser.c (cp_parser_omp_for_loop): Remember the location of the
increment expression.

From-SVN: r190662

11 years agoDaily bump.
GCC Administrator [Sat, 25 Aug 2012 00:17:26 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r190661

11 years agore PR c/54363 (ICE when compiling malformed struct initializers)
Jakub Jelinek [Fri, 24 Aug 2012 21:46:17 +0000 (23:46 +0200)]
re PR c/54363 (ICE when compiling malformed struct initializers)

PR c/54363
* gimplify.c (optimize_compound_literals_in_ctor): Only recurse
if init is a CONSTRUCTOR.

* gcc.dg/pr54363.c: New test.

From-SVN: r190657

11 years agore PR c/54355 (ICE on invalid code in switch statement)
Jakub Jelinek [Fri, 24 Aug 2012 21:45:22 +0000 (23:45 +0200)]
re PR c/54355 (ICE on invalid code in switch statement)

PR c/54355
* c-decl.c (c_parser_label): Pass true as nested and fix up comments
for nested and empty_ok arguments in the call to
c_parser_declaration_or_fndef.

* gcc.dg/pr54355.c: New test.

From-SVN: r190656

11 years agotree-ssa-live.c (dump_var_map): Do not dump the partition map of virtual operands.
Steven Bosscher [Fri, 24 Aug 2012 20:25:42 +0000 (20:25 +0000)]
tree-ssa-live.c (dump_var_map): Do not dump the partition map of virtual operands.

* tree-ssa-live.c (dump_var_map): Do not dump the partition
map of virtual operands.

From-SVN: r190655

11 years agoSync plugin-api.h with gold patch : http://sourceware.org/ml/binutils/2012-08/msg0044...
Sriraman Tallam [Fri, 24 Aug 2012 19:07:28 +0000 (19:07 +0000)]
Sync plugin-api.h with gold patch : sourceware.org/ml/binutils/2012-08/msg00447.html

* plugin-api.h (ld_plugin_allow_unique_segment_for_sections):
New interface.
(ld_plugin_unique_segment_for_sections): New interface.
(LDPT_ALLOW_UNIQUE_SEGMENT_FOR_SECTIONS): New enum val.
(LDPT_UNIQUE_SEGMENT_FOR_SECTIONS): New enum val.
(tv_allow_unique_segment_for_sections): New member.
(tv_unique_segment_for_sections): New member.

From-SVN: r190654

11 years agopt.c (resolve_overloaded_unification): Use coerce_template_parms instead of get_bindings.
Jason Merrill [Fri, 24 Aug 2012 18:58:00 +0000 (14:58 -0400)]
pt.c (resolve_overloaded_unification): Use coerce_template_parms instead of get_bindings.

* pt.c (resolve_overloaded_unification): Use coerce_template_parms
instead of get_bindings.
(resolve_nondeduced_context): Likewise.

From-SVN: r190653

11 years agopt.c (register_specialization): Correct argument to check_specialization_namespace.
Jason Merrill [Fri, 24 Aug 2012 18:57:50 +0000 (14:57 -0400)]
pt.c (register_specialization): Correct argument to check_specialization_namespace.

* pt.c (register_specialization): Correct argument to
check_specialization_namespace.
(determine_specialization): Don't consider members of
unspecialized types.

From-SVN: r190652

11 years agoi386.c (ia32_multipass_dfa_lookahead): Add case for Atom processor.
Yuri Rumyantsev [Fri, 24 Aug 2012 15:36:02 +0000 (15:36 +0000)]
i386.c (ia32_multipass_dfa_lookahead): Add case for Atom processor.

        * config/i386/i386.c (ia32_multipass_dfa_lookahead) : Add
        case for Atom processor.

From-SVN: r190649

11 years agodwarf2out.c (gen_producer_string): Omit command line switch if CL_NO_DWARF_RECORD...
Simon Baldwin [Fri, 24 Aug 2012 14:58:06 +0000 (14:58 +0000)]
dwarf2out.c (gen_producer_string): Omit command line switch if CL_NO_DWARF_RECORD flag set.

gcc/ChangeLog
* dwarf2out.c (gen_producer_string): Omit command line switch if
CL_NO_DWARF_RECORD flag set.
* opts.h (CL_NO_DWARF_RECORD): New.
* opt-functions.awk (switch_flags): Add NoDWARFRecord.
* doc/options.texi: Document NoDWARFRecord option flag.

gcc/fortran/ChangeLog
* lang.opt (-cpp=): Mark flag NoDWARFRecord.

From-SVN: r190648

11 years agoAllow arg_pointer_rtx/frame_pointer_rtx for based_loc_descr
H.J. Lu [Fri, 24 Aug 2012 13:21:55 +0000 (13:21 +0000)]
Allow arg_pointer_rtx/frame_pointer_rtx for based_loc_descr

gcc/

PR debug/52857
* dwarf2out.c (mem_loc_descriptor): Allow arg_pointer_rtx and
frame_pointer_rtx for based_loc_descr.

gcc/testsuite/

PR debug/52857
* gcc.target/i386/pr52857-1.c: New.
* gcc.target/i386/pr52857-2.c: Likewise.

From-SVN: r190647