gcc.git
11 years agoelf.c: Rename all Elf typedefs to start with b_elf, and be all lower case.
Ian Lance Taylor [Wed, 10 Oct 2012 19:59:00 +0000 (19:59 +0000)]
elf.c: Rename all Elf typedefs to start with b_elf, and be all lower case.

* elf.c: Rename all Elf typedefs to start with b_elf, and be all
lower case.

From-SVN: r192331

11 years agomips32-dsp-accinit-2.c: Fix test description.
Richard Sandiford [Wed, 10 Oct 2012 19:54:07 +0000 (19:54 +0000)]
mips32-dsp-accinit-2.c: Fix test description.

gcc/testsuite/
* gcc.target/mips/mips32-dsp-accinit-2.c: Fix test description.

From-SVN: r192329

11 years agore PR fortran/54878 (libgfortran issues found by the Coverity scanner)
Tobias Burnus [Wed, 10 Oct 2012 18:42:34 +0000 (20:42 +0200)]
re PR fortran/54878 (libgfortran issues found by the Coverity scanner)

2012-10-10  Tobias Burnus  <burnus@net-b.de>

PR fortran/54878
* io/unix.c (tempfile_open): Set umask before calling mkstemp.

From-SVN: r192325

11 years agosfp-machine.h (FP_RND_NEAREST, [...]): Move to ...
Uros Bizjak [Wed, 10 Oct 2012 18:35:32 +0000 (20:35 +0200)]
sfp-machine.h (FP_RND_NEAREST, [...]): Move to ...

* config/i386/sfp-machine.h (FP_RND_NEAREST, FP_RND_ZERO, FP_RND_PINF,
FP_RND_MINF, FP_RND_MASK, FP_INIT_ROUNDMODE, _FP_DECL_EX): Move to ...
* config/i386/32/sfp-machine.h: ... here.
* config/i386/64/sfp-machine.h (FP_RND_NEAREST, FP_RND_ZERO,
FP_RND_PINF, FP_RND_MINF, FP_RND_MASK, FP_INIT_ROUNDMODE, _FP_DECL_EX):
New defines.

From-SVN: r192324

