1. 11 May, 2011 19 commits
    • install.texi (Configuration): Document --with-linker-hash-style. · 79bec923
      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
      Satoru Takabayashi committed
    • don't use build_function_type in the Ada FE · e5b00edf
      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
      Nathan Froyd committed
    • re PR bootstrap/48964 (LTO profiledbootstrap failure) · d0340959
      2011-05-11  Richard Guenther  <rguenther@suse.de>
      
      	PR middle-end/48964
      	* gimple.c (iterative_hash_canonical_type): Fix typo.
      
      From-SVN: r173663
      Richard Guenther committed
    • i386.c (legitimize_tls_address): Call gen_tls_dynamic_gnu2_{32,64} expanders… · cb032fee
      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
      Uros Bizjak committed
    • function.c (expand_function_start): Initialize stack_check_probe_note only if… · 6d3cc8f0
      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
      Eric Botcazou committed
    • re PR tree-optimization/15256 ([tree-ssa] Optimize manual bitfield manipilation.) · 51e020fc
      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
      Richard Guenther committed
    • split tree_type · 51545682
      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
      Nathan Froyd committed
    • re PR debug/48159 (ICE: SIGSEGV in build2_stat (tree.c:3802) with -ftree-loop-distribution -g) · b03c3082
      	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
      Jakub Jelinek committed
    • gimple.c (gimple_type_hash_1): Merge with ... · b5e04de5
      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
      Richard Guenther committed
    • Support closing_branch_deps · fc6970e4
      From-SVN: r173654
      Revital Eres committed
    • re PR middle-end/48953 (ICE: verify_gimple failed: type mismatch in array… · 41a58a92
      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
      Richard Guenther committed
    • opts.c (finish_options): Move warning settings from process_options. · e9f8dcf9
      	* opts.c (finish_options): Move warning settings from
      	process_options.
      	* toplev.c (process_options): Move warning settings to
      	finish_options.
      
      From-SVN: r173651
      Joseph Myers committed
    • re PR middle-end/18041 (OR of two single-bit bitfields is inefficient) · 10c224a9
      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
      Richard Guenther committed
    • gimple.c (gimple_canonical_types_compatible_p): Split out from… · 825b27de
      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
      Richard Guenther committed
    • Skip DEBUG_INSNs while recognizing doloop · ca756625
      From-SVN: r173647
      Revital Eres committed
    • Skip DEBUG_INSN in loop-doloop.c · b8abece3
      From-SVN: r173646
      Revital Eres committed
    • Doloop pattern for ARM · ce7b3761
      From-SVN: r173645
      Revital Eres committed
    • re PR target/47755 (VSX code generates a TOC reference to clear memory) · ed1db3f1
      	PR target/47755
      	* gcc.target/powerpc/pr47755-2.c: Require vsx_hw.
      
      From-SVN: r173643
      Alan Modra committed
    • Daily bump. · afdb5d86
      From-SVN: r173641
      GCC Administrator committed
  2. 10 May, 2011 18 commits
    • make CASE_LABEL_EXPR not abuse TREE_CHAIN · a9dc9d37
      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
      Nathan Froyd committed
    • c-decl.c (c_override_global_bindings_to_false): Remove. · 96703596
      	* 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
      Joseph Myers committed
    • re PR c++/48930 ([C++0x] Invalid implicitly declared default c'tor) · 95552437
      	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
      Jason Merrill committed
    • re PR c++/48736 ([C++0x] ICE during list-initialization with variadics) · b4359e45
      	PR c++/48736
      	* pt.c (tsubst_copy_and_build): Handle substitution of a pack
      	expansion producing another expansion.
      
      From-SVN: r173627
      Jason Merrill committed
    • Fixes for override/final. · 7506ab1d
      	* 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
      Ville Voutilainen committed
    • mark EXPR_PACK_EXPANSION as typed only · d26e5986
      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
      Nathan Froyd committed
    • Fix PRs 48857, 48495 · dbcc9f08
      From-SVN: r173624
      Michael Meissner committed
    • use build_function_type less in c-family and LTO · 8242dd04
      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
      Nathan Froyd committed
    • config.gcc (i[34567]86-*-darwin*, [...]): Add i386/darwin-lib.h to $libgcc_tm_file. · 4a68b4ca
      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
      Joseph Myers committed
    • gcc_update (gcc/config/rs6000/rs6000-tables.opt): New dependencies. · f10d3ac9
      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
      Joseph Myers committed
    • config.gcc (libgcc_tm_file): Define instead of including files from… · 80cf2e08
      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
      Joseph Myers committed
    • re PR target/48896 (avr.o warnings) · fd01a351
      	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
      Georg-Johann Lay committed
    • rx.h (JUMP_ALIGN, [...]): Define. · 34cc3c86
      	* 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
      DJ Delorie committed
    • tree-ssa-forwprop.c (combine_conversions): Pattern-match a series of conversions… · be173289
      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
      Richard Guenther committed
    • re PR tree-optimization/48611 (ICE: SIGSEGV in remap_eh_region_nr… · 6ae70ea2
      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
      Jakub Jelinek committed
    • re PR debug/48928 (ICE: in decimal_to_decnumber, at dfp.c:113 with -O -g and decimal float) · e7f78021
      	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
      Jakub Jelinek committed
    • Daily bump. · 321f4ead
      From-SVN: r173604
      GCC Administrator committed
  3. 09 May, 2011 3 commits