Commit Graph

108703 Commits

Author SHA1 Message Date
Tobias Burnus
0126595fee re PR fortran/48889 (f951: internal compiler error: in gfc_is_constant_expr, at fortran/expr.c:906)
2011-05-11  Tobias Burnus  <burnus@net-b.de>

        PR fortran/48889
        * expr.c (gfc_is_constant_expr): Use e->value.function.esym
        instead of e->symtree->n.sym, if available.

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

        PR fortran/48889
        * gfortran.dg/generic_24.f90: New.

From-SVN: r173674
2011-05-11 22:08:54 +02:00
Ian Lance Taylor
8da1c70b57 Permit new of a function type.
From-SVN: r173672
2011-05-11 19:56:39 +00:00
Ian Lance Taylor
2d8f63a164 Don't crash ranging over call to builtin function.
From-SVN: r173671
2011-05-11 19:39:21 +00:00
François Dumont
cfca3f7267 hash_load_check_resize_trigger_imp.hpp (assert_valid): Replace _GLIBCXX_DEBUG_ASSERT calls with PB_DS_DEBUG_VERIFY.
2011-05-11  François Dumont  <francois.cppdevs@free.fr>

        * include/ext/pb_ds/detail/resize_policy/
        hash_load_check_resize_trigger_imp.hpp (assert_valid): Replace
        _GLIBCXX_DEBUG_ASSERT calls with PB_DS_DEBUG_VERIFY.
        * 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, split_join_fn_imps.hpp
        (PB_DS_ASSERT_VALID): Rename in PB_DS_ASSERT_VALID_COND.
        * include/ext/pb_ds/detail/debug_map_base.hpp,
        splay_tree_/splay_tree_.hpp, ov_tree_map_/ov_tree_map_.hpp,
        cc_hash_table_map_/cc_ht_map_.hpp, pat_trie_/pat_trie_.hpp,
        leaf.hpp, internal_node.hpp, gp_hash_table_map_/gp_ht_map_.hpp,
        bin_search_tree_/bin_search_tree_.hpp, list_update_map_/lu_map_.hpp,
        rb_tree_map_/rb_tree_.hpp (PB_DS_ASSERT_VALID, PB_DS_DEBUG_VERIFY,
        PB_DS_CHECK_KEY_EXISTS, PB_DS_CHECK_KEY_DOES_NOT_EXIST): Duplicate
        macro definitions move...
        * include/ext/pb_ds/detail/container_base_dispatch.hpp: ... here...
        * include/ext/pb_ds/detail/basic_tree_policy/traits.hpp: ... and here.
        * include/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp,
        resize_policy.hpp, pairing_heap_/pairing_heap_.hpp,
        left_child_next_sibling_heap_/left_child_next_sibling_heap_.hpp,
        binomial_heap_/binomial_heap_.hpp, thin_heap_/thin_heap_.hpp,
        rc_binomial_heap_/rc_binomial_heap_.hpp, rc.hpp (PB_DS_ASSERT_VALID,
        PB_DS_DEBUG_VERIFY): Duplicate macro definitions move...
        * include/ext/pb_ds/detail/priority_queue_base_dispatch.hpp:
        ...here.

From-SVN: r173670
2011-05-11 19:29:02 +00:00
Paul Pluzhnikov
6e91d9d6b3 MAINTAINERS (Write After Approval): Add myself.
2011-05-11  Paul Pluzhnikov  <ppluzhnikov@google.com>

	* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r173669
