Commit Graph

102355 Commits

Author SHA1 Message Date
GCC Administrator
c138e56a70 Daily bump.
From-SVN: r163046
2010-08-10 00:17:01 +00:00
Jason Merrill
7a25d520c2 re PR c++/45236 ([C++0x] Can't access nested type of a partial class specialization involving variadic parameters)
PR c++/45236
	* pt.c (lookup_template_class): Don't re-coerce outer parms.

From-SVN: r163042
2010-08-09 17:13:12 -04:00
Thomas Koenig
ee24763610 re PR fortran/44235 (array temporary with high upper bound)
2010-08-09  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/44235
	* array.c (gfc_ref_dimen_size):  Add end argument.
	If end is non-NULL, calculate it.
	(ref_size):  Adjust call to gfc_ref_dimen_size.
	(gfc_array_dimen_size):  Likewise.
	(gfc_array_res_shape):  Likewise.
	* gfortran.h:  Adjust prototype for gfc_ref_dimen_size.
	* resolve.c (resolve_array_ref):  For stride not equal to -1,
	fill in the lowest possible end.

2010-08-09  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/44235
	* gfortran.dg/dependency_32.f90:  New test.

From-SVN: r163041
2010-08-09 19:34:49 +00:00
Janus Weil
1ddfdcf2df intrinsic.texi: Correct documentation of ASINH, ACOSH and ATANH.
2010-08-09  Janus Weil  <janus@gcc.gnu.org>

	* intrinsic.texi: Correct documentation of ASINH, ACOSH and ATANH.

From-SVN: r163039
2010-08-09 20:32:09 +02:00
H.J. Lu
0c9510abc9 Remove unused ret.
2010-08-09  H.J. Lu  <hongjiu.lu@intel.com>

	* alias.c (may_alias_p): Remove unused ret.

From-SVN: r163038
2010-08-09 08:57:13 -07:00
Bingfeng Mei
c6ea834c83 ddg.c (walk_mems_2): Moved from alias.c, use may_alias_p instead of alias_sets_conflict_p.
2010-08-09  Bingfeng Mei  <bmei@broadcom.com>

	* ddg.c (walk_mems_2): Moved from alias.c, use may_alias_p instead of
	alias_sets_conflict_p.
	(walk_mems_1): Moved from alias.c.
	(insns_may_alias_p): New function, originally insn_alias_sets_conflict_p
	in alias.c. 
        (add_inter_loop_mem_dep): Use insns_may_alias_p now.
        * cse.c (cse_insn): New argument in calling nonoverlapping_memrefs_p.
        * alias.c (walk_mems_2): Moved to ddg.c.
	(walk_mems_1): Ditto.
	(insn_alias_sets_conflict_p): Renamed to insns_may_alias_p and moved
	to ddg.c.
	(nonoverlapping_memrefs_p): Add flag to guard offset-based memory
	disambiguation.
	*(may_alias_p): New function to check whether two memory expression
	may alias or not. Currently used in buidling inter-iteration memory
	dependence.
	*alias.h (nonoverlapping_memrefs_p): New flag as third argument.
	(insn_alias_sets_conflict_p): Removed
	*rtl.h (may_alias_p): New function prototype.

From-SVN: r163037
2010-08-09 14:44:03 +00:00
Nathan Froyd
72ac05b04e tree.c (nreverse): Assert that we don't have a BLOCK.
gcc/
	* tree.c (nreverse): Assert that we don't have a BLOCK.

gcc/ada/
	* gcc-interface/utils.c (gnat_poplevel): Use blocks_nreverse.

From-SVN: r163036
2010-08-09 14:36:50 +00:00
Nathan Froyd
bfc48cd85f call.c (add_builtin_candidates): Use VECs for local variable `types'.
* call.c (add_builtin_candidates): Use VECs for local variable
	`types'.  Adjust remainder of function accordingly.

From-SVN: r163035
2010-08-09 14:30:39 +00:00
Nathan Froyd
d4ccba6615 name-lookup.c (is_associated_namespace): Convert local variables to be VECs instead of TREE_LISTs.
* name-lookup.c (is_associated_namespace): Convert local variables
	to be VECs instead of TREE_LISTs.

From-SVN: r163034
2010-08-09 14:28:47 +00:00
Nathan Froyd
f38958e826 builtins.c (fold_builtin_next_arg): Use stdarg_p.
gcc/
	* builtins.c (fold_builtin_next_arg): Use stdarg_p.
	* config/arm/arm.c (arm_get_pcs_model): Likewise.
	* config/avr/avr.c (init_cumulative_args): Likewise.
	* config/iq2000/iq2000.c (iq2000_expand_prologue): Likewise.
	* config/lm32/lm32.c (lm32_setup_incoming_varargs): Likewise.
	* config/m68k/m68k.c (m68k_return_pops_args): Likewise.
	* config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
	* config/pa/pa.c (hppa_builtin_saveregs): Likewise.
	* config/pa/som.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
	* config/rs6000/rs6000.c (init_cumulative_args): Likewise.
	* dwarf2out.c (gen_subprogram_die): Likewise.
	* function.c (allocate_struct_function): Likewise.
	* c-aux-info.c (gen_formal_list_for_func_dec): Likewise.
	(deserves_ellipsis): Delete.

gcc/cp/
	* tree.c (varargs_function_p): Use stdarg_p.

From-SVN: r163033
2010-08-09 14:07:58 +00:00
Richard Guenther
ec64af64d6 tree-ssa-copy.c (cached_last_copy_of): Remove.
2010-08-07  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-copy.c (cached_last_copy_of): Remove.
	(valueize_val): New function.
	(get_last_copy_of): Remove.
	(set_copy_of_val): Simplify.
	(dump_copy_of): Likewise.
	(copy_prop_visit_cond_stmt): Use valueize_val.
	(copy_prop_visit_phi_node): Properly handle unvisited names.
	Drop code managing copy-of chains.
	(init_copy_prop): Adjust.
	(fini_copy_prop): Likewise.
	(execute_copy_prop): Remove obsolete comment.

From-SVN: r163032
2010-08-09 13:20:11 +00:00
Richard Guenther
37609bf086 re PR tree-optimization/44632 (wrong code for complex division)
2010-08-09  Richard Guenther  <rguenther@suse.de>

	PR middle-end/44632
	* function.c (gimplify_parameters): Do not clear addressable
	bit of the original parameter.

	* g++.dg/opt/nrv17.C: New testcase.

From-SVN: r163031
2010-08-09 13:18:08 +00:00
Andreas Tobler
87d072e09a configure.ac: Add target powerpc64-*-freebsd*.
2010-08-09  Andreas Tobler  <andreast@fgznet.ch>

        * configure.ac: Add target powerpc64-*-freebsd*.
        * configure: Regenerate.
        * testsuite/libffi.call/cls_align_longdouble_split.c: Pass
        -mlong-double-128 only to linux targets.
        * testsuite/libffi.call/cls_align_longdouble_split2.c: Likewise.
        * testsuite/libffi.call/cls_longdouble.c: Likewise.
        * testsuite/libffi.call/huge_struct.c: Likewise.

From-SVN: r163030
2010-08-09 15:00:32 +02:00
Richard Guenther
3e32c76185 re PR target/45212 (FAIL: gcc.target/alpha/pr24178.c scan-assembler ldl.*,18\\\\()
2010-08-09  Richard Guenther  <rguenther@suse.de>

	PR middle-end/45212
	* emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust
	alignment from MEM_REF offset only if we took it from the
	base object.

	* gcc.target/i386/pr24178.c: New testcase.

From-SVN: r163029
2010-08-09 11:43:23 +00:00
Eric Fisher
cee00e2290 * doc/sourcebuild.texi (vect_int_mult): Remove duplicate entry.
From-SVN: r163028
2010-08-09 11:08:59 +00:00
Eric Botcazou
82b481ed67 utils.c (build_vms_descriptor32): Fix formatting.
* gcc-interface/utils.c (build_vms_descriptor32): Fix formatting.
	(build_vms_descriptor): Likewise.

From-SVN: r163027
2010-08-09 06:35:09 +00:00
Nathan Froyd
788e504636 utils.c (make_descriptor_field): Add tree parameter.
* gcc-interface/utils.c (make_descriptor_field): Add tree parameter.
	(build_vms_descriptor32): Adjust calls to it for new parameter.
	(build_vms_descriptor): Likewise.

From-SVN: r163026
2010-08-09 01:06:34 +00:00
Nathan Froyd
fb7fb7010a * gcc-interface/decl.c (rec_variant). Declare. Declare a VEC of it.
(build_variant_list): Return a VEC instead of a tree.  Take a
	VEC instead of a tree.
	(create_variant_part_from): Take a VEC instead of a tree for
	variant_list.  Adjust accordingly.
	(gnat_to_gnu_entity): Adjust for changes to previous functions.

From-SVN: r163025
2010-08-09 00:53:48 +00:00
GCC Administrator
0ec1183995 Daily bump.
From-SVN: r163024
2010-08-09 00:17:13 +00:00
Uros Bizjak
7323f4bbac 20030107-1.c: Do not call cleanup-coverage-files.
* gcc.dg/20030107-1.c: Do not call cleanup-coverage-files.
	* gcc.dg/20030702-1.c: Ditto.
	* gcc.dg/20050309-1.c: Ditto.
	* gcc.dg/20050325-1.c: Ditto.
	* gcc.dg/20050330-2.c: Ditto.
	* gcc.dg/20051201-1.c: Ditto.
	* gcc.dg/gomp/pr27573.c: Ditto.
	* gcc.dg/gomp/pr34610.c: Ditto.
	* gcc.dg/pr24225.c: Ditto.
	* gcc.dg/pr26570.c: Ditto.
	* gcc.dg/pr32773.c: Ditto.
	* g++.dg/gcov/gcov-6.C: Ditto.
	* g++.dg/gomp/pr34608.C: Ditto.
	* gfortran.dg/gomp/pr27573.f90: Ditto.

	* gcc.dg/profile-dir-1.c: Do not call cleanup-coverage-files.  Remove
	dg-require-host-local dg directive.
	* gcc.dg/profile-dir-2.c: Ditto.
	* gcc.dg/profile-dir-3.c: Ditto.

From-SVN: r163020
2010-08-08 23:54:44 +02:00
Nathan Froyd
ac8dc9f79a c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
* c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
	(maybe_apply_renaming_pragma): Delete unneeded declarations.

From-SVN: r163015
2010-08-08 18:41:39 +00:00
Nathan Froyd
b3399d18c2 c-tree.h (build_arg_info): Declare.
* c-tree.h (build_arg_info): Declare.
	* c-decl.c (build_arg_info): Define.
	(get_parm_info): Call it.  Delete initialization code.
	* c-parser.c (c_parser_parms_declarator): Likewise.
	(c_parser_parms_list_declaractor): Likewise.

From-SVN: r163014
2010-08-08 17:44:53 +00:00
Nathan Froyd
e60bf9d4f9 c-tree.h (c_arg_tag): Define.
* c-tree.h (c_arg_tag): Define.  Define a VEC containing it.
	(struct c_arg_info): Change type of tags field.
	* c-decl.c (grokdeclarator): Update for changed type of tags field.
	(get_parm_info): Likewise.
	(store_parm_decls_newstyle): Likewise.

From-SVN: r163013
2010-08-08 17:42:40 +00:00
Nathan Froyd
4f8c876d43 c-pragma.c (pending_redefinition): Declare.
* c-pragma.c (pending_redefinition): Declare.  Declare a VEC of it.
	(pending_redefine_extname): Change type to a VEC.
	(add_to_renaming_pragma_list): Update for new type of
	pending_redefine_extname.
	(maybe_apply_pending_pragma): Likewise.

From-SVN: r163012
2010-08-08 17:41:10 +00:00
Nathan Froyd
e7c64c7dc1 rs6000.c (branch_island): Define.
* config/rs6000/rs6000.c (branch_island): Define.  Define a VEC of it.
	(branch_island_list): Delete.
	(branch_islands): Declare.
	(add_compiler_branch_island): Adjust for branch_islands instead of
	branch_island_list.
	(macho_branch_islands): Likewise.
	(no_previous_def): Likewise.
	(get_prev_label): Likewise.

From-SVN: r163011
2010-08-08 17:39:49 +00:00
Richard Guenther
b4a4e6ae0e re PR tree-optimization/45109 (ICE: in get_constraint_for_component_ref, at tree-ssa-structalias.c:2932)
2010-08-08  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/45109
	* gcc.c-torture/compile/pr45109.c: New testcase.

From-SVN: r163007
2010-08-08 15:45:22 +00:00
John David Anglin
cf00499e19 re PR boehm-gc/34544 (pthread_default_stacksize_np failed.)
PR boehm-gc/34544
	* gthr-posix.h (__gthread_start): Delete.
	(__gthread_active_init): Use pthread_default_stacksize_np instead of
	pthread_create to determine if hpux pthreads are active.
	* gthr-posix95.h (__gthread_start): Delete.
	(__gthread_active_init): Likewise use pthread_default_stacksize_np.

From-SVN: r163003
2010-08-08 15:04:38 +00:00
Paolo Carlini
71234632dd re PR libstdc++/44963 ([DR 1334] Ambiguous function overload using __gnu_cxx::crope with std::back_inserter in c++0x mode)
2010-08-08  Paolo Carlini  <paolo.carlini@oracle.com>

	PR libstdc++/44963
	* include/bits/stl_iterator.h (insert_iterator<>::
	operator=(const typename _Container::value_type&,
	back_insert_iterator<>::
	operator=(const typename _Container::value_type&),
	front_insert_iterator<>::
	operator=(const typename _Container::value_type&))): Add
	in C++0x mode.
	* testsuite/ext/rope/44963.cc: New.
	* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust
	dg-error line number.

From-SVN: r163001
2010-08-08 14:54:51 +00:00
Uros Bizjak
07f93cbdd5 march.c: Skip if -march defined.
* gcc.dg/march.c: Skip if -march defined.
	* gcc.dg/mtune.c: Skip if -mtune defined.

	* g++.old-deja/g++.jason/thunk3.C: Skip for targets with
	generic thunk support.

From-SVN: r162998
2010-08-08 14:09:46 +02:00
Paolo Carlini
77fd1c1d44 cmath: Implement US 136.
2010-08-08  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/c_global/cmath: Implement US 136.
	* include/tr1_impl/cmath: Do not bring fpclassify, etc from namespace
	std, define namespace tr1.
	* testsuite/26_numerics/headers/cmath/
	c99_classification_macros_c++0x.cc: New.

From-SVN: r162995
2010-08-08 10:07:16 +00:00
Kai Tietz
1159da448c mingw32.h ((EXTRA_OS_CPP_BUILTINS): Define _WIN64 not expanded.
2010-08-08  Kai Tietz  <kai.tietz@onevision.com>

        * config/i386/mingw32.h ((EXTRA_OS_CPP_BUILTINS): Define
        _WIN64 not expanded.

From-SVN: r162994
2010-08-08 09:30:08 +02:00
Nathan Froyd
8c30ead6fb parser.c (cp_default_arg_entry): Declare.
* parser.c (cp_default_arg_entry): Declare.  Declare a VEC of it.
	(cp_unparsed_functions_entry): Declare.  Declare a VEC of it.
	(cp_parser) [unparsed_functions_queues]: Rename to unparsed_queues.
	Change type to a VEC.
	(unparsed_funs_with_default_args): Define.
	(unparsed_funs_with_definitions): Define.
	(push_unparsed_function_queues): New function.
	(cp_parser_new): Call it.
	(pop_unparsed_function_queues): New function.
	(cp_parser_class_specifier): Adjust processing of unparsed functions.
	(cp_parser_template_declaration_after_export): Use VEC_safe_push.
	(cp_parser_save_member_function_body): Likewise.
	(cp_parser_late_parsing_for_member): Call push_unparsed_function_queues
	and pop_unparsed_function_queues.
	(cp_parser_late_parsing_default_args): Likewise.
	(cp_parser_save_default_args): Use VEC_safe_push.

From-SVN: r162992
2010-08-08 02:16:06 +00:00
Nathan Froyd
4d2fb76954 name-lookup.h (cp_label_binding): Declare.
* name-lookup.h (cp_label_binding): Declare.  Declare a VEC type
	containing it.
	(cp_binding_level): Convert shadowed_labels and dead_vars_from_for
	fields to VECs.
	* decl.c (poplevel): Adjust for type changes.
	(declare_local_label): Likewise.

From-SVN: r162991
2010-08-08 02:14:07 +00:00
GCC Administrator
daf30b2fd0 Daily bump.
From-SVN: r162989
2010-08-08 00:17:03 +00:00
Nathan Froyd
2bb1fc26a1 decl.c (gnat_to_gnu_entity): Use XALLOCAVEC instead of alloca.
* gcc-interface/decl.c (gnat_to_gnu_entity): Use XALLOCAVEC instead
	of alloca.
	(components_to_record): Likewise.
	* gcc-interface/trans.c (gnat_to_gnu): Likewise.
	* gcc-interface/utils.c (max_size): Likewise.
	(build_vms_descriptor32): Likewise.
	(build_vms_descriptor): Likewise.

From-SVN: r162985
2010-08-07 21:12:32 +00:00
Nathan Froyd
1145e690d2 interface.c (compare_actual_formal): Use XALLOCAVEC instead of alloca.
* interface.c (compare_actual_formal): Use XALLOCAVEC instead of
	alloca.
	(check_some_aliasing): Likewise.
	* trans-intrinsic.c (gfc_conv_intrinsic_conversion): Likewise.
	(gfc_conv_intrinsic_int): Likewise.
	(gfc_conv_intrinsic_lib_function): Likewise.
	(gfc_conv_intrinsic_cmplx): Likewise.
	(gfc_conv_intrinsic_ctime): Likewise.
	(gfc_conv_intrinsic_fdate): Likewise.
	(gfc_conv_intrinsic_ttynam): Likewise.
	(gfc_conv_intrinsic_minmax): Likewise.
	(gfc_conv_intrinsic_minmax_char): Likewise.
	(gfc_conv_intrinsic_ishftc): Likewise.
	(gfc_conv_intrinsic_index_scan_verify): Likewise.
	(gfc_conv_intrinsic_merge): Likewise.
	(gfc_conv_intrinsic_trim): Likewise.
	* trans.c (gfc_trans_runtime_error_vararg): Likewise.

From-SVN: r162984
2010-08-07 21:10:45 +00:00
Uros Bizjak
f6ddf131f0 re PR target/45213 ("suffix or operands invalid for `push'" triggered by optimisations on x86_64)
PR target/45213
	* config/i386/i386.c (ix86_print_operand): Handle 'q' operand modifier
	to output 32bit SFmode immediate as 8 byte sign extended value.

testsuite/ChangeLog:

	PR target/45213
	* gcc.target/i386/pr45213.c: New test.

From-SVN: r162983
2010-08-07 22:32:30 +02:00
Jerry DeLisle
a4ed58ce81 re PR fortran/45143 ([F2008,corrig1] Endless loop with unlimited edit descriptor)
2010-08-07  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/45143
	* gfortran.dg/fmt_error_11.f03: New test.

From-SVN: r162979
2010-08-07 12:10:25 +00:00
Jerry DeLisle
da0747b9b5 re PR fortran/45143 ([F2008,corrig1] Endless loop with unlimited edit descriptor)
2010-08-07  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/45143
	* io/format.c: Remove fnode storage structure definitions, moving these
	to format.h. (parse_format_list): Add check for data descriptors,
	taking care of nested formats. Adjust calling parameters to pass a
	check flag. (parse_format): Likewise.
	* io/format.h: Add structures moved from format.c.

From-SVN: r162978
2010-08-07 12:03:23 +00:00
Marcus Shawcroft
17fec01dd4 By ramana for Marcus Shawcroft.
2010-08-07  Marcus Shawcroft  <marcus.shawcroft@arm.com>

	* config/arm/linux-atomic.c (SUBWORD_VAL_CAS): Instantiate with
	'unsigned short' and 'unsigned char' instead of 'short' and 'char'.
	(SUBWORD_BOOL_CAS): Likewise.
	(SUBWORD_SYNC_OP): Likewise.
	(SUBWORD_TEST_AND_SET): Likewise.
	(FETCH_AND_OP_WORD): Parenthesise INF_OP
	(SUBWORD_SYNC_OP): Likewise.
	(OP_AND_FETCH_WORD): Likewise.

        * lib/target-supports.exp (check_effective_target_sync_int_long):
        Add arm*-*-linux-gnueabi.
        (check_effective_target_sync_char_short): Likewise.

From-SVN: r162977
2010-08-07 09:31:14 +00:00
Ramana Radhakrishnan
b0c131113e Cortex A9 VFP Pipeline description.
2010-08-07  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

        * config/arm/cortex-a9.md: Rewrite VFP Pipeline description.
        * config/arm/arm.c (arm_xscale_tune): Initialize sched_adjust_cost.
         (arm_fastmul_tune,arm_slowmul_tune, arm_9e_tune): Likewise.
         (arm_adjust_cost): Split into xscale_sched_adjust_cost and a
         generic part.
         (cortex_a9_sched_adjust_cost): New function.
         (xscale_sched_adjust_cost): New function.
        * config/arm/arm-protos.h (struct tune_params): New field
        sched_adjust_cost.
        * config/arm/arm-cores.def: Adjust costs for cortex-a9.

From-SVN: r162976
2010-08-07 09:20:41 +00:00
Nathan Froyd
e35546016b decl.c (subst_pair): Declare.
* gcc-interface/decl.c (subst_pair): Declare.  Declare a VEC of it.
	(build_subst_list): Return a VEC instead of a tree.
	(build_variant_list): Take a VEC for subst_list.  Adjust
	accordingly.
	(create_field_decl_from): Likewise.
	(create_variant_part_from): Likewise.
	(copy_and_substitute_in_size): Likewise.
	(gnat_to_gnu_entity): Adjust for new interface to build_subst_list.
	Free the built vector.

From-SVN: r162975
2010-08-07 04:26:26 +00:00
GCC Administrator
c93cc12322 Daily bump.
From-SVN: r162973
2010-08-07 00:17:14 +00:00
Eric Botcazou
e0c7ff2305 re PR target/44942 (Bug in argument passing of long double)
PR target/44942
	* config/sparc/sparc.c (function_arg_advance): Always take into account
	the padding, if any.

From-SVN: r162967
2010-08-06 23:22:52 +00:00
Thomas Koenig
8a0f25c3e7 re PR fortran/45159 (Unnecessary temporaries)
2010-08-06  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/45159
	* dependency.c (check_section_vs_section):  Handle cases where
	the start expression coincides with the lower or upper
	bound of the array.

2010-08-06  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/45159
	* gfortran.dg/dependency_31.f90:  New test.

From-SVN: r162966
2010-08-06 22:33:37 +00:00
David Malcolm
cd6b2fa0e7 hook.in: Rename variable dir to dir_.
libstdc++-v3/
	* python/hook.in: Rename variable dir to dir_.

Co-Authored-By: Jan Kratochvil <jan.kratochvil@redhat.com>

From-SVN: r162962
2010-08-06 20:43:04 +00:00
Dan Witte
7862d49629 Remove warnings
From-SVN: r162959
2010-08-06 20:05:33 +00:00
Anthony Green
833bb7dfad Add missing commit from patch earlier today
From-SVN: r162958
2010-08-06 20:02:41 +00:00
Thomas Koenig
6a57b9eeea dependency_30.f90: Fix incorrect dg-do line.
2010-08-06  Thomas Koenig  <tkoenig@gcc.gnu.org>

	* gfortran.dg/dependency_30.f90:  Fix incorrect dg-do line.

From-SVN: r162957
2010-08-06 19:54:34 +00:00
Jason Merrill
b2edc92147 * include/std/thread: Add deleted thread(thread&).
From-SVN: r162954
2010-08-06 15:41:23 -04:00