gcc.git
13 years agoMAINTAINERS (Write After Approval): Add myself.
Paul Pluzhnikov [Wed, 11 May 2011 18:43:43 +0000 (11:43 -0700)]
MAINTAINERS (Write After Approval): Add myself.

2011-05-11  Paul Pluzhnikov  <ppluzhnikov@google.com>

* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r173669

13 years agoinstall.texi (Configuration): Document --with-linker-hash-style.
Satoru Takabayashi [Wed, 11 May 2011 18:28:14 +0000 (18:28 +0000)]
install.texi (Configuration): Document --with-linker-hash-style.

2011-05-11  Satoru Takabayashi  <satorux@google.com>
    Paul Pluzhnikov  <ppluzhnikov@google.com>

* gcc/doc/install.texi (Configuration): Document
--with-linker-hash-style.
* gcc/gcc.c (init_spec): Handle LINKER_HASH_STYLE.
* gcc/config.in: Add LINKER_HASH_STYLE.
* gcc/configure.ac: Add --with-linker-hash-style.
* gcc/configure: Regenerate.

Co-Authored-By: Paul Pluzhnikov <ppluzhnikov@google.com>
From-SVN: r173668

13 years agodon't use build_function_type in the Ada FE
Nathan Froyd [Wed, 11 May 2011 15:53:50 +0000 (15:53 +0000)]
don't use build_function_type in the Ada FE

don't use build_function_type in the Ada FE
* gcc-interface/utils.c (def_fn_type): Don't call build_function_type;
call build_function_type_array or build_varargs_function_type_array
instead.
(create_subprog_type): Don't call build_function_type; call
build_function_type_vec instead.

From-SVN: r173664

13 years agore PR bootstrap/48964 (LTO profiledbootstrap failure)
Richard Guenther [Wed, 11 May 2011 15:44:59 +0000 (15:44 +0000)]
re PR bootstrap/48964 (LTO profiledbootstrap failure)

2011-05-11  Richard Guenther  <rguenther@suse.de>

PR middle-end/48964
* gimple.c (iterative_hash_canonical_type): Fix typo.

From-SVN: r173663

13 years agoi386.c (legitimize_tls_address): Call gen_tls_dynamic_gnu2_{32,64} expanders directly...
Uros Bizjak [Wed, 11 May 2011 15:30:52 +0000 (17:30 +0200)]
i386.c (legitimize_tls_address): Call gen_tls_dynamic_gnu2_{32,64} expanders directly for TARGET_GNU2_TLS.

* config/i386/i386.c (legitimize_tls_address)
<TLS_MODEL_GLOBAL_DYNAMIC>: Call gen_tls_dynamic_gnu2_{32,64}
expanders directly for TARGET_GNU2_TLS.  Determine pic and
__tls_get_addr symbol reference here.  Update call to
gen_tls_global_dynamic_{32,64} for added arguments.
<TLS_MODEL_LOCAL_DYNAMIC>: Call gen_tls_dynamic_gnu2_{32,64}
expanders directly for TARGET_GNU2_TLS.  Determine
__tls_get_addr symbol reference here.  Update call to
gen_tls_local_dynamic_base_{32,64} for added arguments.  Attach
unique UNSPEC REG_EQUIV to libcall block.
(ix86_tls_get_addr): Declare static.
* config/i386/i386-protos.h (ix86_tls_get_addr): Remove declaration.
* config/i386/i386.md (tls_global_dynamic_32): Add operand 2 and 3.
Do not determine pic and __tls_get_addr symbol reference here. Do not
call gen_tls_dynamic_gnu2_32 for TARGET_GNU2_TLS.
(tls_local_dynamic_base_32): Ditto for operands 1 and 2.
(tls_global_dynamic_64): Add operand 2.  Do not determine
__tls_get_addr symbol reference here.  Do not call
gen_tls_dynamic_gnu2_64 for TARGET_GNU2_TLS here.
(tls_local_dynamic_base64): Ditto for operand 1.

From-SVN: r173662

13 years agofunction.c (expand_function_start): Initialize stack_check_probe_note only if the...
Eric Botcazou [Wed, 11 May 2011 15:15:26 +0000 (15:15 +0000)]
function.c (expand_function_start): Initialize stack_check_probe_note only if the generic stack checking mechanism...

* function.c (expand_function_start): Initialize stack_check_probe_note
only if the generic stack checking mechanism is used.

From-SVN: r173661

13 years agore PR tree-optimization/15256 ([tree-ssa] Optimize manual bitfield manipilation.)
Richard Guenther [Wed, 11 May 2011 14:13:38 +0000 (14:13 +0000)]
re PR tree-optimization/15256 ([tree-ssa] Optimize manual bitfield manipilation.)

2011-05-11  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/15256
* tree-ssa-forwprop.c (simplify_bitwise_binary): Canonicalize
(A & B) | C, combine (A op CST1) op CST2.
(tree_ssa_forward_propagate_single_use_vars): Only bother to
visit assigns that have uses.

* gcc.dg/tree-ssa/forwprop-14.c: New testcase.

From-SVN: r173659

13 years agosplit tree_type
Nathan Froyd [Wed, 11 May 2011 13:48:55 +0000 (13:48 +0000)]
split tree_type

split tree_type
gcc/ada/
* gcc-interface/ada-tree.h (TYPE_OBJECT_RECORD_TYPE): Use TYPE_MINVAL.
(TYPE_GCC_MIN_VALUE): Use TYPE_MINVAL.
(TYPE_GCC_MAX_VALUE): Use TYPE_MAXVAL.

gcc/cp/
* cp-tree.h (TYPENAME_TYPE_FULLNAME, TYPEOF_TYPE_EXPR): Use
TYPE_VALUES_RAW.
(UNDERLYING_TYPE_TYPE, DECLTYPE_TYPE_EXPR): Likewise.
(DECLTYPE_TYPE_ID_EXPR_OR_MEMBER_ACCESS_P): Likewise.
(TEMPLATE_TYPE_PARM_INDEX): Likewise.