2011-05-11 11:43:43 -07:00
Satoru Takabayashi
79bec9233c 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
2011-05-11 11:28:14 -07:00
Nathan Froyd
e5b00edff5 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
2011-05-11 15:53:50 +00:00
Richard Guenther
d034095964 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
2011-05-11 15:44:59 +00:00
Uros Bizjak
cb032feee8 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
2011-05-11 17:30:52 +02:00
Eric Botcazou
6d3cc8f051 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
2011-05-11 15:15:26 +00:00
Richard Guenther
51e020fc08 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
2011-05-11 14:13:38 +00:00
Nathan Froyd
515456820e 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
2011-05-11 13:48:55 +00:00
Jakub Jelinek
b03c30822b 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
2011-05-11 14:53:43 +02:00
Richard Guenther
b5e04de5e3 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
2011-05-11 12:45:00 +00:00
Revital Eres
fc6970e432 Support closing_branch_deps
From-SVN: r173654
2011-05-11 12:38:12 +00:00
Richard Guenther
41a58a92c3 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
2011-05-11 12:23:12 +00:00
Joseph Myers
e9f8dcf9b3 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
2011-05-11 12:11:34 +01:00
Richard Guenther
10c224a9b0 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
2011-05-11 10:52:57 +00:00
Richard Guenther
825b27deb9 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
2011-05-11 08:36:51 +00:00
Revital Eres
ca7566250f Skip DEBUG_INSNs while recognizing doloop
From-SVN: r173647
2011-05-11 07:40:26 +00:00
Revital Eres
b8abece3d0 Skip DEBUG_INSN in loop-doloop.c
From-SVN: r173646
2011-05-11 07:12:14 +00:00
Revital Eres
ce7b376154 Doloop pattern for ARM
From-SVN: r173645
2011-05-11 07:08:44 +00:00
Alan Modra
ed1db3f15a 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
2011-05-11 13:59:13 +09:30
GCC Administrator
afdb5d86a4 Daily bump.
From-SVN: r173641
2011-05-11 00:18:23 +00:00
Nathan Froyd
a9dc9d376c 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
2011-05-10 19:52:39 +00:00
Joseph Myers
96703596c4 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
2011-05-10 20:12:34 +01:00
Jason Merrill
955524371f 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
2011-05-10 13:58:46 -04:00
Jason Merrill
b4359e45b9 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
2011-05-10 13:58:38 -04:00
Ville Voutilainen
7506ab1de5 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
2011-05-10 13:58:30 -04:00
Nathan Froyd
d26e59864b 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
2011-05-10 17:23:31 +00:00
Michael Meissner
dbcc9f08d5 Fix PRs 48857, 48495
From-SVN: r173624
2011-05-10 17:20:46 +00:00
Nathan Froyd
8242dd04b7 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
2011-05-10 16:56:19 +00:00
Joseph Myers
4a68b4ca4e 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
2011-05-10 17:40:55 +01:00
Joseph Myers
bcb521e997 * doc/sourcebuild.texi (Back End): Mention contrib/config-list.mk.
From-SVN: r173621
2011-05-10 16:33:48 +01:00
Joseph Myers
f10d3ac9bb 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
2011-05-10 15:46:34 +01:00
Joseph Myers
80cf2e08cc 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
2011-05-10 15:41:47 +01:00
Georg-Johann Lay
fd01a351df 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
2011-05-10 12:16:09 +00:00
DJ Delorie
34cc3c861d 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
2011-05-10 11:01:49 +00:00
Richard Guenther
be17328916 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
2011-05-10 09:57:50 +00:00
Jakub Jelinek
6ae70ea2e6 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
2011-05-10 08:08:18 +02:00
Jakub Jelinek
e7f7802150 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
2011-05-10 08:05:20 +02:00
GCC Administrator
321f4ead0f Daily bump.
From-SVN: r173604
2011-05-10 00:19:26 +00:00
Paolo Carlini
0410e66d03 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
2011-05-09 23:24:01 +00:00
Paolo Carlini
65dbe23923 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
2011-05-09 22:57:19 +00:00
Jeff Law
aec288a2f4 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
2011-05-09 15:40:54 -06:00
Fabien Chêne
9420e113a1 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
2011-05-09 22:56:29 +02:00
Uros Bizjak
fca132b919 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
2011-05-09 22:51:19 +02:00
Paolo Carlini
754af126c0 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
2011-05-09 19:24:50 +00:00
Eric Botcazou
e4c0337862 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
2011-05-09 18:36:31 +00:00
H.J. Lu
805d6a7592 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
2011-05-09 11:16:04 -07:00