11 years agore PR tree-optimization/54877 (ICE: tree check: expected ssa_name, have real_cst...
Jakub Jelinek [Wed, 10 Oct 2012 17:47:05 +0000 (19:47 +0200)]
re PR tree-optimization/54877 (ICE: tree check: expected ssa_name, have real_cst in copy_ssa_name_fn, at tree-ssanames.c:335)

PR tree-optimization/54877
* tree-vect-loop.c (vect_is_simple_reduction_1): For MINUS_EXPR
use make_ssa_name instead of copy_ssa_name.

* gcc.dg/torture/pr54877.c: New test.

From-SVN: r192322

11 years agoMove tests written for pr53397 from gcc.dg to gcc.target/i386
Venkataramanan Kumar [Wed, 10 Oct 2012 15:31:27 +0000 (15:31 +0000)]
Move tests written for pr53397 from gcc.dg to gcc.target/i386

From-SVN: r192318

11 years agolto-streamer-in.c (lto_input_location_bitpack): Rename to ...
Richard Biener [Wed, 10 Oct 2012 14:27:59 +0000 (14:27 +0000)]
lto-streamer-in.c (lto_input_location_bitpack): Rename to ...

2012-10-10  Richard Biener  <rguenther@suse.de>

* lto-streamer-in.c (lto_input_location_bitpack): Rename to ...
(lto_input_location): ... this.  Kill original.
(input_eh_region): Adjust.
(input_struct_function_base): Likewise.
(lto_read_tree): Likewise.
* lto-streamer-out.c (lto_output_location_bitpack): Rename to ...
(lto_output_location): ... this.  Kill original.
(lto_write_tree): Adjust.
(output_eh_region): Likewise.
(output_struct_function_base): Likewise.
* lto-streamer.c (lto_streamer_hooks_init): Initialize location
hooks.
* lto-streamer.h (lto_input_location): Adjust prototype.
(lto_output_location): Likewise.
* streamer-hooks.h (struct streamer_hooks): Adjust prototype
of input_location and output_location hooks.
(stream_input_location): New define.
(stream_output_location): Likewise.
* tree-streamer-in.c (unpack_ts_block_value_fields): Adjust.
(unpack_value_fields): Likewise.
(streamer_read_tree_bitfields): Likewise.
(lto_input_ts_decl_minimal_tree_pointers): Likewise.
(lto_input_ts_exp_tree_pointers): Likewise.
(lto_input_ts_block_tree_pointers): Likewise.
* tree-streamer-out.c (pack_ts_block_value_fields): Adjust.
(streamer_pack_tree_bitfields): Likewise.
(write_ts_decl_minimal_tree_pointers): Likewise.
(write_ts_exp_tree_pointers): Likewise.
(write_ts_block_tree_pointers): Likewise.
* gimple-streamer-in.c (input_phi): Adjust.
(input_gimple_stmt): Likewise.
* gimple-streamer-out.c (output_phi): Adjust.
(output_gimple_stmt): Likewise.
* tree-streamer.h (streamer_read_tree_bitfields): Adjust prototype.
(streamer_pack_tree_bitfields): Likewise.

From-SVN: r192317

11 years agopr54782.c: Require effective target pthread.
Greta Yorsh [Wed, 10 Oct 2012 14:05:15 +0000 (15:05 +0100)]
pr54782.c: Require effective target pthread.

gcc/testsuite

        * gcc.dg/pr54782.c: Require effective target pthread.

From-SVN: r192316

11 years agore PR c++/53122 (internal compiler error: in unify, at cp/pt.c:15750)
Paolo Carlini [Wed, 10 Oct 2012 13:25:34 +0000 (13:25 +0000)]
re PR c++/53122 (internal compiler error: in unify, at cp/pt.c:15750)

2012-10-10  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53122
* g++.dg/cpp0x/auto35.C: New.

From-SVN: r192312

11 years ago* elf.c (elf_add_syminfo_data): Add casts to avoid warning.
Hans-Peter Nilsson [Wed, 10 Oct 2012 12:55:52 +0000 (12:55 +0000)]
* elf.c (elf_add_syminfo_data): Add casts to avoid warning.

From-SVN: r192311

11 years agoFix signed/unsigned warning; Make some mask types HOST_WIDE_INT; Add more debugging...
Michael Meissner [Wed, 10 Oct 2012 12:54:06 +0000 (12:54 +0000)]
Fix signed/unsigned warning; Make some mask types HOST_WIDE_INT; Add more debugging with -mdebug=reg

From-SVN: r192310

11 years agotype_traits (__do_common_type_impl): Revert for now LWG 2141-related change.
Paolo Carlini [Wed, 10 Oct 2012 12:02:05 +0000 (12:02 +0000)]
type_traits (__do_common_type_impl): Revert for now LWG 2141-related change.

2012-10-10  Paolo Carlini  <paolo.carlini@oracle.com>

* include/std/type_traits (__do_common_type_impl): Revert for now
LWG 2141-related change.
* testsuite/20_util/common_type/requirements/typedefs-1.cc: Likewise.
* testsuite/20_util/common_type/requirements/sfinae_friendly_1.cc:
Adjust.

From-SVN: r192308

11 years agoAdded forgotten ChangeLog entry.
Rainer Orth [Wed, 10 Oct 2012 10:56:01 +0000 (10:56 +0000)]
Added forgotten ChangeLog entry.

From-SVN: r192306

11 years agore PR target/51109 (bdver1 scheduler state machine too large)
Jakub Jelinek [Wed, 10 Oct 2012 10:55:54 +0000 (12:55 +0200)]
re PR target/51109 (bdver1 scheduler state machine too large)

PR target/51109
* config/i386/bdver1.md (bdver1-mult): Remove.

From-SVN: r192305

11 years agoPR c++/53540 - using fails to be equivalent to typedef
Dodji Seketeli [Wed, 10 Oct 2012 10:43:53 +0000 (10:43 +0000)]
PR c++/53540 - using fails to be equivalent to typedef

In the example of this problem report, during the substituting of int
into 'function', tsubst_aggr_type fails for the alias ctxt1.  This is
because TYPE_TEMPLATE_INFO looks for the TEMPLATE_INFO of the ctxt1
alias at the wrong place and was wrongly finding it to be NULL.
Namely, it was looking for it in the DECL_TEMPLATE_INFO of the
declaration of the type -- as if ctxt1 was an alias template
specialization -- rather than looking for it in its
CLASSTYPE_TEMPLATE_INFO.

Fixed thus.  The other hunks of the patch are a cleanup to make a
better use of alias_template_specialization_p.

Bootstrapped and tested on x86_64-unknown-linux-gnu against trunk.

gcc/cp

* cp-tree.h (TYPE_TEMPLATE_INFO): For an alias that is not an
instance of alias template, don't look for its TEMPLATE_INFO in
its declaration.
(alias_template_specialization_p): Take const_tree.
* pt.c (alias_template_specialization_p): Take a const_tree.
Don't call primary_template_instantiation_p.
(primary_template_instantiation_p): Call
alias_template_specialization_p.

gcc/testsuite/

* g++.dg/cpp0x/alias-decl-24.C: New test.

From-SVN: r192304

11 years agore PR middle-end/54879 (gcc/combine.c:12018: warning: comparison always false due...
Jakub Jelinek [Wed, 10 Oct 2012 10:41:39 +0000 (12:41 +0200)]
re PR middle-end/54879 (gcc/combine.c:12018: warning: comparison always false due to limited range of data type)

PR middle-end/54879
* combine.c (count_rtxs): Use RTX_BIN_ARITH resp. RTX_COMM_ARITH
instead of '2' resp. 'c' for GET_RTX_CLASS comparisons.

From-SVN: r192303

11 years agore PR middle-end/54862 (error: comparison between signed and unsigned integer express...
Jakub Jelinek [Wed, 10 Oct 2012 10:40:35 +0000 (12:40 +0200)]
re PR middle-end/54862 (error: comparison between signed and unsigned integer expressions in simplify-rtx.c)

PR middle-end/54862
* simplify-rtx.c (simplify_truncation): Compare UINTVAL instead of
INTVAL of second argument with precision resp. op_precision.

From-SVN: r192302

11 years agoPR middle-end/54860 - Make sure attributes hash table is created
Dodji Seketeli [Wed, 10 Oct 2012 10:25:03 +0000 (10:25 +0000)]
PR middle-end/54860 - Make sure attributes hash table is created

On targets cris-elf, alpha and sparc (for instance) it can happen that
the attribute_tables variable is empty for fortran.  Thus
register_scoped_attributes (called by init_attributes) won't call
register_scoped_attributes, so the hash table member of
scoped_attributes is not created.

Later when we try to e.g, lookup an attribute by calling
lookup_scoped_attribute_spec, that NULL member hash table comes to
byte us as htab_find_with_hash crashes.

This patch fixes this by ensuring in register_scoped_attributes that
the hash table is created.

Tested on cris-elf, x86_64-unknown-linux-gnu against trunk and some
commenters on the bug bootstrapped it on alpha and sparc.

gcc/

* attribs.c (register_scoped_attributes): Ensure the attribute
hash table is created.

From-SVN: r192301

11 years agoUpdate g++.dg/cpp0x/gen-attrs-{8,36,37}.C as c++11 attributes to types are ignored
Dodji Seketeli [Wed, 10 Oct 2012 10:24:50 +0000 (10:24 +0000)]
Update g++.dg/cpp0x/gen-attrs-{8,36,37}.C as c++11 attributes to types are ignored

The current implementation of C++11 attributes forbids them from being
applied to a type unless the type is being declared.  I forgot to
adjust g++.dg/cpp0x/gen-attrs-{8,36,37}.C that was being run only on
ia32.

Fixed thus, tested on i386-unknown-linux-gnu and
x86_64-unknown-linux-gnu against trunk.

gcc/testsuite/

* g++.dg/cpp0x/gen-attrs-8.C: Update the test to reflect the fact
that c++11 attributes to types are ignored for now.
* g++.dg/cpp0x/gen-attrs-36.C: Likewise.
* g++.dg/cpp0x/gen-attrs-37.C: Likewise

From-SVN: r192300

11 years agoDisambiguate nested objc-message-expressions and c++11 attributes
Dodji Seketeli [Wed, 10 Oct 2012 10:24:35 +0000 (10:24 +0000)]
Disambiguate nested objc-message-expressions and c++11 attributes

A couple of obj-c++ tests were failing[1] because the tokens '[[' can
either be the beginning of a c++11 attribute (that is itself at the
beginning of a statement), or the beginning of a nested
objc-message-expression.  This patch resolves the ambiguity by
tentatively parsing the c++11 attribute and if it fails, then consider
the objc-message-expression.

I missed this initially because it didn't occur to me that
--enable-languages=all,ada does not include obj-c++.  Shame on me.  I
have now updated my compile farm scripts to use
--enable-language=all,ada,obj-c++,go and I

[1]:

FAIL: obj-c++.dg/syntax-error-6.mm -fgnu-runtime  (test for errors, line 11)
FAIL: obj-c++.dg/syntax-error-6.mm -fgnu-runtime (test for excess errors)
FAIL: obj-c++.dg/template-8.mm -fgnu-runtime (test for excess errors)

Tested on x86_64-unknown-linux-gnu against trunk.

gcc/cp/

* parser (cp_parser_statement):  Parse c++11 attributes tentatively.
(cp_parser_std_attribute_spec_seq): Do not warn too early about
using c++11 attributes in non c++11 mode.

From-SVN: r192299

11 years agore PR c++/53741 (ICE on lambda calling static template member function with explicit...
Paolo Carlini [Wed, 10 Oct 2012 10:15:51 +0000 (10:15 +0000)]
re PR c++/53741 (ICE on lambda calling static template member function with explicit template argument specification)

2012-10-10  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53741
* g++.dg/cpp0x/lambda/lambda-ice9.C: New.

From-SVN: r192298

11 years agoFix missing gthr-default.h issue on separate libstdc++ configure
Pavel Chupin [Wed, 10 Oct 2012 10:02:44 +0000 (10:02 +0000)]
Fix missing gthr-default.h issue on separate libstdc++ configure

        Fix missing gthr-default.h issue on separate libstdc++ configure
        * libstdc++-v3/acinclude.m4: Define glibcxx_thread_h.
        * libstdc++-v3/include/Makefile.am: Use glibcxx_thread_h.
        * libstdc++-v3/Makefile.in: Regenerate.
        * libstdc++-v3/configure: Regenerate.
        * libstdc++-v3/doc/Makefile.in: Regenerate.
        * libstdc++-v3/include/Makefile.in: Regenerate.
        * libstdc++-v3/libsupc++/Makefile.in: Regenerate.
        * libstdc++-v3/po/Makefile.in: Regenerate.
        * libstdc++-v3/python/Makefile.in: Regenerate.
        * libstdc++-v3/src/Makefile.in: Regenerate.
        * libstdc++-v3/src/c++11/Makefile.in: Regenerate.
        * libstdc++-v3/src/c++98/Makefile.in: Regenerate.
        * libstdc++-v3/testsuite/Makefile.in: Regenerate.

From-SVN: r192297

11 years agoFix for PR51109
Ganesh Gopalasubramanian [Wed, 10 Oct 2012 09:19:11 +0000 (09:19 +0000)]
Fix for PR51109

From-SVN: r192296

11 years agore PR c++/50478 ([C++0x] Internal compiler error when using initializer lists)
Paolo Carlini [Wed, 10 Oct 2012 09:12:19 +0000 (09:12 +0000)]
re PR c++/50478 ([C++0x] Internal compiler error when using initializer lists)

2012-10-10  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/50478
* g++.dg/cpp0x/initlist67.C: New.

From-SVN: r192295

11 years agoMAINTAINERS: Adjust for changed surename.
Richard Biener [Wed, 10 Oct 2012 08:50:20 +0000 (08:50 +0000)]
MAINTAINERS: Adjust for changed surename.

2012-10-10  Richard Biener  <rguenther@suse.de>

* MAINTAINERS: Adjust for changed surename.

From-SVN: r192294

11 years agore PR bootstrap/54876 (LTO bootstrap broken, streaming garbage-collected BLOCK)
Richard Biener [Wed, 10 Oct 2012 08:48:47 +0000 (08:48 +0000)]
re PR bootstrap/54876 (LTO bootstrap broken, streaming garbage-collected BLOCK)

2012-10-10  Richard Biener  <rguenther@suse.de>

PR middle-end/54876
* ipa-prop.c (prune_expression_for_jf_1): New function.
(prune_expression_for_jf): Clear EXPR_LOCATION for all
sub-expressions as well.

From-SVN: r192293

11 years agore PR ada/54845 ([trunk/gcc/c-family/c-ada-spec.c:3114]: (error) Buffer is accessed...
Arnaud Charlet [Wed, 10 Oct 2012 08:09:25 +0000 (08:09 +0000)]
re PR ada/54845 ([trunk/gcc/c-family/c-ada-spec.c:3114]: (error) Buffer is accessed out of bounds.)

2012-10-10  Arnaud Charlet  <charlet@adacore.com>

PR ada/54845
* c-ada-spec.c (print_ada_struct_decl): Increase buf size.

From-SVN: r192290

11 years agoconfig.gcc: Enable zEC12 for with-arch and with-tune configure switches.
Andreas Krebbel [Wed, 10 Oct 2012 05:02:11 +0000 (05:02 +0000)]
config.gcc: Enable zEC12 for with-arch and with-tune configure switches.

2012-10-10  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* config.gcc: Enable zEC12 for with-arch and with-tune
          configure switches.
* common/config/s390/s390-common.c (processor_flags_table): Add
zEC12 entry.
* config/s390/2827.md: New file.
* config/s390/s390-opts.h (enum processor_type): Add
PROCESSOR_2827_ZEC12.
* config/s390/s390.h (enum processor_flags): Add PF_ZEC12.
(TARGET_CPU_ZEC12, TARGET_ZEC12): New macro definitions.
* config/s390/s390.c (zEC12_cost): New definition.
(s390_option_override): Set costs for zEC12.
Set parameter defaults for zEC12.
(legitimate_reload_fp_constant_p): Adjust comment.
(preferred_la_operand_p): Adjust comment.
(s390_expand_insv): Generate insv pattern without CC clobber for
zEC12.
(s390_adjust_priority): Add zEC12 check.
(s390_issue_rate): Return 2 for zEC12.
(s390_reorg): Enable code optimizations for zEC12.
(s390_sched_reorder): Reorder insns according to OOO attributes.
(s390_get_sched_attrmask): New function.
(s390_sched_score): New function.
(s390_sched_variable_issue): Update s390_sched_state.
(s390_sched_init): Reset s390_sched_state.
(s390_loop_unroll_adjust): Enable for zEC12.
* config/s390/s390.opt: Add zEC12 processor type value.
* config/s390/s390.md: Enable mnemonic attribute.
(attr cpu, cpu_facility): Add zEC12.
Include 2827.md.
("*insv<mode>_zEC12", "*insv<mode>_zEC12_noshift")
("*load_and_trap<mode>"): New insn definition.
("*cmp_and_trap_unsigned_int<mode>"): Add clt and clgt.

From-SVN: r192289

11 years agodwarf.c (dwarf_fileline): Add cast to avoid warning.
Ian Lance Taylor [Wed, 10 Oct 2012 04:37:06 +0000 (04:37 +0000)]
dwarf.c (dwarf_fileline): Add cast to avoid warning.

* dwarf.c (dwarf_fileline): Add cast to avoid warning.
(backtrace_dwarf_add): Likewise.

From-SVN: r192288

11 years agoMake Niagara-4 instruction scheduling more accurate.
David S. Miller [Wed, 10 Oct 2012 02:04:20 +0000 (02:04 +0000)]
Make Niagara-4 instruction scheduling more accurate.

* config/sparc/sparc.md (type attribute): Add new types 'visl'
(VIS logical operation), 'vismv' (VIS move), and 'pdistn'.  Rename
'fgm_pdist' to 'pdist'.
(*movsi_insn): Use vismv and visl.
(*movdi_insn_sp64): Likewise.
(*movsf_insn): Likewise.
(*movdf_insn_sp64): Likewise.
(*mov<VM32:mode>_insn): Likewise, use 'fsrc2s' instead of 'fsrc1s'.
(*mov<VM64:mode>_insn_sp64): Likewise, use 'fsrc2s' instead of 'fsrc1s'.
(*mov<VM64:mode>_insn_sp32): Likewise, use 'fsrc2s' instead of 'fsrc1s'.
(VIS logical instructions): Mark as visl.
(pdist_vis): Use 'pdist'.
(pditsn<mode>_vis): Use 'pdistn'.
* config/sparc/ultra1_2.md: Adjust for new VIS attribute types.
* config/sparc/ultra3.md: Likewise.
* config/sparc/niagara.md: Likewise.
* config/sparc/niagara2.md: Likewise.
* config/sparc/niagara4.md: Add cpu units "n4_slot2" and
"n4_load_store" for special store scheduling.  Use them in load
and store reservations.  Integer divide and multiply can only
issue in slot-1.  Represent 1-cycle VIS moves and 3-cycle VIS
logic operations.

From-SVN: r192286

11 years agotree-eh.c (lower_try_finally_onedest): Set correct location for deallocator.
Dehao Chen [Wed, 10 Oct 2012 01:26:30 +0000 (01:26 +0000)]
tree-eh.c (lower_try_finally_onedest): Set correct location for deallocator.

gcc:
2012-10-10  Dehao Chen  <dehao@google.com>

* tree-eh.c (lower_try_finally_onedest): Set correct location for
deallocator.
* gimplify.c (gimplify_expr): Set correct location for TRY stmt.

gcc/cp:
2012-10-10  Dehao Chen  <dehao@google.com>

* cp-gimplify.c (cp_genericize_r): Set location for TRY expr.

testsuite:
2012-10-10  Dehao Chen  <dehao@google.com>

* g++.dg/debug/dwarf2/deallocator.C: Cover more deallocator cases.

From-SVN: r192285

11 years agore PR target/52480 (SH Target: SH4A movua.l does not work for big endian)
Oleg Endo [Wed, 10 Oct 2012 00:50:37 +0000 (00:50 +0000)]
re PR target/52480 (SH Target: SH4A movua.l does not work for big endian)

PR target/52480
* config/sh/sh.md (extv, extzv): Check that operands[3] is zero,
regardless of the endianness.

PR target/52480
* gcc.target/sh/sh4a-bitmovua.c: Compact skip-if list.
Add runtime tests.

From-SVN: r192283

11 years agoDaily bump.
GCC Administrator [Wed, 10 Oct 2012 00:19:26 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r192282

11 years agore PR c++/53307 (internal crash with variadic templates and decltype)
Paolo Carlini [Tue, 9 Oct 2012 23:37:07 +0000 (23:37 +0000)]
re PR c++/53307 (internal crash with variadic templates and decltype)

2012-10-10  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53307
* g++.dg/cpp0x/decltype44.C: New.

From-SVN: r192279

11 years agotype_traits (common_time): Provide "SFINAE-friendly" implementation.
Daniel Krugler [Tue, 9 Oct 2012 22:31:44 +0000 (22:31 +0000)]
type_traits (common_time): Provide "SFINAE-friendly" implementation.

2012-10-09  Daniel Krugler  <daniel.kruegler@googlemail.com>

* include/std/type_traits (common_time): Provide "SFINAE-friendly"
implementation.
(__success_type, __failure_type): Fix.
* include/std/chrono (common_type): Likewise for the chrono::time_point
specialization.
* testsuite/20_util/common_type/requirements/sfinae_friendly_1.cc: New.
* testsuite/20_util/common_type/requirements/sfinae_friendly_2.cc:
Likewise.
* testsuite/20_util/duration/requirements/sfinae_friendly_1.cc:
Likewise.
* testsuite/20_util/common_type/requirements/typedefs-1.cc: Adjust wrt
LWG 2141.
* testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust
dg-error line numbers.
* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
* testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.

* testsuite/20_util/result_of/sfinae_friendly_1.cc: Trivial stylistic
tweaks.
* testsuite/20_util/result_of/sfinae_friendly_2.cc: Likewise.

From-SVN: r192276

11 years agoext_ins.c: Modify f2 to aviod uninitialized data.
Steve Ellcey [Tue, 9 Oct 2012 22:04:11 +0000 (22:04 +0000)]
ext_ins.c: Modify f2 to aviod uninitialized data.

2012-10-09  Steve Ellcey  <sellcey@mips.com>

* gcc.target/ext_ins.c: Modify f2 to aviod uninitialized data.

From-SVN: r192274

11 years agoChange more non-GTY hash tables to use the new type-safe template hash table.
Lawrence Crowl [Tue, 9 Oct 2012 21:21:36 +0000 (21:21 +0000)]
Change more non-GTY hash tables to use the new type-safe template hash table.

Constify member function parameters that can be const.
Correct a couple of expressions in formerly uninstantiated templates.

The new code is 0.362% faster in bootstrap, with a 99.5% confidence of
being faster.

Tested on x86-64.

Index: gcc/java/ChangeLog

2012-10-01  Lawrence Crowl  <crowl@google.com>

* Make-lang.in (JAVA_OBJS): Add dependence on hash-table.o.
(JCFDUMP_OBJS): Add dependence on hash-table.o.
(jcf-io.o): Add dependence on hash-table.h.
* jcf-io.c (memoized_class_lookups): Change to use type-safe hash table.

Index: gcc/c/ChangeLog

2012-10-09  Lawrence Crowl  <crowl@google.com>

* Make-lang.in (c-decl.o): Add dependence on hash-table.h.
* c-decl.c (detect_field_duplicates_hash): Change to new type-safe
hash table.

Index: gcc/objc/ChangeLog

2012-10-01  Lawrence Crowl  <crowl@google.com>

* Make-lang.in (OBJC_OBJS): Add dependence on hash-table.o.
(objc-act.o): Add dependence on hash-table.h.
* objc-act.c (objc_detect_field_duplicates): Change to new type-safe
hash table.

Index: gcc/ChangeLog

2012-10-09  Lawrence Crowl  <crowl@google.com>

* Makefile.in (fold-const.o): Add depencence on hash-table.h.
(dse.o): Likewise.
(cfg.o): Likewise.
* fold-const.c (fold_checksum_tree): Change to new type-safe hash table.
* (print_fold_checksum): Likewise.
* cfg.c (var bb_original): Likewise.
* (var bb_copy): Likewise.
* (var loop_copy): Likewise.
* hash-table.h (template hash_table): Constify parameters for find...
and remove_elt... member functions.
        (hash_table::empty) Correct size expression.
        (hash_table::clear_slot) Correct deleted entry assignment.
* dse.c (var rtx_group_table): Change to new type-safe hash table.

Index: gcc/cp/ChangeLog

2012-10-09  Lawrence Crowl  <crowl@google.com>

* Make-lang.in (class.o): Add dependence on hash-table.h.
(tree.o): Likewise.
(semantics.o): Likewise.
* class.c (fixed_type_or_null): Change to new type-safe hash table.
* tree.c (verify_stmt_tree): Likewise.
(verify_stmt_tree_r): Likewise.
* semantics.c (struct nrv_data): Likewise.

From-SVN: r192273

11 years ago* basic-block. (profile_record): New struct, moved from passes.c.
Steven Bosscher [Tue, 9 Oct 2012 20:37:11 +0000 (20:37 +0000)]
* basic-block. (profile_record): New struct, moved from passes.c.

* cfghooks.h (struct cfg_hooks) <account_profile_record>: New hook.
(account_profile_record): New prototype.
* cfghooks.c (account_profile_record): New function.
* tree-cfg.c (gimple_account_profile_record): New function
(gimple_cfg_hooks): Add it.
* cfgrtl.c (rtl_account_profile_record): New function
(rtl_cfg_hooks, cfg_layout_rtl_cfg_hooks): Add it.
* passes.c (check_profile_consistency): Simplify.  Move IR-dependent
code around using cfghooks machinery.

From-SVN: r192271

11 years agoChangeLog: Move testsuite entries ...
Uros Bizjak [Tue, 9 Oct 2012 20:27:59 +0000 (22:27 +0200)]
ChangeLog: Move testsuite entries ...

* ChangeLog: Move testsuite entries ...
* testsuite/ChangeLog: ... here.

From-SVN: r192270

11 years agore PR target/54760 ([SH] Add __builtin_thread_pointer, __builtin_set_thread_pointer)
Oleg Endo [Tue, 9 Oct 2012 18:59:11 +0000 (18:59 +0000)]
re PR target/54760 ([SH] Add __builtin_thread_pointer, __builtin_set_thread_pointer)

PR target/54760
* doc/extend.texi (Target Builtins): Add SH built-in section.
Document __builtin_thread_pointer and __builtin_set_thread_pointer.

From-SVN: r192269

11 years agore PR libstdc++/54861 (std::atomic_signal_fence(std::memory_order_seq_cst) issues...
Andrew MacLeod [Tue, 9 Oct 2012 18:40:02 +0000 (18:40 +0000)]
re PR libstdc++/54861 (std::atomic_signal_fence(std::memory_order_seq_cst) issues unnecessary mfence)

2012-10-09  Andrew MacLeod  <amacleod@redhat.com>

PR libstdc++/54861
* include/bits/atomic_base.h (atomic_signal_fence): Call
__atomic_signal_fence instead of __atomic_thread_fence.

From-SVN: r192268

11 years agoAdd support for tracing through shared libraries.
Ian Lance Taylor [Tue, 9 Oct 2012 18:20:45 +0000 (18:20 +0000)]
Add support for tracing through shared libraries.

* configure.ac: Check for link.h and dl_iterate_phdr.
* elf.c: #include <link.h> if system has dl_iterate_phdr.  #undef
ELF macros before #defining them.
(dl_phdr_info, dl_iterate_phdr): Define if system does not have
dl_iterate_phdr.
(struct elf_syminfo_data): Add next field.
(elf_initialize_syminfo): Initialize next field.
(elf_add_syminfo_data): New static function.
(elf_add): New static function, broken out of
backtrace_initialize.  Call backtrace_dwarf_add instead of
backtrace_dwarf_initialize.
(struct phdr_data): Define.
(phdr_callback): New static function.
(backtrace_initialize): Call elf_add.
* dwarf.c (struct dwarf_data): Add next and base_address fields.
(add_unit_addr): Add base_address parameter.  Change all callers.
(add_unit_ranges, build_address_map): Likewise.
(add_line): Add ddata parameter.  Change all callers.
(read_line_program, add_function_range): Likewise.
(dwarf_lookup_pc): New static function, broken out of
dwarf_fileline.
(dwarf_fileline): Call dwarf_lookup_pc.
(build_dwarf_data): New static function.
(backtrace_dwarf_add): New function.
(backtrace_dwarf_initialize): Remove.
* internal.h (backtrace_dwarf_initialize): Don't declare.
(backtrace_dwarf_add): Declare.
* configure, config.h.in: Rebuild.

From-SVN: r192267

11 years ago808590.cc: Fix constant value.
Benjamin Kosnik [Tue, 9 Oct 2012 16:21:27 +0000 (16:21 +0000)]
808590.cc: Fix constant value.

2012-10-09  Benjamin Kosnik  <bkoz@redhat.com>

* testsuite/20_util/specialized_algorithms/uninitialized_copy/808590.cc:
Fix constant value.

From-SVN: r192265

11 years agore PR c++/53763 (Missing error check on decltype when used within variadic template...
Paolo Carlini [Tue, 9 Oct 2012 16:09:32 +0000 (16:09 +0000)]
re PR c++/53763 (Missing error check on decltype when used within variadic template argument list)

2012-10-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53763
* g++.dg/cpp0x/decltype43.C: New.

From-SVN: r192263

11 years agoFix for PR53397 by making prefecthing less agressive
Venkataramanan Kumar [Tue, 9 Oct 2012 15:48:45 +0000 (15:48 +0000)]
Fix for PR53397 by making prefecthing less agressive

From-SVN: r192261

11 years agore PR libstdc++/54869 (ext/random/simd_fast_mersenne_twister_engine/cons/default...
Paolo Carlini [Tue, 9 Oct 2012 14:50:19 +0000 (14:50 +0000)]
re PR libstdc++/54869 (ext/random/simd_fast_mersenne_twister_engine/cons/default.cc FAILs)

2012-10-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/54869
* include/ext/random (simd_fast_mersenne_twister_engine): Provide
only for little endian targets.
* include/ext/random.tcc: Likewise.
* config/cpu/i486/opt/ext/opt_random.h: Likewise.
* testsuite/lib/libstdc++.exp (check_v3_target_little_endian): Add.
* testsuite/lib/dg-options.exp (dg-require-little-endian): Add.
* testsuite/ext/random/simd_fast_mersenne_twister_engine/
operators/equal.cc: Use the latter.
* testsuite/ext/random/simd_fast_mersenne_twister_engine/
operators/serialize.cc: Likewise.
* testsuite/ext/random/simd_fast_mersenne_twister_engine/
operators/inequal.cc: Likewise.
* testsuite/ext/random/simd_fast_mersenne_twister_engine/
cons/copy.cc: Likewise.
* testsuite/ext/random/simd_fast_mersenne_twister_engine/
cons/seed1.cc: Likewise.
* testsuite/ext/random/simd_fast_mersenne_twister_engine/
cons/seed2.cc: Likewise.
* testsuite/ext/random/simd_fast_mersenne_twister_engine/
cons/default.cc: Likewise.
* testsuite/ext/random/simd_fast_mersenne_twister_engine/
cons/seed_seq.cc: Likewise.

From-SVN: r192256

11 years agore PR bootstrap/54837 (lto bootstrap error: ICE in expand_debug_source_expr, at cfgex...
Richard Guenther [Tue, 9 Oct 2012 14:40:01 +0000 (14:40 +0000)]
re PR bootstrap/54837 (lto bootstrap error: ICE in expand_debug_source_expr, at cfgexpand.c:3538)

2012-10-09  Richard Guenther  <rguenther@suse.de>

PR middle-end/54837
* cfgexpand.c (expand_debug_source_expr): Move checking
code conditional on a found decl_debug_args vector.

From-SVN: r192255

11 years agoFix gcc.target/i386/long-double-80-7.c (PR target/54866)
Rainer Orth [Tue, 9 Oct 2012 13:40:21 +0000 (13:40 +0000)]
Fix gcc.target/i386/long-double-80-7.c (PR target/54866)

PR target/54866
* gcc.target/i386/long-double-80-7.c: Add -msse2 to dg-options.

From-SVN: r192253

11 years agotree-streamer.c (streamer_tree_cache_get): Move ...
Richard Guenther [Tue, 9 Oct 2012 13:34:54 +0000 (13:34 +0000)]
tree-streamer.c (streamer_tree_cache_get): Move ...

2012-10-09  Richard Guenther  <rguenther@suse.de>

* tree-streamer.c (streamer_tree_cache_get): Move ...
* tree-streamer.h (streamer_tree_cache_get): ... here as inline.

From-SVN: r192252

11 years agoloop-unroll.c (unroll_loop_constant_iterations): Add update of loop->nb_iterations_up...
Jan Hubicka [Tue, 9 Oct 2012 13:10:37 +0000 (15:10 +0200)]
loop-unroll.c (unroll_loop_constant_iterations): Add update of loop->nb_iterations_upper_bound I missed in my previous commit...

* loop-unroll.c (unroll_loop_constant_iterations): Add
update of loop->nb_iterations_upper_bound I missed in my previous
commit; use TRUNC_DIV_EXPR instead of FLOOR_DIV_EXPR to divide
iteration count.
(decide_unroll_runtime_iterations): Avoid overflow.
(unroll_loop_runtime_iterations): Use TRUNC_DIV_EXPR instead of
FLOOR_DIV_EXPR to update iteration bounds.
(decide_peel_simple): Avoid integer overflow when deciding
on number of peelings.
(decide_unroll_stupid): Likewise.

From-SVN: r192251

11 years agolto-cgraph.c (input_node_opt_summary): Remove unused code.
Tobias Burnus [Tue, 9 Oct 2012 11:46:25 +0000 (13:46 +0200)]
lto-cgraph.c (input_node_opt_summary): Remove unused code.

gcc/
2012-10-08  Tobias Burnus  <burnus@net-b.de>

* lto-cgraph.c (input_node_opt_summary): Remove unused code.
* lto-opts.c (append_to_collect_gcc_options): Fix condition.
* lto-symtab.c (lto_cgraph_replace_node): Don't xstrdup string
which is passed to fprintf.

gcc/lto/
2012-10-08  Tobias Burnus  <burnus@net-b.de>

* lto-lang.c (lto_register_builtin_type): Avoid useless
decl creation.
* lto-object.c (lto_obj_file_open, lto_obj_file_open): Free memory.

From-SVN: r192250

11 years agore PR c++/54194 (misleading suggestion about arithmetic in operand of '|')
Paolo Carlini [Tue, 9 Oct 2012 10:01:31 +0000 (10:01 +0000)]
re PR c++/54194 (misleading suggestion about arithmetic in operand of '|')

2012-10-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/54194
* tree.h: Add EXPR_LOC_OR_LOC.

c-family/
2012-10-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/54194
* c-common.c (warn_about_parentheses): Add location_t parameter;
use EXPR_LOC_OR_LOC.
* c-common.h: Update declaration.

c/
2012-10-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/54194
* c-typeck.c (parser_build_binary_op): Update warn_about_parentheses
call.

/cp
2012-10-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/54194
* typeck.c (build_x_binary_op): Update warn_about_parentheses call.
* parser.c (cp_parser_binary_expression): Use SET_EXPR_LOCATION
on current.lhs.

/testsuite
2012-10-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/54194
* g++.dg/warn/Wparentheses-26.C: Adjust.
* g++.dg/warn/Wparentheses-27.C: New.

From-SVN: r192246

11 years agore PR rtl-optimization/54739 (FAIL: gcc.dg/lower-subreg-1.c scan-rtl-dump subreg1...
Nick Clifton [Tue, 9 Oct 2012 09:21:47 +0000 (09:21 +0000)]
re PR rtl-optimization/54739 (FAIL: gcc.dg/lower-subreg-1.c scan-rtl-dump subreg1 "Splitting reg")

PR rtl-optimization/54739
* config/mcore/mcore.md: (anddi3, iordi3, xordi3): Delete
patterns.

From-SVN: r192244

11 years agore PR target/54661 (mcore_output_movedouble: operation on ‘memexp’ may be undefined)
Nick Clifton [Tue, 9 Oct 2012 08:37:00 +0000 (08:37 +0000)]
re PR target/54661 (mcore_output_movedouble: operation on â€˜memexp’ may be undefined)

PR target/54661
* config/mcore/mcore.c (mcore_output_movedouble): Fix typo.

From-SVN: r192241

11 years agore PR libstdc++/54754 ([parallel mode] 'make check-parallel' only works on x86-64)
Jonathan Wakely [Tue, 9 Oct 2012 08:16:13 +0000 (08:16 +0000)]
re PR libstdc++/54754 ([parallel mode] 'make check-parallel' only works on x86-64)

PR libstdc++/54754
* include/parallel/compatibility.h: Use atomic built-ins when they are
lock-free.

From-SVN: r192240

11 years agoChangeLog: Move testsuite entries ...
Uros Bizjak [Tue, 9 Oct 2012 07:28:35 +0000 (09:28 +0200)]
ChangeLog: Move testsuite entries ...

* ChangeLog: Move testsuite entries ...
* testsuite/ChangeLog: ... here.  Remove testsuite/ from filenames.

From-SVN: r192239

11 years agore PR c++/54427 (Expose more vector extensions)
Marc Glisse [Tue, 9 Oct 2012 06:18:29 +0000 (08:18 +0200)]
re PR c++/54427 (Expose more vector extensions)

2012-10-09  Marc Glisse  <marc.glisse@inria.fr>

PR c++/54427

c/
* c-typeck.c: Include c-common.h.
(enum stv_conv): Moved to c-common.h.
(scalar_to_vector): Moved to c-common.c.
(build_binary_op): Adapt to scalar_to_vector's new prototype.
* Make-lang.in: c-typeck.c depends on c-common.h.

c-family/
* c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
more operations. Make error messages optional.
* c-common.h (enum stv_conv): Moved from c-typeck.c.
(scalar_to_vector): Declare.

cp/
* typeck.c (cp_build_binary_op): Handle mixed scalar-vector
operations.
[LSHIFT_EXPR, RSHIFT_EXPR]: Likewise.

gcc/
* fold-const.c (fold_binary_loc): Use build_zero_cst instead of
build_int_cst for a potential vector.

testsuite/
* c-c++-common/vector-scalar.c: New testcase.
* g++.dg/ext/vector18.C: New testcase.
* g++.dg/ext/vector5.C: This is not an error anymore.
* gcc.dg/init-vec-1.c: Move ...
* c-c++-common/init-vec-1.c: ... here. Adapt error message.
* gcc.c-torture/execute/vector-shift1.c: Move ...
* c-c++-common/torture/vector-shift1.c: ... here.
* gcc.dg/scal-to-vec1.c: Move ...
* c-c++-common/scal-to-vec1.c: ... here. Avoid narrowing for
C++11. Adapt error messages.
* gcc.dg/convert-vec-1.c: Move ...
* c-c++-common/convert-vec-1.c: ... here.
* gcc.dg/scal-to-vec2.c: Move ...
* c-c++-common/scal-to-vec2.c: ... here.

From-SVN: r192238

11 years agotestsuite_abi.cc (check_version): Add CXXABI_1.3.7.
Uros Bizjak [Tue, 9 Oct 2012 06:15:15 +0000 (08:15 +0200)]
testsuite_abi.cc (check_version): Add CXXABI_1.3.7.

* testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.7.

From-SVN: r192237

11 years agoDaily bump.
GCC Administrator [Tue, 9 Oct 2012 00:18:47 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r192234

11 years ago* es.po: Update.
Joseph Myers [Mon, 8 Oct 2012 23:01:54 +0000 (00:01 +0100)]
* es.po: Update.

From-SVN: r192226

11 years agoatom.md (atom_sse_4): Merge atom_sse_attr attibutes.
Uros Bizjak [Mon, 8 Oct 2012 20:48:38 +0000 (22:48 +0200)]
atom.md (atom_sse_4): Merge atom_sse_attr attibutes.

* config/i386/atom.md (atom_sse_4): Merge atom_sse_attr attibutes.
(atom_sse_5): Ditto.

From-SVN: r192224

11 years agore PR middle-end/54400 (recognize vector reductions)
Marc Glisse [Mon, 8 Oct 2012 20:45:56 +0000 (22:45 +0200)]
re PR middle-end/54400 (recognize vector reductions)

2012-10-08  Marc Glisse  <marc.glisse@inria.fr>

gcc/
PR target/54400
* config/i386/i386.md (type attribute): Add sseadd1.
(unit attribute): Add support for sseadd1.
(memory attribute): Likewise.
* config/i386/athlon.md: Likewise.
* config/i386/core2.md: Likewise.
* config/i386/atom.md: Likewise.
* config/i386/ppro.md: Likewise.
* config/i386/bdver1.md: Likewise.
* config/i386/sse.md (sse3_h<plusminus_insn>v2df3): split into...
(sse3_haddv2df3): ... expander.
(*sse3_haddv2df3): ... define_insn. Accept permuted operands.
(sse3_hsubv2df3): ... define_insn.
(*sse3_haddv2df3_low): New define_insn.
(*sse3_hsubv2df3_low): New define_insn.

gcc/testsuite/
PR target/54400
* gcc.target/i386/pr54400.c: New testcase.

From-SVN: r192223

11 years agore PR c++/54858 (ICE in cp_tree_equal)
Jakub Jelinek [Mon, 8 Oct 2012 19:39:56 +0000 (21:39 +0200)]
re PR c++/54858 (ICE in cp_tree_equal)

PR c++/54858
* tree.c (cp_tree_equal): Handle FIELD_DECL.

* g++.dg/template/pr54858.C: New test.

From-SVN: r192220

11 years agoloop-unswitch.c (unswitch_single_loop): Use estimated_loop_iterations_int to prevent...
Jan Hubicka [Mon, 8 Oct 2012 18:09:41 +0000 (20:09 +0200)]
loop-unswitch.c (unswitch_single_loop): Use estimated_loop_iterations_int to prevent unswitching when...

* loop-unswitch.c (unswitch_single_loop): Use
estimated_loop_iterations_int to prevent unswitching when loop
is known to not roll.
* tree-ssa-loop-niter.c (estimated_loop_iterations): Do not segfault
when SCEV is not initialized.
(max_loop_iterations): Likewise.
* tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops): Use
estimated_loop_iterations_int to prevent unswithcing when
loop is known to not roll.
* tree-scalar-evolution.c (scev_initialized_p): New function.
* tree-scalar-evolution.h (scev_initialized_p): Likewise.
* loop-unroll.c (decide_peel_once_rolling): Use
max_loop_iterations_int.
(unroll_loop_constant_iterations): Update
nb_iterations_upper_bound and nb_iterations_estimate.
(decide_unroll_runtime_iterations): Use
estimated_loop_iterations or max_loop_iterations;
(unroll_loop_runtime_iterations): fix profile updating.
(decide_peel_simple): Use estimated_loop_iterations
and max_loop_iterations.
(decide_unroll_stupid): Use estimated_loop_iterations
ad max_loop_iterations.
* loop-doloop.c (doloop_modify): Use max_loop_iterations_int.
(doloop_optimize): Likewise.
* loop-iv.c (iv_number_of_iterations): Use record_niter_bound.
(find_simple_exit): Likewise.
* cfgloop.h (struct niter_desc): Remove niter_max.

From-SVN: r192219

11 years agore PR debug/54831 (ICE: in vt_add_function_parameter, at var-tracking.c:9412 with...
Marek Polacek [Mon, 8 Oct 2012 17:38:13 +0000 (17:38 +0000)]
re PR debug/54831 (ICE: in vt_add_function_parameter, at var-tracking.c:9412 with -O -fno-split-wide-types -g)

PR54831.

From-SVN: r192218

11 years agolto.c (lto_wpa_write_files, [...]): Free lto_file struct after closing the file.
Tobias Burnus [Mon, 8 Oct 2012 16:51:10 +0000 (18:51 +0200)]
lto.c (lto_wpa_write_files, [...]): Free lto_file struct after closing the file.

2012-10-08  Tobias Burnus  <burnus@net-b.de>

        * lto.c (lto_wpa_write_files, read_cgraph_and_symbols):
        Free lto_file struct after closing the file.

From-SVN: r192216

11 years agopredict.c (predict_loops): Predict for short-circuit conditions.
Dehao Chen [Mon, 8 Oct 2012 16:45:21 +0000 (16:45 +0000)]
predict.c (predict_loops): Predict for short-circuit conditions.

gcc:
2012-10-08  Dehao Chen  <dehao@google.com>

* predict.c (predict_loops): Predict for short-circuit conditions.
(predict_extra_loop_exits): New Function.

testsuite:
2012-10-08  Dehao Chen  <dehao@google.com>

* g++.dg/predict-loop-exit-1.C: New.
* g++.dg/predict-loop-exit-2.C: New.
* g++.dg/predict-loop-exit-3.C: New.

From-SVN: r192215

11 years agolto.c (remember_with_vars): Also fixup INTEGER_CST.
Jan Hubicka [Mon, 8 Oct 2012 16:04:31 +0000 (18:04 +0200)]
lto.c (remember_with_vars): Also fixup INTEGER_CST.

* lto/lto.c (remember_with_vars): Also fixup INTEGER_CST.
(fixup_integer_cst): New functoin.
(lto_ft_type): Fixup BASETYPE of methods and offsets.

From-SVN: r192214

11 years agobitmap.h (bitmap_and_into): Update prototype.
Steven Bosscher [Mon, 8 Oct 2012 15:33:58 +0000 (15:33 +0000)]
bitmap.h (bitmap_and_into): Update prototype.

* bitmap.h (bitmap_and_into): Update prototype.
* bitmap.c (bitmap_and_into): Return true if the target bitmap
changed, false otherwise.

* df.h (df_dump_insn_problem_function): New function type.
(struct df_problem): Add two functions, to dump just before and
just after an insn.
(DF_RD_PRUNE_DEAD_DEFS): New changable flag.
(df_dump_insn_top, df_dump_insn_bottom): New prototypes.
* df-core (df_dump_region): Use dump_bb.
(df_dump_bb_problem_data): New function.
(df_dump_top, df_dump_bottom): Rewrite using df_dump_bb_problem_data.
(df_dump_insn_problem_data): New function.
(df_dump_insn_top, df_dump_insn_bottom): New functions.
* df-scan.c (problem_SCAN): Add NULL fields for new members.
* df-problems.c (df_rd_local_compute): Ignore hard registers if
DF_NO_HARD_REGS is in effect.
(df_rd_transfer_function): If DF_RD_PRUNE_DEAD_DEFS is in effect,
prune reaching defs using the LR problem.
(df_rd_start_dump): Fix dumping of DEFs map.
(df_rd_dump_defs_set): New function.
(df_rd_top_dump, df_rd_bottom_dump): Use it.
(problem_RD): Add NULL fields for new members.
(problem_LR, problem_LIVE): Likewise.
(df_chain_bb_dump): New function.
(df_chain_top_dump): Dump only for artificial DEFs and USEs,
using df_chain_bb_dump.
(df_chain_bottom_dump): Likewise.
(df_chain_insn_top_dump, df_chain_insn_bottom_dump): New functions.
(problem_CHAIN): Add them as new members.
(problem_WORD_LR, problem_NOTE): Add NULL fields for new members.
(problem_MD): Likewise.
* cfgrtl.c (rtl_dump_bb): Use df_dump_insn_top and df_dump_insn_bottom.
(print_rtl_with_bb): Likewise.

* dce.c (init_dce): Use DF_RD_PRUNE_DEAD_DEFS.
* loop-invariant.c (find_defs): Likewise.
* loop-iv.c (iv_analysis_loop_init): Likewise.
* ree.c (find_and_remove_re): Likewise.
* web.c (web_main): Likewise.

From-SVN: r192213

11 years agoRequire tls_runtime in gcc.target/i386/pr54445-1.c
Rainer Orth [Mon, 8 Oct 2012 15:05:15 +0000 (15:05 +0000)]
Require tls_runtime in gcc.target/i386/pr54445-1.c

* gcc.target/i386/pr54445-1.c: Require tls_runtime, add tls options.

From-SVN: r192212

11 years agoAllow dynamic initialization of thread_locals.
Jason Merrill [Mon, 8 Oct 2012 14:45:37 +0000 (10:45 -0400)]
Allow dynamic initialization of thread_locals.

gcc/cp/
* decl.c: Define tls_aggregates.
(expand_static_init): Remove sorry.  Add to tls_aggregates.
* cp-tree.h: Declare tls_aggregates.
* call.c (set_up_extended_ref_temp): Add to tls_aggregates.
* decl2.c (var_needs_tls_wrapper): New.
(var_defined_without_dynamic_init): New.
(get_tls_init_fn, get_tls_wrapper_fn): New.
(generate_tls_wrapper, handle_tls_init): New.
(cp_write_global_declarations): Call handle_tls_init and
enerate_tls_wrapper.
* mangle.c (write_guarded_var_name): Split out from..
(mangle_guard_variable): ...here.
(mangle_tls_init_fn, mangle_tls_wrapper_fn): Use it.
(decl_tls_wrapper_p): New.
* semantics.c (finish_id_expression): Replace use of thread_local
variable with a call to its wrapper.
libiberty/
* cp-demangle.c (d_special_name, d_dump): Handle TH and TW.
(d_make_comp, d_print_comp): Likewise.
include/
* demangle.h (enum demangle_component_type): Add
DEMANGLE_COMPONENT_TLS_INIT and DEMANGLE_COMPONENT_TLS_WRAPPER.

From-SVN: r192211

11 years agoSupport C++11 thread_local destructors.
Jason Merrill [Mon, 8 Oct 2012 14:45:24 +0000 (10:45 -0400)]
Support C++11 thread_local destructors.

gcc/cp/
* decl.c (get_thread_atexit_node): New.
(register_dtor_fn): Use it for TLS.
libstdc++-v3/
* libsupc++/cxxabi.h: Declare __cxa_thread_atexit.
* libsupc++/atexit_thread.cc: New.
* libsupc++/Makefile.am (nested_exception.lo): Add it.
* config/abi/pre/gnu.ver: Add __cxa_thread_atexit.

From-SVN: r192210

11 years agoPartial implementation of C++11 thread_local.
Jason Merrill [Mon, 8 Oct 2012 14:45:12 +0000 (10:45 -0400)]
Partial implementation of C++11 thread_local.

c-family/
* c-common.c (c_common_reswords): Add thread_local.
cp/
* decl.c (cp_finish_decl): Remove errors about non-trivial
initialization and destruction of TLS variables.
(register_dtor_fn): Add sorry about TLS variables.
(expand_static_init): Add sorry about non-local TLS variables,
or error with __thread.
Don't emit thread-safety guards for local TLS variables.
(grokdeclarator): thread_local in a function implies static.
* decl.h: Adjust prototype.
* decl2.c (get_guard): Copy DECL_TLS_MODEL.
* parser.c (cp_parser_set_storage_class, cp_parser_set_decl_spec_type)
(set_and_check_decl_spec_loc): Take the token rather than the location.
Distinguish between __thread and thread_local.
(cp_parser_set_storage_class): Don't complain about thread_local before
extern/static.
(token_is__thread): New.
* call.c (make_temporary_var_for_ref_to_temp): Handle TLS.
* cp-tree.h (DECL_GNU_TLS_P): New.
(cp_decl_specifier_seq): Add gnu_thread_keyword_p.

From-SVN: r192209

11 years agors6000.c (rs6000_code_end): Protect the use of ASM_WEAKEN_DECL with #if RS6000_WEAK.
Jason Merrill [Mon, 8 Oct 2012 14:32:42 +0000 (10:32 -0400)]
rs6000.c (rs6000_code_end): Protect the use of ASM_WEAKEN_DECL with #if RS6000_WEAK.

* config/rs6000/rs6000.c (rs6000_code_end): Protect the use of
ASM_WEAKEN_DECL with #if RS6000_WEAK.

From-SVN: r192207

11 years agore PR tree-optimization/54825 (ICE with vector extension)
Richard Guenther [Mon, 8 Oct 2012 11:58:03 +0000 (11:58 +0000)]
re PR tree-optimization/54825 (ICE with vector extension)

2012-10-08  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/54825
* tree-ssa-sccvn.c (vn_nary_length_from_stmt): Handle BIT_FIELD_REF.
(init_vn_nary_op_from_stmt): Likewise.
* tree-ssa-pre.c (compute_avail): Use vn_nary_op_lookup_stmt.
* tree-ssa-sccvn.h (sizeof_vn_nary_op): Avoid overflow.

From-SVN: r192205

11 years agotree-ssa-pre.c (postorder_num): New global.
Richard Guenther [Mon, 8 Oct 2012 11:55:13 +0000 (11:55 +0000)]
tree-ssa-pre.c (postorder_num): New global.

2012-10-08  Richard Guenther  <rguenther@suse.de>

* tree-ssa-pre.c (postorder_num): New global.
(compute_antic): Initialize all blocks and adjust for
generic postorder.
(my_rev_post_order_compute): Remove.
(init_pre): Use inverted_post_order_compute.

From-SVN: r192204

11 years agosched-int.h (schedule_block): Adjust declaration.
Bernd Schmidt [Mon, 8 Oct 2012 11:26:16 +0000 (11:26 +0000)]
sched-int.h (schedule_block): Adjust declaration.

* sched-int.h (schedule_block): Adjust declaration.
* sched-rgn.c (bb_state_array, bb_state): New static variables.
(sched_rgn_init): Initialize them.
(sched_rgn_free): Free them.
(schedule_region): Save scheduling state for future blocks, and
pass such state to schedule_block.
* params.def (PARAM_SCHED_STATE_EDGE_PROB_CUTOFF): New.
* doc/invoke.texi (--param): Document it.
* haifa-sched.c (schedule_block): New arg init_state.  Use it to
initialize state if nonnull.  All callers changed.
Call advance_one_cycle after scheduling.

From-SVN: r192203

11 years agore PR target/54854 ([avr] Deprecate and finally remove the -mshort-calls command...
Georg-Johann Lay [Mon, 8 Oct 2012 10:13:56 +0000 (10:13 +0000)]
re PR target/54854 ([avr] Deprecate and finally remove the -mshort-calls command line option)

PR target/54854
* doc/invoke.texi (AVR Options): Remove -mshort-calls.
* config/avr/avr.opt (-mshort-calls): Remove option.
* config/avr/avr.h (AVR_HAVE_JMP_CALL): Don't depend on
TARGET_SHORT_CALLS.

From-SVN: r192201

11 years agore PR middle-end/54685 ([SH] Improve unsigned int comparison with 0x7FFFFFFF)
Oleg Endo [Mon, 8 Oct 2012 10:09:28 +0000 (10:09 +0000)]
re PR middle-end/54685 ([SH] Improve unsigned int comparison with 0x7FFFFFFF)

PR target/54685
* config/sh/sh.md (one_cmplsi2): Make insn_and_split.  Add manual
combine matching for an insn sequence where a ge:SI pattern can be used.

PR target/54685
* gcc.target/sh/pr54685.c: New.

From-SVN: r192200

11 years agoPR c++/53528 C++11 attribute support
Dodji Seketeli [Mon, 8 Oct 2012 09:29:05 +0000 (09:29 +0000)]
PR c++/53528 C++11 attribute support

This patch implements the c++-11 generalized attributes, described in
the N2761 paper[1].

The idea is to modify the front-end to accept the new attribute syntax
(including alignas expressions) and to build an internal
representation similar to the one we already have for GNU attributes.

This lets us re-use our existing GNU attribute mechanisms to support
the generalized c++11 attributes.

The patch does change the existing internal representation to support
scoped attribute (aka attributes with namespaces), which is a concept
that doesn't exist in GNU attributes.  I have thus put all existing
GNU extension attributes into the "gnu" namespace.  For instance, in
C++-11, the "unused" attribute would be represented as
"[[gnu::unused]]".  Because there is no syntax for scoped attributes
in C, writting "__attribute__((unused))" unconditionnally refers to
the "unused" attribute in the "gnu" namespace.

Note that this patch follows a conservative understanding of the
specification by disallowing attributes appertaining to types, unless
they apply to a type definition.

Tested on x86_64-unknown-linux-gnu and powerpc64-unknown-linux-gnu.

[1]: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2761.pdf

gcc/
* plugin.h (register_scoped_attributes): Declare new function.
* tree.h (enu attribute_flags::ATTR_FLAG_CXX_11): New flag.
(lookup_scoped_attribute_spec, cxx_11_attribute_p)
(get_attribute_name, get_attribute_namespace): Declare new functions.
(struct attribute_spec): Remove const qualifier from the members.
* tree.c (comp_type_attributes, private_lookup_attribute)
(lookup_ident_attribute, remove_attribute, merge_attribute)
(attribute_hash_list, attribute_list_contained): Use
get_attribute_name.
* attribs.c (decl_attributes): Don't crash on error_mark_node.
Forbid c++11 attributes appertaining to type-specifiers.
(attribute_hash): Remove global variable.
(attributes_table): New global variable.
(find_attribute_namespace, register_scoped_attribute): New static
functions.
(register_scoped_attributes, lookup_scoped_attribute_spec)
(cxx11_attribute_p, get_attribute_name, get_attribute_namespace):
New public functions.
(init_attributes): Register all the GNU attributes into the "gnu"
namespace.
(register_attribute): Use register_scoped_attribute to register
the attribute into the "gnu" namespace.
(lookup_attribute_spec): Use lookup_scoped_attribute_spec to
lookup the attribute in the "gnu" namespace.
(decl_attributes): Use new get_attribute_namespace and
lookup_scoped_attribute_spec to consider attribute namespaces when
looking up attributes.  When operating in c++-11 mode, pass flag
ATTR_FLAG_CXX11 to the spec handler.

gcc/c-family/

* c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
new functions.
* c-common.c (check_cxx_fundamental_alignment_constraints): New
static function.
(handle_aligned_attribute): In choose strictest alignment
among many.  Use new check_cxx_fundamental_alignment_constraints.
(handle_transparent_union_attribute): In c++11 attribute syntax,
don't look through typedefs.

gcc/cp/

* cp-tree.h (enum cpp0x_warn_str::CPP0X_ATTRIBUTES): New member.
(enum cp_decl_spec::ds_std_attribute): New enumerator.
(struct cp_decl_specifier_seq::std_attributes): New field.
(cxx_alignas_expr, warn_misplaced_attr_for_class_type): Declare
new functions.
(check_tag_decl): Take an extra parameter for explicit
instantiations.
* decl.c (warn_misplaced_attr_for_class_type): Extract from ...
(check_tag_decl): ... here.  Add check for c++11 attributes being
applied to an explicit instantiation.  Take an extra parameter for
explicit instantiations.
(grokdeclarator): Make sure a c++11 attribute after an array
declarator appertains to the array, an attribute after a function
declarator appertains to the function type, an attribute after a
declarator-id appertains to the entity being declared, and an
attribute after a pointer declarator appertains to the pointer.
* decl2.c (is_late_template_attribute): Use get_attribute_name.
* error.c (maybe_warn_cpp0x): Support
CPP0X_GENERALIZED_ATTRIBUTES.
* parser.c (cp_next_tokens_can_be_attribute_p)
(cp_next_tokens_can_be_gnu_attribute_p)
(cp_next_tokens_can_be_std_attribute_p)
(cp_nth_tokens_can_be_attribute_p)
(cp_nth_tokens_can_be_gnu_attribute_p)
(cp_nth_tokens_can_be_std_attribute_p)
(cp_parser_gnu_attribute_list, cp_parser_std_attribute)
(cp_parser_std_attribute_spec, cp_parser_std_attribute_spec_seq)
(cp_parser_attributes_opt, cp_parser_std_attribute_list): New
static functions.
(cp_parser_gnu_attributes_opt): Replace cp_parser_attributes_opt.
(cp_parser_gnu_attribute_list): Replace cp_parser_attribute_list.
(cp_parser_postfix_expression): Disallow "[[" tokens here.
(cp_parser_label_for_labeled_statement): Use take an extra
parameter for attributes.
(cp_parser_block_declaration): Use
cp_nth_tokens_can_be_std_attribute_p here.
(cp_parser_decl_specifier_seq): Likewise.  Store C++11 attributes
that appears in in decl specifiers in cp_decl_specifier_seq::std_attributes.
declaration.  Emit proper warning about misplaced c++11 attributes
for class type.
(cp_parser_explicit_instantiation): Adjust call to check_tag_decl.
(cp_parser_init_declarator):  Parsing attributes here is no more a
GNU extension in c++-11.
(cp_parser_type_specifier_seq): Use
cp_next_tokens_can_be_attribute_p.
(cp_parser_direct_declarator): Likewise.  Hang c++11 attributes
following the declarator to its syntactic construct.  It'll later
be applied to the proper appertaining entity by grokdeclarator.
(cp_parser_ptr_operator): Likewise.
(make_declarator): Initialize cp_declarator::std_attribute.
(make_pointer_declarator, make_reference_declarator)
(make_ptrmem_declarator, cp_parser_make_indirect_declarator): Take
attributes that appertain to the pointer/reference in argument.
(cp_parser_ptr_operator): Take an out parameter for c++11
attributes.  Update comments.
(cp_parser_new_declarator_opt)
(cp_parser_conversion_declarator_opt): Adjust.
(cp_parser_declarator): Likewise.  Handle C++11 attributes.
Rename attributes to gnu_attribute for better legibility.
(cp_parser_simple_declaration): Update comment.
(cp_parser_class_specifier_1): Parse GNU attributes specifically
(cp_parser_enum_specifier): Accept only gnu attributes after the
specifier.
(cp_parser_member_declaration): Don't clear attributes -- intended
for the entity being declared -- too early because check_tag_decl
needs them.
(cp_parser_statement): Update comment.  Parse optional c++11
attributes at the beginning of the relevant kind of statements and
ignore them, for now, unless when calling
cp_parser_label_for_labeled_statement.
(cp_parser_label_for_labeled_statement): Take c++11 attributes
in parameter.
* semantics.c (potential_constant_expression_1): Likewise.
* typeck.c (fundamental_alignment_p, cxx_alignas_expr): New public
functions.

gcc/testsuite/

* g++.dg/cpp0x/gen-attrs-1.C: New test.
* g++.dg/cpp0x/gen-attrs-2.C: Likewise.
* g++.dg/cpp0x/gen-attrs-2-1.C: Likewise.
* g++.dg/cpp0x/gen-attrs-3.C: Likewise.
* g++.dg/cpp0x/gen-attrs-4.C: Likewise.
* g++.dg/cpp0x/gen-attrs-5.C: Likewise.
* g++.dg/cpp0x/gen-attrs-6.C: Likewise.
* g++.dg/cpp0x/gen-attrs-7.C: Likewise.
* g++.dg/cpp0x/gen-attrs-8.C: Likewise.
* g++.dg/cpp0x/gen-attrs-9.C: Likewise.
* g++.dg/cpp0x/gen-attrs-10.C: Likewise.
* g++.dg/cpp0x/gen-attrs-11.C: Likewise.
* g++.dg/cpp0x/gen-attrs-12.C: Likewise.
* g++.dg/cpp0x/gen-attrs-13.C: Likewise.
* g++.dg/cpp0x/gen-attrs-14.C: Likewise.
* g++.dg/cpp0x/gen-attrs-15.C: Likewise.
* g++.dg/cpp0x/gen-attrs-16.C: Likewise.
* g++.dg/cpp0x/gen-attrs-17.C: Likewise.
* g++.dg/cpp0x/gen-attrs-18.C: Likewise.
* g++.dg/cpp0x/gen-attrs-19.C: Likewise.
* g++.dg/cpp0x/gen-attrs-20.C: Likewise.
* g++.dg/cpp0x/gen-attrs-21.C: Likewise.
* g++.dg/cpp0x/gen-attrs-22.C: Likewise.
* g++.dg/cpp0x/gen-attrs-23.C: Likewise.
* g++.dg/cpp0x/gen-attrs-24.C: Likewise.
* g++.dg/cpp0x/gen-attrs-25.C: Likewise.
* g++.dg/cpp0x/gen-attrs-26.C: Likewise.
* g++.dg/cpp0x/gen-attrs-27.C: Likewise.
* g++.dg/cpp0x/gen-attrs-28.C: Likewise.
* g++.dg/cpp0x/gen-attrs-29.C: Likewise.
* g++.dg/cpp0x/gen-attrs-30.C: Likewise.
* g++.dg/cpp0x/gen-attrs-31.C: Likewise.
* g++.dg/cpp0x/gen-attrs-32.C: Likewise.
* g++.dg/cpp0x/gen-attrs-33.C: Likewise.
* g++.dg/cpp0x/gen-attrs-34.C: Likewise.
* g++.dg/cpp0x/gen-attrs-35.C: Likewise.
* g++.dg/cpp0x/gen-attrs-36.C: Likewise.
* g++.dg/cpp0x/gen-attrs-36-1.C: Likewise.
* g++.dg/cpp0x/gen-attrs-37.C: Likewise.
* g++.dg/cpp0x/gen-attrs-38.C: Likewise.
* g++.dg/cpp0x/gen-attrs-39.C: Likewise.
* g++.dg/cpp0x/gen-attrs-39-1.C: Likewise.
* g++.dg/cpp0x/gen-attrs-40.C: Likewise.
* g++.dg/cpp0x/gen-attrs-41.C: Likewise.
* g++.dg/cpp0x/gen-attrs-42.C: Likewise.
* g++.dg/cpp0x/gen-attrs-43.C: Likewise.
* g++.dg/cpp0x/gen-attrs-44.C: Likewise.
* g++.dg/cpp0x/gen-attrs-45.C: Likewise.
* g++.dg/cpp0x/gen-attrs-46.C: Likewise.
* g++.dg/cpp0x/gen-attrs-47.C: Likewise.
* g++.dg/cpp0x/gen-attrs-47-1.C: Likewise.
* g++.dg/cpp0x/gen-attrs-48.C: Likewise.
* g++.dg/cpp0x/gen-attrs-49.C: Likewise.
* g++.dg/cpp0x/gen-attrs-50.C: Likewise.
* g++.dg/cpp0x/gen-attrs-51.C: Likewise.
* g++.dg/cpp0x/gen-attrs-52.C: Likewise.
* g++.dg/cpp0x/gen-attrs-53.C: Likewise.

From-SVN: r192199

11 years agore PR target/54815 ([avr] missed optimization with operations with constant operands)
Georg-Johann Lay [Mon, 8 Oct 2012 08:32:46 +0000 (08:32 +0000)]
re PR target/54815 ([avr] missed optimization with operations with constant operands)

PR target/54815
* config/avr/avr.md (*add<mode>3, add<mode>3, addpsi3): Make
constraint alternative "r,0,r" slighly more expensive.
(sub<mode>3,
(andqi3, andhi3, andpsi3, andsi3): Ditto.
(iorqi3, iorhi3, iorpsi3, iorsi3): Ditto.
(xorhi3, xorpsi3, xorsi3): Ditto.

From-SVN: r192198

11 years agoslsr-30.c: Use correct cleanup directive.
Eric Botcazou [Mon, 8 Oct 2012 08:08:44 +0000 (08:08 +0000)]
slsr-30.c: Use correct cleanup directive.

* gcc.dg/tree-ssa/slsr-30.c: Use correct cleanup directive.
* gcc.dg/tree-ssa/attr-hotcold-2.c: Likewise.
* gcc.dg/tree-ssa/ldist-21.c: Add missing cleanup directive.

From-SVN: r192197

11 years ago* ChangeLog: Fix whitespace.
Uros Bizjak [Mon, 8 Oct 2012 06:34:18 +0000 (08:34 +0200)]
* ChangeLog: Fix whitespace.

From-SVN: r192195

11 years agoruntime: Fix __go_symbol_value val argument to backtrace_syminfo.
Ian Lance Taylor [Mon, 8 Oct 2012 04:29:47 +0000 (04:29 +0000)]
runtime: Fix __go_symbol_value val argument to backtrace_syminfo.

From-SVN: r192194

11 years agore PR target/54760 ([SH] Add __builtin_thread_pointer, __builtin_set_thread_pointer)
Oleg Endo [Mon, 8 Oct 2012 02:00:46 +0000 (02:00 +0000)]
re PR target/54760 ([SH] Add __builtin_thread_pointer, __builtin_set_thread_pointer)

PR target/54760
* config/sh/sh.md (*mov<mode>_gbr_load, *mov<mode>_gbr_store): New
insns and accompanying unnamed splits.
* config/sh/predicates.md (general_movsrc_operand,
general_movdst_operand): Reject GBR addresses.
* config/sh/sh-protos.h (sh_find_equiv_gbr_addr): New declaration.
* config/sh/sh.c (sh_address_cost, sh_legitimate_address_p,
sh_secondary_reload): Handle GBR addresses.
(base_reg_disp): New class.
(sh_find_base_reg_disp, sh_find_equiv_gbr_addr): New functions.

PR target/54760
* gcc.target/sh/pr54760-2.c: New.
* gcc.target/sh/pr54760-3.c: New.

From-SVN: r192193

11 years agoDaily bump.
GCC Administrator [Mon, 8 Oct 2012 00:18:01 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r192192

11 years agommix.c (mmix_output_octa): Don't assume HOST_WIDEST_INT_PRINT_HEX starts with "0x".
Hans-Peter Nilsson [Mon, 8 Oct 2012 00:10:20 +0000 (00:10 +0000)]
mmix.c (mmix_output_octa): Don't assume HOST_WIDEST_INT_PRINT_HEX starts with "0x".

* config/mmix/mmix.c (mmix_output_octa): Don't assume
HOST_WIDEST_INT_PRINT_HEX starts with "0x".  Instead use
HOST_WIDE_INT_PRINT_HEX_PURE, falling back to
HOST_WIDEST_INT_PRINT_UNSIGNED.

From-SVN: r192189

11 years agopt.c (fold_non_dependent_expr_sfinae): Remove static specifier.
Paolo Carlini [Sun, 7 Oct 2012 23:08:49 +0000 (23:08 +0000)]
pt.c (fold_non_dependent_expr_sfinae): Remove static specifier.

2012-10-07  Paolo Carlini  <paolo.carlini@oracle.com>

* pt.c (fold_non_dependent_expr_sfinae): Remove static specifier.
(tsubst_copy_and_build): Use get_target_expr_sfinae.
* call.c (build_conditional_expr_1, convert_like_real): Likewise.
* cvt.c (build_up_reference): Likewise.
(ocp_convert): Use abstract_virtuals_error_sfinae.
(build_up_reference): Propagate complain to cp_build_addr_expr.
* decl.c (compute_array_index_type): Use fold_non_dependent_expr_sfinae.
* cp-tree.h: Update declarations.

* cvt.c (build_expr_type_conversion): Tidy.

* tree.c (stabilize_aggr_init): Change to static.

From-SVN: r192188

11 years agore PR c++/51422 ([c++0x] ICE with invalid lambda expression)
Paolo Carlini [Sun, 7 Oct 2012 23:06:16 +0000 (23:06 +0000)]
re PR c++/51422 ([c++0x] ICE with invalid lambda expression)

/cp
2012-10-07  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51422
* semantics.c (is_normal_capture_proxy): Return true for
error_mark_node as DECL_VALUE_EXPR.

/testsuite
2012-10-07  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/51422
* g++.dg/cpp0x/lambda/lambda-ice8.C: New.

From-SVN: r192187

11 years agomachmode.h (GET_MODE_UNIT_PRECISION): New macro.
Richard Sandiford [Sun, 7 Oct 2012 19:17:37 +0000 (19:17 +0000)]
machmode.h (GET_MODE_UNIT_PRECISION): New macro.

gcc/
* machmode.h (GET_MODE_UNIT_PRECISION): New macro.
* simplify-rtx.c (simplify_truncation): New function,
extracted from simplify_subreg and (in small part) from
simplify_unary_operation_1.
(simplify_unary_operation_1) <TRUNCATE>: Use it.  Remove sign bit
test for !TRULY_NOOP_TRUNCATION_MODES_P.
(simplify_subreg): Use simplify_truncate for lowpart subregs
where both the inner and outer modes are scalar integers.
* config/mips/mips.c (mips_truncated_op_cost): New function.
(mips_rtx_costs): Adjust test for BADDU.
* config/mips/mips.md (*baddu_di<mode>): Push truncates to operands.

From-SVN: r192186

11 years agoipa-inline-analysis.c (do_estimate_edge_time): Return actual time spent by the inline...
Jan Hubicka [Sun, 7 Oct 2012 18:58:04 +0000 (20:58 +0200)]
ipa-inline-analysis.c (do_estimate_edge_time): Return actual time spent by the inlined sequence.

* ipa-inline-analysis.c (do_estimate_edge_time): Return actual
time spent by the inlined sequence.
(do_estimate_edge_growth): Rename to ...
(do_estimate_edge_time): ... this one; return size of inlined
sequence.
* ipa-inline.h (do_estimate_edge_size): New.
(do_estimate_edge_growth): Remove.
(estimate_edge_size): New function.
(estimate_edge_growth): Use it.

From-SVN: r192185

11 years agolto-cgraph.c (lto_symtab_encoder_new): New parameter FOR_INPUT.
Jan Hubicka [Sun, 7 Oct 2012 17:16:02 +0000 (19:16 +0200)]
lto-cgraph.c (lto_symtab_encoder_new): New parameter FOR_INPUT.

* lto-cgraph.c (lto_symtab_encoder_new): New parameter FOR_INPUT.
(lto_symtab_encoder_delete): Update.
(lto_symtab_encoder_encode): Update.
(compute_ltrans_boundary): Update.
(input_symtab): Update.
  * lto-streamer.h (lto_symtab_encoder_new): Update.

* lto.c (read_cgraph_and_symbols): Release type merging hash early;
release input encoders.
* lto-partition.c (new_partition): Update for new lto_symtab_encoder_new.

From-SVN: r192184

11 years agoFix typo in previous commit:
Matthias Klose [Sun, 7 Oct 2012 11:46:06 +0000 (11:46 +0000)]
Fix typo in previous commit:

2012-10-07  Matthias Klose  <doko@ubuntu.com>

        * config/arm/unwind-arm.h (__gnu_unwind_24bit): Mark parameters
        as unused.
        (_Unwind_decode_typeinfo_ptr): Mark base as unused.

From-SVN: r192182

11 years agounwind-arm.h (__gnu_unwind_24bit): Mark parameters as unused.
Matthias Klose [Sun, 7 Oct 2012 10:06:30 +0000 (10:06 +0000)]
unwind-arm.h (__gnu_unwind_24bit): Mark parameters as unused.

2012-10-07  Matthias Klose  <doko@ubuntu.com>

        * config/arm/unwind-arm.h (__gnu_unwind_24bit): Mark parameters
        as unused.
        (_Unwind_decode_typeinfo_ptr): Mark base as unused.

From-SVN: r192181

11 years agobasic: Remove empty directory.
Matthias Klose [Sun, 7 Oct 2012 09:59:02 +0000 (09:59 +0000)]
basic: Remove empty directory.

2012-10-07  Matthias Klose  <doko@ubuntu.com>

        * testsuite/28_regex/algorithms/match/basic: Remove empty directory.
        * testsuite/28_regex/algorithms/match/extended: Likewise.
        * testsuite/28_regex/algorithms/match: Likewise.

From-SVN: r192180

11 years agomips-protos.h (mips_split_type): New enum.
Richard Sandiford [Sun, 7 Oct 2012 08:45:23 +0000 (08:45 +0000)]
mips-protos.h (mips_split_type): New enum.

gcc/
* config/mips/mips-protos.h (mips_split_type): New enum.
(mips_split_64bit_move_p, mips_split_doubleword_move): Delete.
(mips_split_move_p, mips_split_move, mips_split_move_insn_p)
(mips_split_move_insn): Declare.
* config/mips/mips.c (mips_tuning_info): New variable.
(mips_load_store_insns): Use mips_split_move_insn_p instead of
mips_split_64bit_move_p.
(mips_emit_move_or_split, mips_mult_move_p): New functions.
(mips_split_64bit_move_p): Rename to...
(mips_split_move_p): ...this and take a mips_split_type argument.
Generalize to all moves.  Call mips_mult_move_p.
(mips_split_doubleword_move): Rename to...
(mips_split_move): ...this and take a mips_split_type argument.
Assert that mips_split_move_p holds.
(mips_insn_split_type, mips_split_move_insn_p, mips_split_move_insn):
New functions.
(mips_output_move): Use mips_split_move_p instead of
mips_split_64bit_move_p.  Handle MULT $0, $0 moves.
(mips_save_reg): Use mips_emit_move_or_split.
(mips_sim_reset): Assign to curr_state.  Call targetm.sched.init
and advance_state.
(mips_sim_init): Call targetm.sched.init_dfa_pre_cycle_insn and
targetm.sched.init_dfa_post_cycle_insn, if defined.
(mips_sim_next_cycle): Assign to curr_state.  Use advance_state
instead of state_transition.
(mips_sim_issue_insn): Assign to curr_state.  Use
targetm.sched.variable_issue to see how many more insns
can be issued.
(mips_seq_time, mips_mult_zero_zero_cost)
(mips_set_fast_mult_zero_zero_p, mips_set_tuning_info)
(mips_expand_to_rtl_hook): New functions.
(TARGET_EXPAND_TO_RTL_HOOK): Define.
* config/mips/mips.md (move_type): Add imul.
(type): Map imul move_types to imul.
(*movdi_32bit, *movti): Add imul alternatives.
Use mips_split_move_insn_p and mips_split_move_insn instead of
mips_split_64bit_move_p and mips_split_doubleword_move in move
splitters.

gcc/testsuite/
2012-10-07  Richard Sandiford  <rdsandiford@googlemail.com>
    Sandra Loosemore  <sandra@codesourcery.com>

* gcc.target/mips/madd-9.c: Force code to be tuned for the 4kc
and test that the accumulator is initialized using MULT.
* gcc.target/mips/mips32-dsp-accinit-1.c: New test.
* gcc.target/mips/mips32-dsp-accinit-2.c: Likewise.

Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>
From-SVN: r192179

11 years agors6000.c (print_operand): Delete.
Segher Boessenkool [Sun, 7 Oct 2012 02:07:42 +0000 (04:07 +0200)]
rs6000.c (print_operand): Delete.

gcc/
* config/rs6000/rs6000.c (print_operand) ['A']: Delete.

From-SVN: r192178

11 years agoDaily bump.
GCC Administrator [Sun, 7 Oct 2012 00:17:50 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r192177

11 years agore PR c++/52764 (Including <cstdint> after <stdint.h> fails to define limit macros)
Paolo Carlini [Sat, 6 Oct 2012 23:06:04 +0000 (23:06 +0000)]
re PR c++/52764 (Including <cstdint> after <stdint.h> fails to define limit macros)

2012-10-06  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/52764
* ginclude/stdint-wrap.h: In C++11 if __STDC_HOSTED__ define
__STDC_LIMIT_MACROS and __STDC_CONSTANT_MACROS.
* ginclude/stdint-gcc.h: In C++11 unconditionally define
limit and constant macros.

/testsuite
2012-10-06  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/52764
* g++.dg/cpp0x/stdint.C: New.

/libstdc++-v3
2012-10-06  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/52764
* include/c_global/cstdint: Remove __STDC_LIMIT_MACROS and
__STDC_CONSTANT_MACROS related macros.

From-SVN: r192174

11 years agore PR c++/54249 ([C++11] No ::nullptr_t in header <stddef.h>)
Paolo Carlini [Sat, 6 Oct 2012 22:44:12 +0000 (22:44 +0000)]
re PR c++/54249 ([C++11] No ::nullptr_t in header <stddef.h>)

2012-10-06  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/54249
* ginclude/stddef.h: In C++11 mode declare nullptr_t in the global
namespace.

/testsuite
2012-10-06  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/54249
* g++.dg/cpp0x/stddef.C: New.

From-SVN: r192173