gcc/
* ggc-page.c (extra_order_size_table): Use struct
tree_type_non_common.
* lto-streamer-in.c (unpack_ts_type_value_fields): Rename to...
(unpack_ts_type_common_value_fields): ...this.  Update comment.
(unpack_value_fields): Adjust for renaming.
(lto_input_ts_type_tree_pointers): Split into...
(lto_input_ts_type_common_tree_pointer): ...this and...
(lto_input_ts_type_non_common_tree_pointers): ...this.
(lto_input_tree_pointers): Adjust for above split.
* lto-streamer-out.c (pack_ts_type_value_fields): Rename to...
(pack_ts_type_common_value_fields): ...this.  Update comment.
(lto_output_ts_type_tree_pointers): Split into...
(lto_output_ts_type_common_tree_pointers): ...this and...
(lto_output_ts_type_non_common_tree_pointers): ...this.
(lto_output_tree_pointers): Adjust for above split.
* lto-streamer.c (check_handled_ts_structures): Mark TS_TYPE_COMMON,
TS_TYPE_WITH_LANG_SPECIFIC, and TS_TYPE_NON_COMMON as handled.
* stor-layout.c (vector_type_mode): Adjust location of mode field.
* tree.h (MARK_TS_TYPE_COMMON, MARK_TS_TYPE_WITH_LANG_SPECIFIC):
Define.
(struct tree_type): Split into...
(struct tree_type_common: ...this and...
(struct tree_type_with_lang_specific): ...this and...
(struct tree_type_non_common): ...this.  Adjust accessor macros
accordingly.
(TYPE_VALUES_RAW): Define.
(union tree_node): Update for above changes.
* tree.c (tree_node_structure_for_code) [tcc_type]: Return
TS_TYPE_NON_COMMON.
(initialize_tree_contains_struct) [TS_TYPE]: Use TS_TYPE_COMMON.
Add TS_TYPE_WITH_LANG_SPECIFIC and TS_TYPE_NON_COMMON.
(tree_code_size) [tcc_type]: Use struct tree_type_non_common.
* treestructu.def (TS_TYPE): Remove.
(TS_TYPE_COMMON, TS_TYPE_WITH_LANG_SPECIFIC, TS_TYPE_NON_COMMON):
Define.

gcc/java/
* java-tree.h (TYPE_ARGUMENT_SIGNATURE): Use TYPE_MINVAL.

gcc/lto/
* lto.c (lto_ft_type): Use TYPE_MINVAL and TYPE_MAXVAL.  Adjust
location of binfo field.
(lto_fixup_prevailing_decls): Likewise.

gcc/objc/
* objc-act.h (CLASS_NAME, CLASS_SUPER_NAME): Use proper accessors.
(CLASS_NST_METHODS, CLASS_CLS_METHODS): Likewise.
(PROTOCOL_NAME, PROTOCOL_NST_METHODS, PROTOCOL_CLS_METHODS): Likewise.

From-SVN: r173658

13 years agore PR debug/48159 (ICE: SIGSEGV in build2_stat (tree.c:3802) with -ftree-loop-distrib...
Jakub Jelinek [Wed, 11 May 2011 12:53:43 +0000 (14:53 +0200)]
re PR debug/48159 (ICE: SIGSEGV in build2_stat (tree.c:3802) with -ftree-loop-distribution -g)

PR debug/48159
* tree-ssa.c (reset_debug_uses): New function.
* tree-flow.h (reset_debug_uses): New prototype.
* tree-data-ref.c (stmts_from_loop): Ignore debug stmts.
* tree-loop-distribution.c (generate_loops_for_partition): Call
reset_debug_uses on the stmts that will be removed.  Keep around
all debug stmts, don't count them as bits in partition bitmap.
(generate_builtin): Don't count debug stmts or labels as bits in
partition bitmap.

* gcc.dg/pr48159-1.c: New test.
* gcc.dg/pr48159-2.c: New test.

From-SVN: r173656

13 years agogimple.c (gimple_type_hash_1): Merge with ...
Richard Guenther [Wed, 11 May 2011 12:45:00 +0000 (12:45 +0000)]
gimple.c (gimple_type_hash_1): Merge with ...

2011-05-11  Richard Guenther  <rguenther@suse.de>

* gimple.c (gimple_type_hash_1): Merge with ...
(gimple_type_hash): ... this.
(gtc_visit): Remove mode parameter and simplify accordingly.
(gimple_types_compatible_p_1): Likewise.
(gimple_types_compatible_p): Likewise.
(iterative_hash_gimple_type): Likewise.
(visit): Likewise.
(gimple_type_eq): Adjust.

From-SVN: r173655

13 years agoSupport closing_branch_deps
Revital Eres [Wed, 11 May 2011 12:38:12 +0000 (12:38 +0000)]
Support closing_branch_deps

From-SVN: r173654

13 years agore PR middle-end/48953 (ICE: verify_gimple failed: type mismatch in array reference...
Richard Guenther [Wed, 11 May 2011 12:23:12 +0000 (12:23 +0000)]
re PR middle-end/48953 (ICE: verify_gimple failed: type mismatch in array reference with -flto and struct with vararray)

2011-05-11  Richard Guenther  <rguenther@suse.de>

PR middle-end/48953
* tree-inline.c (remap_gimple_op_r): Also remap types of MEM_REFs.

* gcc.dg/torture/pr48953.c: New testcase.

From-SVN: r173653

13 years agoopts.c (finish_options): Move warning settings from process_options.
Joseph Myers [Wed, 11 May 2011 11:11:34 +0000 (12:11 +0100)]
opts.c (finish_options): Move warning settings from process_options.

* opts.c (finish_options): Move warning settings from
process_options.
* toplev.c (process_options): Move warning settings to
finish_options.

From-SVN: r173651

13 years agore PR middle-end/18041 (OR of two single-bit bitfields is inefficient)
Richard Guenther [Wed, 11 May 2011 10:52:57 +0000 (10:52 +0000)]
re PR middle-end/18041 (OR of two single-bit bitfields is inefficient)

2011-05-11  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/18041
* tree-ssa-forwprop.c (simplify_bitwise_and): Rename to ...
(simplify_bitwise_binary): ... this.  Handle operand conversions
by applying them to the result instead.
(tree_ssa_forward_propagate_single_use_vars): Adjust.  CSE tree code.

* gcc.dg/tree-ssa/forwprop-13.c: New testcase.

From-SVN: r173650

13 years agogimple.c (gimple_canonical_types_compatible_p): Split out from gimple_types_compatibl...
Richard Guenther [Wed, 11 May 2011 08:36:51 +0000 (08:36 +0000)]
gimple.c (gimple_canonical_types_compatible_p): Split out from gimple_types_compatible_p and friends.

2011-05-11  Richard Guenther  <rguenther@suse.de>

* gimple.c (gimple_canonical_types_compatible_p): Split out
from gimple_types_compatible_p and friends.  Do not recurse
to pointed-to types.
(gimple_canonical_type_eq): Use it.
(iterative_hash_canonical_type): Split out from
iterative_hash_gimple_type and friends.  Do not recurse
to pointed-to types.
(gimple_canonical_type_hash): Use it, allocate the hash here.

From-SVN: r173649

13 years agoSkip DEBUG_INSNs while recognizing doloop
Revital Eres [Wed, 11 May 2011 07:40:26 +0000 (07:40 +0000)]
Skip DEBUG_INSNs while recognizing doloop

From-SVN: r173647

13 years agoSkip DEBUG_INSN in loop-doloop.c
Revital Eres [Wed, 11 May 2011 07:12:14 +0000 (07:12 +0000)]
Skip DEBUG_INSN in loop-doloop.c

From-SVN: r173646

13 years agoDoloop pattern for ARM
Revital Eres [Wed, 11 May 2011 07:08:44 +0000 (07:08 +0000)]
Doloop pattern for ARM

From-SVN: r173645

13 years agore PR target/47755 (VSX code generates a TOC reference to clear memory)
Alan Modra [Wed, 11 May 2011 04:29:13 +0000 (13:59 +0930)]
re PR target/47755 (VSX code generates a TOC reference to clear memory)

PR target/47755
* gcc.target/powerpc/pr47755-2.c: Require vsx_hw.

From-SVN: r173643

13 years agoDaily bump.
GCC Administrator [Wed, 11 May 2011 00:18:23 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r173641

13 years agomake CASE_LABEL_EXPR not abuse TREE_CHAIN
Nathan Froyd [Tue, 10 May 2011 19:52:39 +0000 (19:52 +0000)]
make CASE_LABEL_EXPR not abuse TREE_CHAIN

make CASE_LABEL_EXPR not abuse TREE_CHAIN
* tree.def (CASE_LABEL_EXPR): Add an operand.
* tree.h (CASE_CHAIN): Use TREE_OPERAND instead of TREE_CHAIN.

From-SVN: r173633

13 years agoc-decl.c (c_override_global_bindings_to_false): Remove.
Joseph Myers [Tue, 10 May 2011 19:12:34 +0000 (20:12 +0100)]
c-decl.c (c_override_global_bindings_to_false): Remove.

* c-decl.c (c_override_global_bindings_to_false): Remove.
(global_bindings_p): Don't check
c_override_global_bindings_to_false.
* c-tree.h (c_override_global_bindings_to_false): Remove.
* c-typeck.c (composite_type): Don't set
c_override_global_bindings_to_false.

From-SVN: r173632

13 years agore PR c++/48930 ([C++0x] Invalid implicitly declared default c'tor)
Jason Merrill [Tue, 10 May 2011 17:58:46 +0000 (13:58 -0400)]
re PR c++/48930 ([C++0x] Invalid implicitly declared default c'tor)

PR c++/48930
* class.c (type_build_ctor_call): New.
* cp-tree.h: Declare it.
* decl.c (check_initializer): Use it instead of
TYPE_NEEDS_CONSTRUCTING.
* init.c (build_value_init, build_value_init_noctor): Likewise.
(perform_member_init, expand_aggr_init_1, build_new_1): Likewise.
(build_vec_init): Likewise.
* typeck2.c (process_init_constructor_array): Likewise.
(process_init_constructor_record): Likewise.

From-SVN: r173628

13 years agore PR c++/48736 ([C++0x] ICE during list-initialization with variadics)
Jason Merrill [Tue, 10 May 2011 17:58:38 +0000 (13:58 -0400)]
re PR c++/48736 ([C++0x] ICE during list-initialization with variadics)

PR c++/48736
* pt.c (tsubst_copy_and_build): Handle substitution of a pack
expansion producing another expansion.

From-SVN: r173627

13 years agoFixes for override/final.
Ville Voutilainen [Tue, 10 May 2011 17:58:30 +0000 (20:58 +0300)]
Fixes for override/final.

* class.c (check_for_override): Diagnose final on a nonvirtual
member function, diagnose override for a virtual with no matching
override. Don't fiddle around with DECL_VINDEX.

From-SVN: r173626

13 years agomark EXPR_PACK_EXPANSION as typed only
Nathan Froyd [Tue, 10 May 2011 17:23:31 +0000 (17:23 +0000)]
mark EXPR_PACK_EXPANSION as typed only

mark EXPR_PACK_EXPANSION as typed only
        * cp-tree.def (EXPR_PACK_EXPANSION): Add an operand.
        * cp-objcp-common.c (cp_common_init_ts): Mark it as TS_TYPED.
        * cp-tree.h (PACK_EXPANSION_PARAMETER_PACKS): Use the new
        operand of EXPR_PACK_EXPANSION.
(cp_tree_operand_length): Declare.
        * tree.c (cp_tree_operand_length): Define.
(cp_tree_equal): Call it.
        * pt.c (value_dependent_expr_P): Likewise.
        * mangle.c (write_expression): Likewise.

From-SVN: r173625

13 years agoFix PRs 48857, 48495
Michael Meissner [Tue, 10 May 2011 17:20:46 +0000 (17:20 +0000)]
Fix PRs 48857, 48495

From-SVN: r173624

13 years agouse build_function_type less in c-family and LTO
Nathan Froyd [Tue, 10 May 2011 16:56:19 +0000 (16:56 +0000)]
use build_function_type less in c-family and LTO

use build_function_type less in c-family and LTO
gcc/c-family/
* c-common.c (def_fn_type): Don't call build_function_type, call
build_function_type_array or build_varargs_function_type_array
instead.
(c_common_nodes_and_builtins): Likewise.

gcc/lto/
* lto-lang.c (def_fn_type): Don't call build_function_type, call
build_function_type_array or build_varargs_function_type_array
instead.

From-SVN: r173623

13 years agoconfig.gcc (i[34567]86-*-darwin*, [...]): Add i386/darwin-lib.h to $libgcc_tm_file.
Joseph Myers [Tue, 10 May 2011 16:40:55 +0000 (17:40 +0100)]
config.gcc (i[34567]86-*-darwin*, [...]): Add i386/darwin-lib.h to $libgcc_tm_file.

gcc:
* config.gcc (i[34567]86-*-darwin*, x86_64-*-darwin*): Add
i386/darwin-lib.h to $libgcc_tm_file.
* config/i386/darwin.h (DECLARE_LIBRARY_RENAMES): Remove.

libgcc:
* config/i386/darwin-lib.h: New file.

From-SVN: r173622

13 years ago* doc/sourcebuild.texi (Back End): Mention contrib/config-list.mk.
Joseph Myers [Tue, 10 May 2011 15:33:48 +0000 (16:33 +0100)]
* doc/sourcebuild.texi (Back End): Mention contrib/config-list.mk.

From-SVN: r173621

13 years agogcc_update (gcc/config/rs6000/rs6000-tables.opt): New dependencies.
Joseph Myers [Tue, 10 May 2011 14:46:34 +0000 (15:46 +0100)]
gcc_update (gcc/config/rs6000/rs6000-tables.opt): New dependencies.

contrib:
* gcc_update (gcc/config/rs6000/rs6000-tables.opt): New
dependencies.

gcc:
* config/rs6000/genopt.sh, config/rs6000/rs6000-cpus.def: New
files.
* config/rs6000/rs6000-tables.opt: New file (generated).
* config.gcc (powerpc*-*-*, rs6000*-*-*): Add
rs6000/rs6000-tables.opt to extra_options.
* config/rs6000/rs6000-opts.h (RS6000_CPU_OPTION_NATIVE): Define.
* config/rs6000/rs6000.c (rs6000_select): Remove.
(processor_target_table): Move contents to rs6000-cpus.def.
(darwin_rs6000_override_options): Check
global_options_set.x_rs6000_cpu_index instead of
rs6000_select[1].string.
(rs6000_option_override_internal): Likewise.
(rs6000_handle_option): Don't assert that global structures are in
use.  Don't handle OPT_mcpu_ and OPT_mtune_ here.
(rs6000_default_cpu): New variable.
(rs6000_file_start): Set it instead of local default_cpu.  Check
rs6000_default_cpu, global_options_set.x_rs6000_cpu_index and
global_options_set.x_rs6000_tune_index instead of rs6000_select.
(rs6000_darwin_file_start): Check rs6000_default_cpu and
global_options_set.x_rs6000_cpu_index instead of rs6000_select.
* config/rs6000/rs6000.h (struct rs6000_cpu_select,
rs6000_select): Remove.
* config/rs6000/rs6000.opt (rs6000_cpu_index, rs6000_tune_index):
Remove.
(mcpu=, mtune=): Use Var, Init, Enum and Save.
* config/rs6000/t-rs6000
($(srcdir)/config/rs6000/rs6000-tables.opt): New.
* config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Check
global_options_set.x_rs6000_cpu_index instead of
rs6000_select[1].string.
* config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Check
global_options_set.x_rs6000_cpu_index instead of
rs6000_select[1].string.

From-SVN: r173620

13 years agoconfig.gcc (libgcc_tm_file): Define instead of including files from ../../libgcc...
Joseph Myers [Tue, 10 May 2011 14:41:47 +0000 (15:41 +0100)]
config.gcc (libgcc_tm_file): Define instead of including files from ../../libgcc/config/ in tm_file.

gcc:
* config.gcc (libgcc_tm_file): Define instead of including files
from ../../libgcc/config/ in tm_file.
* configure.ac (libgcc_tm_file_list, libgcc_tm_include_list):
Define.
* configure: Regenerate.
* Makefile.in (libgcc_tm_file_list, libgcc_tm_include_list,
libgcc_tm.h, cs-libgcc_tm.h): New.
(TM_H): Include libgcc_tm.h and $(libgcc_tm_file_list).
(clean): Remove libgcc_tm.h.
* config/arm/symbian.h (RENAME_LIBRARY): Remove.
* mkconfig.sh: Include libgcc_tm.h in tm.h if USED_FOR_TARGET.
* system.h (DECLARE_LIBRARY_RENAMES): Poison.

libgcc:
* config/arm/symbian-lib.h: New.

From-SVN: r173619

13 years agore PR target/48896 (avr.o warnings)
Georg-Johann Lay [Tue, 10 May 2011 12:16:09 +0000 (12:16 +0000)]
re PR target/48896 (avr.o warnings)

PR target/48896
* config/avr/avr.c (avr_ret_register): Return unsigned int
instead of int.
(avr_function_value): Mark fn_decl_or_type as unused, don't pass
it to avr_libcall_value.
avr_expand_builtin): Use EXPAND_NORMAL as arg 4 in calls to
expand_expr.
(avr_expand_binop_builtin): Ditto.
(avr_expand_unop_builtin): Ditto.

From-SVN: r173617

13 years agorx.h (JUMP_ALIGN, [...]): Define.
DJ Delorie [Tue, 10 May 2011 11:01:49 +0000 (07:01 -0400)]
rx.h (JUMP_ALIGN, [...]): Define.

* config/rx/rx.h (JUMP_ALIGN, LABEL_ALIGN, LOOP_ALIGN): Define.
(LABEL_ALIGN_AFTER_BARRIER): Pass label to rx_align_for_label
* config/rx/rx.c (rx_align_for_label): Add label and
uses_threshold parameters.  Do not align when the label is not
used enough.
* config/rx/rx-protos.h (rx_align_for_label): Update prototype.

From-SVN: r173615

13 years agotree-ssa-forwprop.c (combine_conversions): Pattern-match a series of conversions...
Richard Guenther [Tue, 10 May 2011 09:57:50 +0000 (09:57 +0000)]
tree-ssa-forwprop.c (combine_conversions): Pattern-match a series of conversions and apply foldings similar to what...

2011-05-10  Richard Guenther  <rguenther@suse.de>

* tree-ssa-forwprop.c (combine_conversions): Pattern-match
a series of conversions and apply foldings similar to what
fold-const does.
(tree_ssa_forward_propagate_single_use_vars): Call it.

* gcc.dg/tree-ssa/ssa-fre-2.c: Disable forwprop.
* gcc.dg/tree-ssa/ssa-fre-3.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-4.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-5.c: Likewise.
* gcc.dg/tree-ssa/scev-cast.c: Adjust.  Note what transformation
applies.

From-SVN: r173612

13 years agore PR tree-optimization/48611 (ICE: SIGSEGV in remap_eh_region_nr (tree-inline.c...
Jakub Jelinek [Tue, 10 May 2011 06:08:18 +0000 (08:08 +0200)]
re PR tree-optimization/48611 (ICE: SIGSEGV in remap_eh_region_nr (tree-inline.c:1194) with -Os -fopenmp -fexceptions -fno-tree-ccp -fno-tree-copy-prop on basic code)

PR tree-optimization/48611
PR tree-optimization/48794
* tree-eh.c (remove_unreachable_handlers): Don't remove regions
referenced from RESX or EH_DISPATCH arguments.

* gfortran.dg/gomp/pr48611.f90: New test.
* gfortran.dg/gomp/pr48794.f90: New test.

From-SVN: r173607

13 years agore PR debug/48928 (ICE: in decimal_to_decnumber, at dfp.c:113 with -O -g and decimal...
Jakub Jelinek [Tue, 10 May 2011 06:05:20 +0000 (08:05 +0200)]
re PR debug/48928 (ICE: in decimal_to_decnumber, at dfp.c:113 with -O -g and decimal float)

PR debug/48928
* dfp.c (decimal_to_decnumber): Handle conversion from
dconst{1,2,m1,half}.

* gcc.dg/dfp/pr48928.c: New test.

From-SVN: r173606

13 years agoDaily bump.
GCC Administrator [Tue, 10 May 2011 00:19:26 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r173604

13 years agore PR c++/48522 ([C++0x] decltype((object)) with templated classes crashes g++ 4...
Paolo Carlini [Mon, 9 May 2011 23:24:01 +0000 (23:24 +0000)]
re PR c++/48522 ([C++0x] decltype((object)) with templated classes crashes g++ 4.5.1.)

2011-05-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/48522
* g++.dg/cpp0x/pr48522.C: New.

From-SVN: r173598

13 years agore PR c++/48735 ([C++0x][SFINAE] Hard errors with array list-construction and deleted...
Paolo Carlini [Mon, 9 May 2011 22:57:19 +0000 (22:57 +0000)]
re PR c++/48735 ([C++0x][SFINAE] Hard errors with array list-construction and deleted default c'tor)

2011-05-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/48735
* g++.dg/cpp0x/sfinae21.C: New.

2011-05-09  Paolo Carlini  <paolo.carlini@oracle.com>

* g++.dg/template/sfinae28.C: Rename to...
* g++.dg/cpp0x/sfinae19.C: ... this.
* g++.dg/template/sfinae29.C: Rename to...
* g++.dg/cpp0x/sfinae20.C: ... this.

From-SVN: r173597

13 years agogcc-gdb-test.exp (gdb-test): Reorder matchers to give more consistent results.
Jeff Law [Mon, 9 May 2011 21:40:54 +0000 (15:40 -0600)]
gcc-gdb-test.exp (gdb-test): Reorder matchers to give more consistent results.

* lib/gcc-gdb-test.exp (gdb-test): Reorder matchers to give more
consistent results.

From-SVN: r173595

13 years agore PR c++/20039 (uninitialized const in `new' of `const struct')
Fabien Chêne [Mon, 9 May 2011 20:56:29 +0000 (22:56 +0200)]
re PR c++/20039 (uninitialized const in `new' of `const struct')

gcc/testsuite/ChangeLog:

2011-05-09  Fabien Chene  <fabien@gcc.gnu.org>
PR c++/20039
* g++.dg/init/pr20039.C: New.

From-SVN: r173592

13 years agoi386.c (ix86_autovectorize_vector_sizes): Return 0 for !flag_prefer_avx128.
Uros Bizjak [Mon, 9 May 2011 20:51:19 +0000 (22:51 +0200)]
i386.c (ix86_autovectorize_vector_sizes): Return 0 for !flag_prefer_avx128.

* config/i386/i386.c (ix86_autovectorize_vector_sizes): Return 0
for !flag_prefer_avx128.
(ix86_preferred_simd_mode): Return word_mode for DFmode without SSE2.

From-SVN: r173591

13 years agore PR c++/48737 ([C++0x][SFINAE] Hard errors with array list-construction with too...
Paolo Carlini [Mon, 9 May 2011 19:24:50 +0000 (19:24 +0000)]
re PR c++/48737 ([C++0x][SFINAE] Hard errors with array list-construction with too many elements)

/cp
2011-05-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/48737
PR c++/48744
* decl.c (reshape_init): Take a complain parameter and do
not call error if tf_error is not set.
(check_initializer, reshape_init_r, reshape_init_array,
reshape_init_array_1, reshape_init_vector, reshape_init_class):
Adjust.
* typeck2.c (digest_init_r): Take a complain parameter and
pass it to convert_for_initialization.
(digest_init, digest_init_flags, process_init_constructor_array,
process_init_constructor_record, process_init_constructor_union,
process_init_constructor, digest_init_r): Adjust.
* init.c (expand_default_init, build_new_1): Likewise.
* typeck.c (cp_build_modify_expr): Likewise.
* decl2.c (grokfield): Likewise.
* call.c (convert_like_real, convert_default_arg): Likewise.
* semantics.c (finish_compound_literal): Pass complain to
reshape_init and digest_init.
* cp-tree.h: Adjust declarations.

/testsuite
2011-05-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/48737
PR c++/48744
* g++.dg/template/sfinae28.C: New.
* g++.dg/template/sfinae29.C: Likewise.

From-SVN: r173590

13 years agofold-const.c (fold_range_test): Pass LOC to build_range_check.
Eric Botcazou [Mon, 9 May 2011 18:36:31 +0000 (18:36 +0000)]
fold-const.c (fold_range_test): Pass LOC to build_range_check.

* fold-const.c (fold_range_test): Pass LOC to build_range_check.
(fold_ternary_loc): Use expr_location_or.

From-SVN: r173588

13 years agoOne more POINTERS_EXTEND_UNSIGNED fix in mem_loc_descriptor.
H.J. Lu [Mon, 9 May 2011 18:16:04 +0000 (18:16 +0000)]
One more POINTERS_EXTEND_UNSIGNED fix in mem_loc_descriptor.

2011-05-09  H.J. Lu  <hongjiu.lu@intel.com>

PR debug/48853
* dwarf2out.c (mem_loc_descriptor) <case SUBREG>: If
POINTERS_EXTEND_UNSIGNED is defined, don't give up if mode is
Pmode and mem_mode is not VOIDmode.

From-SVN: r173587

13 years ago* g++.dg/template/nontype23.C: New.
Jason Merrill [Mon, 9 May 2011 18:03:02 +0000 (14:03 -0400)]
* g++.dg/template/nontype23.C: New.

From-SVN: r173586

13 years agoFix PR C++/48859
Fabien Chêne [Mon, 9 May 2011 17:42:21 +0000 (19:42 +0200)]
Fix PR C++/48859

From-SVN: r173583

13 years agore PR c++/34772 (self-initialisation does not silence uninitialised warnings (-Winit...
Jason Merrill [Mon, 9 May 2011 17:34:44 +0000 (13:34 -0400)]
re PR c++/34772 (self-initialisation does not silence uninitialised warnings (-Winit-self ignored))

PR c++/34772
* decl.c (initialize_local_var): Use DECL_INITIAL for simple
initialization.

From-SVN: r173582

13 years agoImplement final/override for member functions.
Ville Voutilainen [Mon, 9 May 2011 17:34:35 +0000 (20:34 +0300)]
Implement final/override for member functions.

gcc/
* tree.h (TYPE_UNQUALIFIED, TYPE_QUAL_CONST): Convert to enum.
(TYPE_QUAL_VOLATILE, TYPE_QUAL_RESTRICT): Likewise.
gcc/cp/
* class.c (check_for_override): Check for DECL_OVERRIDE_P.
* cp-tree.h (DECL_OVERRIDE_P, DECL_FINAL_P): New.
(cp_virt_specifiers, enum virt_specifier): New.
* decl.c (set_virt_specifiers): New.
(grokdeclarator): Use them. Diagnose virt-specifiers on non-fields.
* parser.c (make_call_declarator): add virt-specifiers parameter.
(cp_parser_lambda_declarator_opt): Adjust.
(cp_parser_direct_declarator): Likewise.
(cp_parser_virt_specifier_seq_opt): New.
* search.c (check_final_overrider): Diagnose attempts to override
a final member function.

From-SVN: r173581

13 years agopredicates.md (const_pow2_1_to_2_operand): Remove.
Uros Bizjak [Mon, 9 May 2011 17:31:48 +0000 (19:31 +0200)]
predicates.md (const_pow2_1_to_2_operand): Remove.

2011-05-09  Uros Bizjak  <ubizjak@gmail.com>

* config/i386/predicates.md (const_pow2_1_to_2_operand): Remove.
(const_pow2_1_to_8_operand): Ditto.
(const_pow2_1_to_128_operand): Ditto.
(const_pow2_1_to_32768_operand): Ditto.
* config/i386/mmx.md (*mmx_pinsrw): Use const_int_operand instead of
const_pow2_1_to_8_operand for operand 3 predicate.  Use exact_log2
in insn constraint to check integer value of operand 3.
* config/i386/sse.md (*vec_setv4sf_sse4_1): Ditto.

(PINSR_MODE): New mode iterator.
(sse2p4_1): New mode attribute.
(<sse2p4_1>_pinsr<ssemodesuffix>): Merge insn from sse4_1_pinsrb,
sse2_pinsrw, sse4_1_pinsrd and sse4_1_pinsrq using PINSR_MODE mode
iterator.  Use const_int_operand instead of
const_pow2_1_to_{2,8,128,32768}_operand for operand 3 predicate.  Use
exact_log2 in insn constraint to check integer value of operand 3.

2011-05-09  Uros Bizjak  <ubizjak@gmail.com>

* config/i386/sse.md (blendbits): Remove mode attribute.
(<sse4_1>_blend<ssemodesuffix><avxsizesuffix>): Use const_int_operand
instead of const_0_to_<blendbits>_operand for operand 3 predicate.
Check integer value of operand 3 in insn constraint.

From-SVN: r173580

13 years agolto-symtab.c (lto_cgraph_replace_node): Use types_compatible_p for diagnostics.
Richard Guenther [Mon, 9 May 2011 16:00:48 +0000 (16:00 +0000)]
lto-symtab.c (lto_cgraph_replace_node): Use types_compatible_p for diagnostics.

2011-05-09  Richard Guenther  <rguenther@suse.de>

* lto-symtab.c (lto_cgraph_replace_node): Use types_compatible_p
for diagnostics.
(lto_symtab_merge): Likewise.  Do not register types here.
(lto_symtab_merge_decls_2): Likewise.
(lto_symtab_merge_decls_1): Likewise.
* gimple.h (enum gtc_mode, gimple_types_compatible_p): Do not declare.
* gimple.c (enum gtc_mode): Declare.
(gimple_types_compatible_p): Make static.

From-SVN: r173575

13 years agore PR libstdc++/48933 (Infinite recursion in tr1/cmath functions with complex parameters)
Paolo Carlini [Mon, 9 May 2011 15:38:21 +0000 (15:38 +0000)]
re PR libstdc++/48933 (Infinite recursion in tr1/cmath functions with complex parameters)

2011-05-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/48933
* include/c_global/cmath (acosh, asinh, atanh, cbrt, copysign,
erf, erfc, exp2, expm1, fdim, fma, fmax, hypot, ilogb, lgamma,
llrint, llround, log1p, log2, logb, lrint, lround, nearbyint,
nextafter, nexttoward, remainder, remquo, rint, round, scalbln,
scalbn, tgamma, trunc): Use __enable_if on the return type.
* include/tr1/cmath: Likewise.
* testsuite/26_numerics/headers/cmath/overloads_c++0x_neg.cc: New.
* testsuite/tr1/8_c_compatibility/cmath/overloads_neg.cc: Likewise.

From-SVN: r173574

13 years agos390.md (TD/TF mem to reg move splitter): Make the temporary register to match Pmode.
Andreas Krebbel [Mon, 9 May 2011 14:37:12 +0000 (14:37 +0000)]
s390.md (TD/TF mem to reg move splitter): Make the temporary register to match Pmode.

2011-05-09  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* config/s390/s390.md (TD/TF mem to reg move splitter): Make the
temporary register to match Pmode.

From-SVN: r173572

13 years agore PR c++/48574 (ICE)
Dodji Seketeli [Mon, 9 May 2011 12:32:06 +0000 (12:32 +0000)]
re PR c++/48574 (ICE)

Fix PR c++/48574

gcc/cp/

PR c++/48574
* class.c (fixed_type_or_null): Use type_dependent_p_push to test
if the instance has a dependent initializer.

gcc/testsuite/

PR c++/48574
* g++.dg/template/dependent-expr8.C: New test case.

From-SVN: r173570

13 years agosse.md (*vec_concatv4si): Merge from *vec_concatv4si_1 and *vec_concatv4si_1_avx.
Uros Bizjak [Mon, 9 May 2011 12:16:07 +0000 (14:16 +0200)]
sse.md (*vec_concatv4si): Merge from *vec_concatv4si_1 and *vec_concatv4si_1_avx.

* config/i386/sse.md (*vec_concatv4si): Merge from *vec_concatv4si_1
and *vec_concatv4si_1_avx.

From-SVN: r173569

13 years agore PR rtl-optimization/48927 (Issues with "enable" attribute and IRA register prefere...
Uros Bizjak [Mon, 9 May 2011 12:11:25 +0000 (14:11 +0200)]
re PR rtl-optimization/48927 (Issues with "enable" attribute and IRA register preferences)

PR rtl-optimization/48927
* ira-conflicts.c (commutative_constraint_p): Use
recog_data.alternative_enabled_p to disable alternatives where
"enabled" attribute is false.
(get_dup_num): Ditto.
* ira-lives.c (single_reg_class): Ditto.
(ira_implicitly_set_insn_hard_regs): Ditto.

From-SVN: r173568

13 years agovar-tracking.c (find_mem_expr_in_1pdv): Fix thinko.
Eric Botcazou [Mon, 9 May 2011 11:29:26 +0000 (11:29 +0000)]
var-tracking.c (find_mem_expr_in_1pdv): Fix thinko.

* var-tracking.c (find_mem_expr_in_1pdv): Fix thinko.
(dataflow_set_preserve_mem_locs): Likewise.

From-SVN: r173565

13 years agoDon't translate syntax example.
Philipp Thomas [Mon, 9 May 2011 10:42:23 +0000 (10:42 +0000)]
Don't translate syntax example.

From-SVN: r173564

13 years agore PR target/48899 (enum conversion initializing global_options_init.x_iq2000_tune)
Nick Clifton [Mon, 9 May 2011 10:04:36 +0000 (10:04 +0000)]
re PR target/48899 (enum conversion initializing global_options_init.x_iq2000_tune)

PR target/48899
* config/iq2000/iq2000.opt (iq2000_tune): Initialise to
PROCESSOR_DEFAULT.

From-SVN: r173562

13 years agogcc_update (gcc/config/mips/mips-tables.opt): New dependencies.
Joseph Myers [Mon, 9 May 2011 09:40:19 +0000 (10:40 +0100)]
gcc_update (gcc/config/mips/mips-tables.opt): New dependencies.

contrib:
* gcc_update (gcc/config/mips/mips-tables.opt): New dependencies.

gcc:
* config/mips/genopt.sh, config/mips/mips-cpus.def: New files.
* config/mips/mips-tables.opt: New file (generated).
* config.gcc (mips*-*-*): Add mips/mips-tables.opt to
extra_options.
* config/mips/mips-opts.h (MIPS_ARCH_OPTION_FROM_ABI,
MIPS_ARCH_OPTION_NATIVE): Define.
* config/mips/mips.c (mips_cpu_info_table): Move contents to
mips-cpus.def.
(mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p,
mips_parse_cpu): Remove.
(mips_cpu_info_from_opt, mips_default_arch): New.
(mips_handle_option): Don't assert that global structures are in
use.  Don't handle OPT_march_, OPT_mtune_ and OPT_mips here.
(mips_option_override): Use new variables and functions to set
state of these options.  Use strcmp to check for individual CPU
names.
* config/mips/mips.h (MIPS_CPU_STRING_DEFAULT): Remove default
definition.
* config/mips/mips.opt (march=): Use ToLower and Enum.
(mips): Use ToLower, Enum and Var.
(mtune=): Use ToLower and Enum.
* config/mips/t-mips ($(srcdir)/config/mips/mips-tables.opt): New.

From-SVN: r173561

13 years agogimple.c (type_pair_hash, [...]): Arrange type pairs to be UID ordered.
Jan Hubicka [Mon, 9 May 2011 08:45:16 +0000 (10:45 +0200)]
gimple.c (type_pair_hash, [...]): Arrange type pairs to be UID ordered.

* gimple.c (type_pair_hash, type_pair_eq, lookup_type_pair):
Arrange type pairs to be UID ordered.
(gimple_lookup_type_leader): Make inline.

From-SVN: r173560

13 years agore PR target/48897 (mn10300.c:extract_bundle’: error: variable ‘s’ set but not used)
Nick Clifton [Mon, 9 May 2011 08:38:50 +0000 (08:38 +0000)]
re PR target/48897 (mn10300.c:extract_bundle’: error: variable ‘s’ set but not used)

PR target/48897
* config/mn10300/mn10300.c (extract_bundle): Remove spurious local
variable 's'.

From-SVN: r173559

13 years agoconfigure.ac: Propagate LDFLAGS_FOR_TARGET.
Doug Kwan [Mon, 9 May 2011 07:39:45 +0000 (07:39 +0000)]
configure.ac: Propagate LDFLAGS_FOR_TARGET.

2011-05-08  Doug Kwan  <dougkwan@google.com>

* configure.ac: Propagate LDFLAGS_FOR_TARGET.
* configure: Regenerated.
* Makefile.tpl (LDFLAGS_FOR_TARGET): Use LDFLAGS_FOR_TARGET
value from configure.
* Makefile.in: Regenerated.

From-SVN: r173558

13 years agoDaily bump.
GCC Administrator [Mon, 9 May 2011 00:19:13 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r173557

13 years agocombine.c (simplify_comparison): Abstract out parts into...
Chung-Lin Tang [Sun, 8 May 2011 19:30:36 +0000 (19:30 +0000)]
combine.c (simplify_comparison): Abstract out parts into...

2011-05-08  Chung-Lin Tang  <cltang@codesourcery.com>

* combine.c (simplify_comparison): Abstract out parts into...
(simplify_compare_const): ... new function.
(try_combine): Generalize parallel arithmetic/compare combining
to call simplify_compare_const() and CANONICALIZE_COMPARE().

From-SVN: r173552

13 years agocgraph.c (cgraph_clone_node): Add call_duplication_hook parameter.
Jan Hubicka [Sun, 8 May 2011 19:14:24 +0000 (21:14 +0200)]
cgraph.c (cgraph_clone_node): Add call_duplication_hook parameter.

* cgraph.c (cgraph_clone_node): Add call_duplication_hook parameter.
(cgraph_create_virtual_clone): Call hooks once virtual clone is finished.
* cgraph.h (cgraph_clone_node): Update prototype.
* ipa-cp.c (ipcp_estimate_growth): Use estimate_ipcp_clone_size_and_time.
* ipa-inline-transform.c (clone_inlined_nodes): Update.
* lto-cgraph.c (input_node): Update.
* ipa-inline.c (recursive_inlining): Update.
* ipa-inline.h (estimate_ipcp_clone_size_and_time): New function.
(evaluate_conditions_for_known_args): Break out from ...
(evaluate_conditions_for_edge): ... here.
(evaluate_conditions_for_ipcp_clone): New function.
(inline_node_duplication_hook): Update clone summary based
on parameter map.
(estimate_callee_size_and_time): Rename to ...
(estimate_node_size_and_time): take NODE instead of EDGE;
take POSSIBLE_TRUTHS as argument.
(estimate_callee_size_and_time): Update.
(estimate_ipcp_clone_size_and_time): New function.
(do_estimate_edge_time): Update.

From-SVN: r173551

13 years agore PR middle-end/48908 (build fails on cris-elf in libiberty:md5.c, shift-related)
Richard Guenther [Sun, 8 May 2011 15:46:06 +0000 (15:46 +0000)]
re PR middle-end/48908 (build fails on cris-elf in libiberty:md5.c, shift-related)

2011-05-08  Richard Guenther  <rguenther@suse.de>

PR middle-end/48908
PR middle-end/48905
* expmed.c (expand_shift_1): Compute adjusted constant shift
amount manually.

From-SVN: r173550

13 years agore PR c++/48816 (possible pointless code in file cxx-pretty-print.c, line 2136)
Paolo Carlini [Sun, 8 May 2011 13:55:07 +0000 (13:55 +0000)]
re PR c++/48816 (possible pointless code in file cxx-pretty-print.c, line 2136)

2011-05-08  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/48816
* cxx-pretty-print.c (pp_cxx_template_declaration): Remove
effectively unused variable.

From-SVN: r173549

13 years ago* config/avr/avr.c (print_operand_address): Fix invalid RTL access.
Eric Botcazou [Sun, 8 May 2011 09:15:34 +0000 (09:15 +0000)]
* config/avr/avr.c (print_operand_address): Fix invalid RTL access.

From-SVN: r173548

13 years ago* config/rs6000/rs6000.c (output_profile_hook): Fix thinko.
Eric Botcazou [Sun, 8 May 2011 09:09:34 +0000 (09:09 +0000)]
* config/rs6000/rs6000.c (output_profile_hook): Fix thinko.

From-SVN: r173547

13 years agoFix long lines
Eric Botcazou [Sun, 8 May 2011 08:37:58 +0000 (08:37 +0000)]
Fix long lines

From-SVN: r173546

13 years agoDaily bump.
GCC Administrator [Sun, 8 May 2011 00:19:20 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r173543

13 years agoinvoke.texi (-fuse-linker-plugin): Improve grammar.
Jonathan Wakely [Sat, 7 May 2011 23:17:44 +0000 (23:17 +0000)]
invoke.texi (-fuse-linker-plugin): Improve grammar.

2011-05-08  Jonathan Wakely  <jwakely.gcc@gmail.com>

* doc/invoke.texi (-fuse-linker-plugin): Improve grammar.

From-SVN: r173538

13 years agoipa-inline-transform.c (inline_call): Account when program size decreases.
Jan Hubicka [Sat, 7 May 2011 20:31:37 +0000 (22:31 +0200)]
ipa-inline-transform.c (inline_call): Account when program size decreases.

* ipa-inline-transform.c (inline_call): Account when program size decreases.
* ipa-inline.c (relative_time_benefit): New function.
(edge_badness): Reorganize to be power 2 based; fix
thinko when computing badness for negative growth; update
comments to match reality; better dumps.

From-SVN: r173537

13 years ago* gcc-interface/decl.c (intrin_arglists_compatible_p): Remove spaces.
Eric Botcazou [Sat, 7 May 2011 20:20:25 +0000 (20:20 +0000)]
* gcc-interface/decl.c (intrin_arglists_compatible_p): Remove spaces.

From-SVN: r173536

13 years agolanghooks.h (lang_hooks_for_types): Change global_bindings_p's return type to bool...
Eric Botcazou [Sat, 7 May 2011 19:58:29 +0000 (19:58 +0000)]
langhooks.h (lang_hooks_for_types): Change global_bindings_p's return type to bool and adjust comment.

2011-05-07  Eric Botcazou  <ebotcazou@adacore.com>

* langhooks.h (lang_hooks_for_types): Change global_bindings_p's return
type to bool and adjust comment.
* fold-const.c (fold_range_test): Adjust call to global_bindings_p.
(fold_mathfn_compare): Remove calls to global_bindings_p.
(fold_inf_compare): Likewise.
* stor-layout.c (variable_size): Adjust call to global_bindings_p.
* c-tree.h (global_bindings_p): Adjust prototype.
* c-decl.c (global_bindings_p): Return bool and simplify.
ada/
* gcc-interface/gigi.h (global_bindings_p): Adjust prototype.
* gcc-interface/utils.c (global_bindings_p): Return bool and simplify.
cp/
* name-lookup.h (global_bindings_p): Adjust prototype.
* name-lookup.c (global_bindings_p): Return bool.
fortran/
* f95-lang.c (global_bindings_p): Return bool and simplify.
go/
* go-lang.c (global_bindings_p): Return bool and simplify.
java/
* java-tree.h (global_bindings_p): Adjust prototype.
* decl.c (global_bindings_p): Return bool.
lto/
* lto-lang.c (global_bindings_p): Return bool.

From-SVN: r173535

13 years agore PR tree-optimization/48837 (Wrong optimization of recursive function calls)
Zdenek Dvorak [Sat, 7 May 2011 19:43:18 +0000 (21:43 +0200)]
re PR tree-optimization/48837 (Wrong optimization of recursive function calls)

PR tree-optimization/48837
* tree-tailcall.c (tree_optimize_tail_calls_1): Do not mark tailcalls
when accumulator transformation is performed.

* gcc.dg/pr48837.c: New testcase.

From-SVN: r173534

13 years agoi386.h (ix86_tune_indices): Add X86_TUNE_SOFTWARE_PREFETCHING_BENEFICIAL.
Jan Hubicka [Sat, 7 May 2011 14:39:40 +0000 (16:39 +0200)]
i386.h (ix86_tune_indices): Add X86_TUNE_SOFTWARE_PREFETCHING_BENEFICIAL.

* i386.h (ix86_tune_indices): Add X86_TUNE_SOFTWARE_PREFETCHING_BENEFICIAL.
(TARGET_SOFTWARE_PREFETCHING_BENEFICIAL): New macor.
* i386.c (initial_ix86_tune_features): Add X86_SOFTARE_PREFETCHING_BENEFICIAL.
(software_prefetching_beneficial_p): Remove predicate.
(ix86_option_override_internal): Use new macro.

From-SVN: r173533

13 years ago* ipa-inline.c (update_callee_keys): Don't reset node growth cache.
Jan Hubicka [Sat, 7 May 2011 14:30:07 +0000 (16:30 +0200)]
* ipa-inline.c (update_callee_keys): Don't reset node growth cache.

From-SVN: r173532

13 years agomacro.h (_GLIBCXX_DEBUG_VERIFY_AT): New.
François Dumont [Sat, 7 May 2011 13:45:24 +0000 (15:45 +0200)]
macro.h (_GLIBCXX_DEBUG_VERIFY_AT): New.

2011-05-07  François Dumont  <francois.cppdevs@free.fr>

* include/debug/macro.h (_GLIBCXX_DEBUG_VERIFY_AT): New.
(_GLICXX_DEBUG_VERIFY): Use latter.
* include/ext/pb_ds/detail/resize_policy/
hash_load_check_resize_trigger_imp.hpp: Emit assertion on the line
containing the original assert call.
* include/ext/pb_ds/detail/binomial_heap_base_/erase_fn_imps.hpp,
find_fn_imps.hpp, insert_fn_imps.hpp, binomial_heap_base_.hpp,
constructors_destructor_fn_imps.hpp, debug_fn_imps.hpp,
split_join_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/cc_hash_table_map_/
erase_store_hash_fn_imps.hpp, insert_no_store_hash_fn_imps.hpp,
find_fn_imps.hpp, insert_store_hash_fn_imps.hpp, debug_fn_imps.hpp,
debug_no_store_hash_fn_imps.hpp, cc_ht_map_.hpp, resize_fn_imps.hpp,
constructor_destructor_fn_imps.hpp, debug_store_hash_fn_imps.hpp,
erase_no_store_hash_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/pat_trie_/find_fn_imps.hpp,
insert_join_fn_imps.hpp, pat_trie_/head.hpp, debug_fn_imps.hpp,
constructors_destructor_fn_imps.hpp, pat_trie_.hpp, split_fn_imps.hpp,
leaf.hpp, erase_fn_imps.hpp, node_base.hpp, internal_node.hpp:
Likewise.
* include/ext/pb_ds/detail/bin_search_tree_/find_fn_imps.hpp,
r_erase_fn_imps.hpp, constructors_destructor_fn_imps.hpp,
debug_fn_imps.hpp, rotate_fn_imps.hpp, erase_fn_imps.hpp,
bin_search_tree_.hpp, insert_fn_imps.hpp, split_join_fn_imps.hpp:
Likewise.
* include/ext/pb_ds/detail/gp_hash_table_map_/
erase_store_hash_fn_imps.hpp, insert_no_store_hash_fn_imps.hpp,
find_fn_imps.hpp, gp_ht_map_.hpp, insert_store_hash_fn_imps.hpp,
debug_fn_imps.hpp, erase_fn_imps.hpp, debug_no_store_hash_fn_imps.hpp,
resize_fn_imps.hpp, constructor_destructor_fn_imps.hpp,
debug_store_hash_fn_imps.hpp, erase_no_store_hash_fn_imps.hpp:
Likewise.
* include/ext/pb_ds/detail/binary_heap_/find_fn_imps.hpp,
constructors_destructor_fn_imps.hpp, debug_fn_imps.hpp,
erase_fn_imps.hpp, insert_fn_imps.hpp, binary_heap_.hpp,
resize_policy.hpp, split_join_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/pairing_heap_/erase_fn_imps.hpp,
find_fn_imps.hpp, insert_fn_imps.hpp,
constructors_destructor_fn_imps.hpp, debug_fn_imps.hpp,
pairing_heap_.hpp, split_join_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/binomial_heap_/
constructors_destructor_fn_imps.hpp, debug_fn_imps.hpp,
binomial_heap_.hpp: Likewise.
* include/ext/pb_ds/detail/left_child_next_sibling_heap_/
erase_fn_imps.hpp, left_child_next_sibling_heap_.hpp,
constructors_destructor_fn_imps.hpp, debug_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp,
find_fn_imps.hpp, thin_heap_.hpp, insert_fn_imps.hpp,
constructors_destructor_fn_imps.hpp, debug_fn_imps.hpp,
split_join_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/ov_tree_map_/erase_fn_imps.hpp,
ov_tree_map_.hpp, constructors_destructor_fn_imps.hpp,
debug_fn_imps.hpp, split_join_fn_imps.hpp, info_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/debug_map_base.hpp: Likewise.
* include/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp,
find_fn_imps.hpp, insert_fn_imps.hpp,
constructors_destructor_fn_imps.hpp, debug_fn_imps.hpp,
splay_fn_imps.hpp, split_join_fn_imps.hpp, splay_tree_.hpp: Likewise.
* include/ext/pb_ds/detail/list_update_map_/erase_fn_imps.hpp,
find_fn_imps.hpp, lu_map_.hpp, constructor_destructor_fn_imps.hpp,
insert_fn_imps.hpp, debug_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/rc_binomial_heap_/erase_fn_imps.hpp,
rc_binomial_heap_.hpp, insert_fn_imps.hpp,
constructors_destructor_fn_imps.hpp, debug_fn_imps.hpp, rc.hpp,
split_join_fn_imps.hpp: Likewise.
* include/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp,
insert_fn_imps.hpp, constructors_destructor_fn_imps.hpp,
debug_fn_imps.hpp, rb_tree_.hpp, split_join_fn_imps.hpp: Likewise.
* include/ext/pb_ds/hash_policy.hpp: Likewise.

From-SVN: r173529

13 years agore PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
Tobias Burnus [Sat, 7 May 2011 05:38:08 +0000 (07:38 +0200)]
re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])

2011-05-07  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        PR fortran/48919
        * trans.h: Move gfc_init_coarray_decl prototype ...
        * gfortran.h: ... to here.
        * parse.c (translate_all_program_units): Call
        * gfc_init_coarray_decl.
        (gfc_parse_file): Update translate_all_program_units call.
        * trans-decl.c (gfc_init_coarray_decl): Fix variable
        * declaration,
        new argument whether DECL_EXTERNAL should be used.
        (create_main_function): Update gfc_init_coarray_decl call.
        * trans-intrinsic.c (trans_this_image, trans_image_index,
        conv_intrinsic_cobound): Ditto.

From-SVN: r173528

13 years agoDaily bump.
GCC Administrator [Sat, 7 May 2011 00:19:13 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r173525

13 years agoUse backend types for all type conversions.
Ian Lance Taylor [Sat, 7 May 2011 00:12:32 +0000 (00:12 +0000)]
Use backend types for all type conversions.

From-SVN: r173520

13 years agocgraph.c (cgraph_add_thunk): Create real function node instead of alias node...
Jan Hubicka [Fri, 6 May 2011 23:00:49 +0000 (01:00 +0200)]
cgraph.c (cgraph_add_thunk): Create real function node instead of alias node...

* cgraph.c (cgraph_add_thunk): Create real function node instead
of alias node; finalize it and mark needed/reachale; arrange visibility
to be right and add it into the corresponding same comdat group list.
(dump_cgraph_node): Dump thunks.
* cgraph.h (cgraph_first_defined_function, cgraph_next_defined_function,
cgraph_function_with_gimple_body_p, cgraph_first_function_with_gimple_body,
cgraph_next_function_with_gimple_body): New functions.
(FOR_EACH_FUNCTION_WITH_GIMPLE_BODY, FOR_EACH_DEFINED_FUNCTION):
New macros.
* ipa-cp.c (ipcp_need_redirect_p): Thunks can't be redirected.
(ipcp_generate_summary): Use FOR_EACH_FUNCTION_WITH_GIMPLE_BODY.
* cgraphunit.c (cgraph_finalize_function): Only look into possible
devirtualization when optimizing.
(verify_cgraph_node): Verify thunks.
(cgraph_analyze_function): Analyze thunks.
(cgraph_mark_functions_to_output): Output thunks only in combination
with function they are assigned to.
(assemble_thunk): Turn thunk into non-thunk; don't try to turn
alias into normal node.
(assemble_thunks): New functoin.
(cgraph_expand_function): Use it.
* lto-cgraph.c (lto_output_node): Stream thunks.
(input_overwrite_node): Stream in thunks.
* ipa-pure-const.c (analyze_function): Thunks do nothing interesting.
* lto-streamer-out.c (lto_output): Do not try to output thunk's body.
* ipa-inline.c (inline_small_functions): Use FOR_EACH_DEFINED_FUNCTION.
* ipa-inline-analysis.c (compute_inline_parameters): "Analyze" thunks.
(inline_analyze_function): Do not care about thunk jump functions.
(inline_generate_summary):Use FOR_EACH_DEFINED_FUNCTION.
* ipa-prop.c (ipa_prop_write_jump_functions): Use cgraph_function_with_gimple_body_p.
* passes.c (do_per_function_toporder): Use cgraph_function_with_gimple_body_p.
(execute_one_pass);Use FOR_EACH_FUNCTION_WITH_GIMPLE_BODY.
(ipa_write_summaries): Use cgraph_function_with_gimple_body_p.
(function_called_by_processed_nodes_p): Likewise.
* lto.c (lto_materialize_function): Use cgraph_function_with_gimple_body_p.
(add_cgraph_node_to_partition): Do not re-add items to partition; handle thunks.
(add_varpool_node_to_partition): Do not re-add items to partition.

From-SVN: r173517

13 years agodecl.c (stabilize_save_expr_r): Set *walk_subtrees as appropriate.
Jason Merrill [Fri, 6 May 2011 21:57:56 +0000 (17:57 -0400)]
decl.c (stabilize_save_expr_r): Set *walk_subtrees as appropriate.

* decl.c (stabilize_save_expr_r): Set *walk_subtrees as
appropriate.

From-SVN: r173512

13 years agore PR c++/48909 ([C++0x] ICE in cxx_eval_conditional_expression, at cp/semantics...
Jason Merrill [Fri, 6 May 2011 21:57:49 +0000 (17:57 -0400)]
re PR c++/48909 ([C++0x] ICE in cxx_eval_conditional_expression, at cp/semantics.c:6213)

PR c++/48909
* semantics.c (cxx_eval_conditional_expression): Check
integer_zerop/onep instead.

From-SVN: r173511

13 years agore PR c++/48911 ([C++0x] Error for valid array subscript)
Jason Merrill [Fri, 6 May 2011 21:57:41 +0000 (17:57 -0400)]
re PR c++/48911 ([C++0x] Error for valid array subscript)

PR c++/48911
* semantics.c (cxx_eval_array_reference): Handle implicit
initializers.

From-SVN: r173510

13 years agors6000.opt (rs6000_ieeequad, [...]): Remove TargetVariable entries.
Joseph Myers [Fri, 6 May 2011 20:34:13 +0000 (21:34 +0100)]
rs6000.opt (rs6000_ieeequad, [...]): Remove TargetVariable entries.

* config/rs6000/rs6000.opt (rs6000_ieeequad, rs6000_altivec_abi,
rs6000_spe_abi, rs6000_darwin64_abi): Remove TargetVariable
entries.
(mabi=): Replace with separate entries for mabi=altivec,
mabi=no-altivec, mabi=spe, mabi=no-spe, mabi=d64, mabi=d32,
mabi=ieeelongdouble and mabi=ibmlongdouble.
* config/rs6000/rs6000.c (rs6000_option_override_internal): Move
check for -mabi=spe without SPE ABI support here.
(rs6000_handle_option): Replace OPT_mabi_ handling with
OPT_mabi_altivec and OPT_mabi_spe handling.

From-SVN: r173509

13 years agoMore uses of backend interface for types.
Ian Lance Taylor [Fri, 6 May 2011 20:06:29 +0000 (20:06 +0000)]
More uses of backend interface for types.

From-SVN: r173507

13 years agore PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
Tobias Burnus [Fri, 6 May 2011 18:39:08 +0000 (20:39 +0200)]
re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])

2011-05-06  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * trans-array.c (gfc_walk_variable_expr): Continue walking
        for scalar coarrays.
        * trans-intrinsic.c (convert_element_to_coarray_ref): New
        * function.
        (trans_this_image, trans_image_index, conv_intrinsic_cobound): Use it.
        (trans_this_image): Fix algorithm.
        * trans-types.c (gfc_get_element_type,
        * gfc_get_array_descriptor_base,
        gfc_sym_type): Handle scalar coarrays.

2011-05-06  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * gfortran.dg/coarray/this_image_2.f90: New.

From-SVN: r173506

13 years agore PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
Tobias Burnus [Fri, 6 May 2011 18:35:00 +0000 (20:35 +0200)]
re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])

2011-05-06  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * caf/libcaf.h: Cleanup headers.
        (_gfortran_caf_critical, _gfortran_caf_end_critical): Make stub.
        (caf_register_t): New enum.
        (_gfortran_caf_register, _gfortran_caf_deregister): New prototype.
        * caf/single.c (_gfortran_caf_critical,
        _gfortran_caf_end_critical): Remove.
        (_gfortran_caf_register, _gfortran_caf_deregister): New functions.
        * caf/mpi.c (_gfortran_caf_critical,
        _gfortran_caf_end_critical): Remove.
        (_gfortran_caf_register, _gfortran_caf_deregister): New functions.
        (caf_world_window): Remove global variable.
        (_gfortran_caf_init): Fix off-by-one error of this_image.

From-SVN: r173505

13 years agoReally commit:
Tobias Burnus [Fri, 6 May 2011 18:33:31 +0000 (20:33 +0200)]
Really commit:

2011-05-06  Tobias Burnus  <burnus@net-b.de>

        PR fortran/48858
        PR fortran/48820
        * gfortran.dg/bind_c_usage_24.f90: New.
        * gfortran.dg/bind_c_usage_24_c.c: New.

From-SVN: r173503

13 years agoUse backend interface for string types.
Ian Lance Taylor [Fri, 6 May 2011 18:30:11 +0000 (18:30 +0000)]
Use backend interface for string types.

From-SVN: r173502

13 years agore PR fortran/48858 (Incorrect error for same binding label on two generic interface...
Tobias Burnus [Fri, 6 May 2011 18:12:25 +0000 (20:12 +0200)]
re PR fortran/48858 (Incorrect error for same binding label on two generic interface specifics)

2011-05-06  Tobias Burnus  <burnus@net-b.de>

        PR fortran/48858
        PR fortran/48820
        * lang.opt (std=f2008tr): New.
        * libgfortran.h (GFC_STD_F2008_TR): New macro constant.
        * decl.c (verify_c_interop_param): Allow OPTIONAL in BIND(C)
        procedures for -std=f2008tr/gnu/legacy.

2011-05-06  Tobias Burnus  <burnus@net-b.de>

        PR fortran/48858
        PR fortran/48820
        * gfortran.dg/bind_c_usage_22.f90: New.
        * gfortran.dg/bind_c_usage_23.f90: New.
        * gfortran.dg/bind_c_usage_24.f90: New.
        * gfortran.dg/bind_c_usage_24_c.c: New.

From-SVN: r173500

13 years agodwarf2out.c (contains_subprogram_definition): New function.
Cary Coutant [Fri, 6 May 2011 17:34:01 +0000 (17:34 +0000)]
dwarf2out.c (contains_subprogram_definition): New function.

* dwarf2out.c (contains_subprogram_definition): New function.
(should_move_die_to_comdat): Call it.

From-SVN: r173497

13 years agointroduce {class,type}_of_this_parm functions
Nathan Froyd [Fri, 6 May 2011 17:03:08 +0000 (17:03 +0000)]
introduce {class,type}_of_this_parm functions

introduce {class,type}_of_this_parm functions
* cp-tree.h (type_of_this_parm, class_of_this_parm): New functions.
* call.c (standard_conversion): Call class_of_this_parm.
* cxx-pretty-print.c (pp_cxx_implicit_parameter_type): Likewise.
(pp_cxx_direct_abstract_declarator): Likewise.
* decl2.c (change_return_type): Likewise.
(cp_reconstruct_complex_type): Likewise.
* error.c (dump_type_suffix, dump_function_decl): Likewise.
* mangle.c (write_function_type): Likewise.
* pt.c (unify): Likewise.
* typeck.c (merge_types, type_memfn_quals): Likewise.
* decl.c (build_this_parm): Call type_of_this_parm.

From-SVN: r173496

13 years agonamed_equivalence.cc: Fix.
Paolo Carlini [Fri, 6 May 2011 15:55:39 +0000 (15:55 +0000)]
named_equivalence.cc: Fix.

2011-05-06  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/22_locale/messages_byname/named_equivalence.cc: Fix.

From-SVN: r173494

13 years agotree-ssa-threadupdate.c (create_block_for_threading): Do not call remove_ctrl_stmt_an...
Jeff Law [Fri, 6 May 2011 15:13:35 +0000 (09:13 -0600)]
tree-ssa-threadupdate.c (create_block_for_threading): Do not call remove_ctrl_stmt_and_useless_edges.

* tree-ssa-threadupdate.c (create_block_for_threading): Do not call
remove_ctrl_stmt_and_useless_edges.
(create_duplicates): Call remove_ctrl_stmt_and_useless_edges.
(fixup_template_block, thread_single_edge): Likewise.
(mark_threaded_blocks): Use THREAD_TARGET.

From-SVN: r173492

13 years agore PR target/48900 (unnecessary duplicate __tls_get_addr calls)
Alan Modra [Fri, 6 May 2011 14:21:16 +0000 (23:51 +0930)]
re PR target/48900 (unnecessary duplicate __tls_get_addr calls)

PR target/48900
* config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Use
const0_rtx as the arg to the dummy __tls_get_addr libcall.

From-SVN: r173488