113333 Commits

Author SHA1 Message Date
Richard Henderson
2747a04662 rs6000: Rewrite sync patterns for atomic; expand early.
The conversion of the __sync post-reload splitters was half
complete.  Since there are nearly no restrictions on what may
appear between LL and SC, expand all the patterns immediatly.
This allows significantly easier code generation for subword
atomic operations.

From-SVN: r181370
2011-11-14 14:59:02 -08:00
Uros Bizjak
674a358147 sse.md (round<mode>2): Use register_operand for operand 1 predicate.
* config/i386/sse.md (round<mode>2): Use register_operand for
	operand 1 predicate.
	(round<mode>2_sfix): Ditto.
	(round<mode>2_vec_pack_sfix): Ditto for operand 1 and operand 2.

From-SVN: r181369
2011-11-14 23:27:13 +01:00
Ian Lance Taylor
5c262e9444 runtime: Use some of 6g runtime.c for easier merging.
From-SVN: r181368
2011-11-14 22:26:45 +00:00
Nathan Sidwell
8c121ccb53 * gcov.c (canonicalize_name): Protect use of S_ISLNK.
From-SVN: r181367
2011-11-14 21:44:01 +00:00
Torvald Riegel
2f5623b20c Trivial: add cleanup-tree-dump in testcase, fix typo in comment.
gcc/testsuite:
	* g++.dg/tm/template-1.C: Add cleanup-tree-dump. Fix typo in comment.

From-SVN: r181366
2011-11-14 21:06:15 +00:00
Jan Hubicka
de3c89d5ba i386.c (core cost model): Correct pasto.
gcc:

2011-11-14  Jan Hubicka  <jh@suse.cz>

	* config/i386/i386.c (core cost model): Correct pasto.

From-SVN: r181365
2011-11-14 21:05:12 +00:00
Uros Bizjak
865d6730c2 avx-recip-vec.c: New test.
* gcc.target/i386/avx-recip-vec.c: New test.
	* gcc.target/i386/avx-lrintf-vec.c: Ditto.
	* gcc.target/i386/avx-lrint-vec.c: Ditto.
	* gcc.target/i386/avx-ceilf-vec.c: Include sse4_1-ceilf-vec.c.
	* gcc.target/i386/avx-ceil-vec.c: Include sse4_1-ceil-vec.c.
	* gcc.target/i386/avx-floorf-vec.c: Include sse4_1-floorf-vec.c.
	* gcc.target/i386/avx-floor-vec.c: Include sse4_1-floor-vec.c.
	* gcc.target/i386/avx-rintf-vec.c: Include sse4_1-rintf-vec.c.
	* gcc.target/i386/avx-rint-vec.c: Include sse4_1-rint-vec.c.
	* gcc.target/i386/avx-roundf-vec.c: Include sse4_1-roundf-vec.c.
	* gcc.target/i386/avx-round-vec.c: Include sse4_1-round-vec.c.
	* gcc.target/i386/avx-truncf-vec.c: Include sse4_1-truncf-vec.c.
	* gcc.target/i386/avx-trunc-vec.c: Include sse4_1-trunc-vec.c.
	* gcc.target/i386/avx-copysignf-vec.c: Include sse-copysignf-vec.c.
	* gcc.target/i386/avx-copysign-vec.c: Include sse2-copysign-vec.c.

From-SVN: r181364
2011-11-14 21:25:14 +01:00
Ed Smith-Rowland
d2027d2a83 re PR c++/51107 ([C++11] Accepts invalid literal operator with void argument list.)
PR c++/51107
	* typeck.c (check_literal_operator_args): Add processing_specialization
	to check for void template fn. Test for exact arity for non-template fn.

From-SVN: r181363
2011-11-14 15:05:12 -05:00
Uros Bizjak
eab880cf62 sse.md (round<mode>2_sfix): New expander.
* config/i386/sse.md (round<mode>2_sfix): New expander.
	(round<mode>2_vec_pack_sfix): Ditto.
	(<sse4_1>_round<ssemodesuffix>_sfix<avxsizesuffix>): Ditto.
	(<sse4_1>_round<ssemodesuffix>_vec_pack_sfix<avxsizesuffix>): Ditto.
	* config/i386/builtin-types.def (V4SI_FTYPE_V4SF_ROUND,
	V8SI_FTYPE_V8SF_ROUND, V4SI_FTYPE_V2DF_V2DF_ROUND,
	V8SI_FTYPE_V4DF_V4DF_ROUND): New builtin types.
	* config/i386/i386.c (ix86_builtins): Add
	IX86_BUILTIN_{FLOORPD,CEILPD,ROUNDPD_AZ}_VEC_PACK_SFIX{,256} and
	IX86_BUILTIN_{FLOORPS,CEILPS,ROUNDPS_AZ}_SFIX{,256} defines.
	(bdesc_args): Add __builtin_ia32_{floorpd,ceilpd}_vec_pack_sfix{,256},
	__builtin_ia32_roundpd_az_vec_pack_sfix{,256},
	__builtin_ia32_{floorps,ceilps}_sfix{,256}and
	__builtin_ia32_roundps_az_sfix{,256} descriptions.
	(ix86_expand_sse_round_vec_pack_sfix): New.
	(ix86_expand_args_builtin): Handle V4SI_FTYPE_V4SF_ROUND,
	V8SI_FTYPE_V8SF_ROUND, V4SI_FTYPE_V2DF_V2DF_ROUND and
	V8SI_FTYPE_V4DF_V4DF_ROUND types.  Check last argument of
	CODE_FOR_sse4_1_roundpd_vec_pack_sfix, CODE_FOR_sse4_1_roundps_sfix,
	CODE_FOR_avx_roundpd_vec_pack_sfix256 and CODE_FOR_avx_roundps_sfix256.
	(ix86_builtin_vectorized_function): Handle
	BUILT_IN_{I,L,LL}FLOOR{,F}, BUILT_IN_{I,L,LL}CEIL{,F} and
	BUILT_IN_{I,L,LL}ROUND{,F}

testsuite/ChangeLog:

	* gcc.target/i386/sse4_1-floor-sfix-vec.c: New test.
	* gcc.target/i386/sse4_1-floorf-sfix-vec.c: Ditto.
	* gcc.target/i386/avx-floor-sfix-vec.c: Ditto.
	* gcc.target/i386/avx-floorf-sfix-vec.c: Ditto.
	* gcc.target/i386/sse4_1-ceil-sfix-vec.c: Ditto.
	* gcc.target/i386/sse4_1-ceilf-sfix-vec.c: Ditto.
	* gcc.target/i386/avx-ceil-sfix-vec.c: Ditto.
	* gcc.target/i386/avx-ceilf-sfix-vec.c: Ditto.
	* gcc.target/i386/sse4_1-round-sfix-vec.c: Ditto.
	* gcc.target/i386/sse4_1-roundf-sfix-vec.c: Ditto.
	* gcc.target/i386/avx-round-sfix-vec.c: Ditto.
	* gcc.target/i386/avx-roundf-sfix-vec.c: Ditto.

From-SVN: r181361
2011-11-14 20:36:33 +01:00
H.J. Lu
2841f85e9c Check ia32 instead of ilp32.
2011-11-14  H.J. Lu  <hongjiu.lu@intel.com>

	* testsuite/lib/libitm.exp: Check ia32 instead of ilp32.

From-SVN: r181360
2011-11-14 10:12:24 -08:00
Fabien Chêne
557831a91d re PR c++/6936 (member "using" binds wrong)
PR c++/6936
	PR c++/25994
	PR c++/26256
	PR c++/30195
	* search.c (lookup_field_1): Look through USING_DECL.
	(lookup_field_r): Call lookup_fnfields_slot instead of
	lookup_fnfields_1.
	* semantics.c (finish_member_declaration): Remove the check that
	prevents USING_DECLs from being verified by
	pushdecl_class_level. Call add_method for using declarations that
	designates functions if the using declaration is in a template
	class. Set DECL_IGNORED_P on class-scope using declarations.
	* typeck.c (build_class_member_access_expr): Handle USING_DECLs.
	* class.c (check_field_decls): Keep using declarations.
	(add_method): Remove two diagnostics about conflicting using
	declarations.
	* parser.c (cp_parser_nonclass_name): Handle USING_DECLs.
	* decl.c (start_enum): Call xref_tag whenever possible.
	* cp-tree.h (strip_using_decl): Declare, and reident the previous
	function.
	* name-lookup.c (strip_using_decl): New function.
	(supplement_binding_1): Call strip_using_decl on decl and
	bval. Perform most of the checks with USING_DECLs stripped.  Also
	check that the target decl and the target bval does not refer to
	the same declaration. Allow pushing an enum multiple times in a
	template class. Adjustment to diagnose using redeclarations. Call
	diagnose_name_conflict.
	(push_class_level_binding): Call strip_using_decl on decl and
	bval. Perform most of the checks with USING_DECLs stripped. Return
	true if both decl and bval refer to USING_DECLs and are dependent.
	(diagnose_name_conflict): New function.

From-SVN: r181359
2011-11-14 12:55:57 -05:00
Jan Hubicka
ac99ebf5ae re PR middle-end/50598 (Undefined symbols: "___emutls_v.*", ... on *-apple-darwin*)
PR middle-end/50598
	* cgraph.h (varpool_externally_visible_p): Declare.
	(varpool_add_new_variable): Declare.
	* tree-emultls.c (get_emutls_init_templ_addr,
	new_emutls_decl): Use varpool_add_new_variable.
	* ipa.c (varpool_externally_visible_p): Export.
	* varpool.c (varpool_add_new_variable): New function.

From-SVN: r181358
2011-11-14 17:32:47 +00:00
Zolotukhin Michael
38877e9851 sw-1.c: Force rep;movsb.
* gcc.target/i386/sw-1.c: Force rep;movsb.

        * config/i386/i386.h (processor_costs): Add second dimension to
        stringop_algs array.
        * config/i386/i386.c (cost models): Initialize second dimension of
        stringop_algs arrays.
	(core_cost): New costs based on generic64 costs with updated stringop
	values.
        (promote_duplicated_reg): Add support for vector modes, add
        declaration.
        (promote_duplicated_reg_to_size): Likewise.
	(processor_target): Set core costs for core variants.
        (expand_set_or_movmem_via_loop_with_iter): New function.
        (expand_set_or_movmem_via_loop): Enable reuse of the same iters in
        different loops, produced by this function.
        (emit_strset): New function.
        (expand_movmem_epilogue): Add epilogue generation for bigger sizes,
        use SSE-moves where possible.
        (expand_setmem_epilogue): Likewise.
        (expand_movmem_prologue): Likewise for prologue.
        (expand_setmem_prologue): Likewise.
        (expand_constant_movmem_prologue): Likewise.
        (expand_constant_setmem_prologue): Likewise.
        (decide_alg): Add new argument align_unknown.  Fix algorithm of
        strategy selection if TARGET_INLINE_ALL_STRINGOPS is set; Skip sse_loop
        (decide_alignment): Update desired alignment according to chosen move
        mode.
        (ix86_expand_movmem): Change unrolled_loop strategy to use SSE-moves.
        (ix86_expand_setmem): Likewise.
        (ix86_slow_unaligned_access): Implementation of new hook
        slow_unaligned_access.
        * config/i386/i386.md (strset): Enable half-SSE moves.
        * config/i386/sse.md (vec_dupv4si): Add expand for vec_dupv4si.
        (vec_dupv2di): Add expand for vec_dupv2di.

Co-Authored-By: Jan Hubicka <jh@suse.cz>

From-SVN: r181357
2011-11-14 17:28:11 +00:00
Dimitrios Apostolou
f8acdd3c52 re PR bootstrap/51094 (Bootstrap failure at revision 181279 on non-ELF targets)
PR bootstrap/51094
	PR middle-end/51116
	* config/elfos.h (TARGET_ASM_INTERNAL_LABEL): Remove.
	* varasm.c (default_elf_internal_label): Remove.

From-SVN: r181355
2011-11-14 11:55:56 -05:00
Kai Tietz
fe860eb519 gcov.c (generate_results): Add missing semicolon and correct indent.
* gcov.c (generate_results): Add missing semicolon and
        correct indent.

From-SVN: r181353
2011-11-14 17:38:23 +01:00
Iain Sandoe
a163acfa5d re PR testsuite/51059 (FAIL: gcc.misc-tests/gcov-14.c (test for excess errors) on *-apple-darwin*)
gcc/testsuite:

	PR testsuite/51059
	* gcc.misc-tests/gcov-14.c (dg-options): Adjust to use
	dg-additional-options.

From-SVN: r181350
2011-11-14 11:53:33 +00:00
Paolo Carlini
77addcb730 cmath (frexp, [...]): Do not mark constexpr, not viable anyway due to the pointer parameter.
2011-11-14  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/c_global/cmath (frexp, modf, remquo): Do not mark constexpr,
	not viable anyway due to the pointer parameter.

From-SVN: r181349
2011-11-14 11:29:26 +00:00
Tobias Burnus
107a9bc92c re PR fortran/51073 (_gfortran_caf_register incorrectly assumes malloc(0) returns non-NULL)
2011-11-14  Tobias Burnus  <burnus@net-b.de>

        PR fortran/51073
        * trans-decl.c (generate_coarray_sym_init): Handle zero-sized
        * arrays.

From-SVN: r181348
2011-11-14 09:15:09 +01:00
Ira Rosen
df11cc78c2 re PR bootstrap/51112 (LTO bootstrap failed with bootstrap-profiled)
PR bootstrap/51112
        * tree-vect-stmts.c (vectorizable_condition): Initialize
        comp_vectype.

From-SVN: r181347
2011-11-14 06:41:09 +00:00
Mingjie Xing
51c0279887 Fix a cross reference.
From-SVN: r181346
2011-11-14 05:53:18 +00:00
GCC Administrator
a56125be7a Daily bump.
From-SVN: r181345
2011-11-14 00:18:34 +00:00
Paolo Carlini
9fb2982817 cmath (atan2, [...]): Simplify constraining on the return type.
2011-11-13  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/c_global/cmath (atan2, fmod, pow, copysign, fdim,
	fma, fmax, fmin, hypot, nextafter, remainder, remquo): Simplify
	constraining on the return type.
	* include/tr1/cmath (copysign, fdim, fma, fmax, fmin, hypot,
	nextafter, remainder, remquo): Likewise.

From-SVN: r181341
2011-11-13 23:51:42 +00:00
Oleg Endo
f36348b34b re PR target/50694 (SH Target: SH2A little endian does not actually work)
PR target/50694
	* config/sh/sh.h (IS_LITTLE_ENDIAN_OPTION, UNSUPPORTED_SH2A):
	New macros.
	(DRIVER_SELF_SPECS): Use new macros to filter out
	unsupported options taking the default configuration into
	account.
	* gcc.target/sh/pr21255-2-ml.c: Skip if -mb or -m5* is
	specified.  Remove redundant runtime checks.
	* gcc.target/sh/20080410-1.c: Skip if -mb is specified.
	Allow for other than -m4.  Fix typos in comments.

From-SVN: r181340
2011-11-13 23:00:10 +00:00
John David Anglin
9dfd583288 config.host (hppa*64*-*-hpux11*): Remove pa/t-stublib64 from tmake_file list.
* config.host (hppa*64*-*-hpux11*): Remove pa/t-stublib64 from
	tmake_file list.
	* config/pa/t-stublib: Merge rules from config/pa/t-stublib64.
	* config/pa/t-stublib64: Delete.

From-SVN: r181339
2011-11-13 20:17:01 +00:00
Jonathan Wakely
d559a95c8f install.texi (Specific): Fix anchor for x86_64-*-solaris2.1[0-9]*.
* doc/install.texi (Specific): Fix anchor for
	x86_64-*-solaris2.1[0-9]*.

From-SVN: r181338
2011-11-13 16:39:22 +00:00
Nathan Sidwell
1bec9caacb gcov.c (source_prefix, [...]): New globals.
* gcov.c (source_prefix, source_length): New globals.
	(flag_relative_only): Likewise.
	(print_usage, options, process_args): Update.
	(generate_results): Use coverage.name, check
	flag_relative_only. Adjust messages.
	(find_source): Check source_prefix.
	(output_lines): Use coverage.name, adjust messages.
	* doc/gcov.texi (Invoking Gcov): Document new options.

From-SVN: r181335
2011-11-13 10:26:23 +00:00
Jason Merrill
2c6f792709 re PR c++/986 (g++ misses warning for reference on temporary that invokes undefined behaviour)
PR c++/986
	* call.c (set_up_extended_ref_temp): Warn about references
	bound to non-static reference members.
	* init.c (perform_member_init): Pass in the member.

From-SVN: r181334
2011-11-13 00:09:36 -05:00
Gerald Pfeifer
afe5cf2190 * using.xml: Use GNU/Linux.
From-SVN: r181333
2011-11-13 04:27:22 +00:00
Jason Merrill
d0ad58f94e re PR c++/51060 (Temporary object stack space is not re-used)
PR c++/51060
	* gimplify.c (gimplify_target_expr): Add a clobber to the cleanup.
	(gimplify_modify_expr): Don't try to simplify it.
	* cp/cp-gimplify.c (cp_gimplify_expr): Leave clobbers alone.

From-SVN: r181332
2011-11-12 19:44:39 -05:00
GCC Administrator
f2628dce24 Daily bump.
From-SVN: r181331
2011-11-13 00:18:44 +00:00
Dimitrios Apostolou
c9febe1567 re PR bootstrap/51094 (Bootstrap failure at revision 181279 on non-ELF targets)
PR bootstrap/51094
	* config/elfos.h (STRING_ASM_OP): Define.
	* varasm.c (default_elf_asm_output_limited_string): Use it.

From-SVN: r181327
2011-11-12 16:40:07 -05:00
Dimitrios Apostolou
123cd4632d re PR bootstrap/51094 (Bootstrap failure at revision 181279 on non-ELF targets)
PR bootstrap/51094
	* gcc/configure.ac: Check for stpcpy declaration.
	* system.h: Declare it if not.
	* config.in, configure: Regenerate.

From-SVN: r181326
2011-11-12 16:39:59 -05:00
Richard Henderson
f77dca5d23 ppc-linux: Fix call to _Unwind_SetGRPtr
* config/rs6000/linux-unwind.h (frob_update_context): Properly
        cast the pointer argument to _Unwind_SetGRPtr.

From-SVN: r181325
2011-11-12 09:20:58 -08:00
Richard Henderson
17fd74dde3 rs6000: fix*_trunc insns use nonimmediate_operand
* config/rs6000/rs6000.md (fix_trunc<SFDF>si2_stfiwx): Use
        nonimmediate_operand for the destination.
        (fixuns_trunc<SFDF>si2_stfiwx): Likewise.

From-SVN: r181324
2011-11-12 09:19:39 -08:00
Richard Henderson
f0409b19f5 builtins.c (expand_builtin_compare_and_swap): If target is const0, don't pass the target to expand_atomic_compare_and_swap.
* builtins.c (expand_builtin_compare_and_swap): If target is const0,
        don't pass the target to expand_atomic_compare_and_swap.
        (expand_builtin_atomic_compare_exchange): Likewise.

From-SVN: r181323
2011-11-12 09:17:54 -08:00
Richard Henderson
dab37c689e sh-linux: Install __sync libfuncs.
* config/sh/linux.h (TARGET_INIT_LIBFUNCS): New.
        * config/sh/sh.c (sh_init_sync_libfuncs): New.

From-SVN: r181322
2011-11-12 09:17:45 -08:00
Jonathan Wakely
306133e3d4 re PR libstdc++/51083 (TR1 [tr.c99.cmath.over] and C++11 [cmplx.over] overloads not constrained)
PR libstdc++/51083
	* include/ext/type_traits.h (__promote): Only define __type member
	for integral and floating point types, to prevent math functions
	participating in overload resolution for other types.
	(__promote_2, __promote_3, __promote_4): Use __promote in default
	template argument values, so deduction only succeeds for integral and
	floating point types.
	* testsuite/26_numerics/cmath/51083.cc: New.
	* testsuite/26_numerics/complex/51083.cc: New.
	* testsuite/tr1/8_c_compatibility/cmath/51083.cc: New.
	* testsuite/tr1/8_c_compatibility/complex/51083.cc: New.

From-SVN: r181321
2011-11-12 15:57:03 +00:00
Richard Henderson
33a55f2919 hppa: Install __sync libfuncs for linux.
* config/pa/pa-linux.h (TARGET_SYNC_LIBCALL): New.
        * config/pa/pa.h (TARGET_SYNC_LIBCALL): New default.
        * config/pa/pa.c (pa_init_libfuncs): Use init_sync_libfuncs.

From-SVN: r181320
2011-11-12 07:39:44 -08:00
Iain Sandoe
5f41422fc7 Makefile.in (stamp-gnatlib-$(RTSDIR)): Don't link s-oscons.ads.
ada:

	* gcc-interface/Makefile.in (stamp-gnatlib-$(RTSDIR)): Don't link
	s-oscons.ads.
	(OSCONS_CPP, OSCONS_EXTRACT): New.
	(./bldtools/oscons/xoscons): New Target.
	($(RTSDIR)/s-oscons.ads): New Target.
	(gnatlib): Depend on  $(RTSDIR)/s-oscons.ads.
	* gcc-interface/Make-lang.in (ada/s-oscons.ads) Remove as dependency.
	* Make-generated.in: Remove machinery to generate xoscons and
	ada/s-oscons.ads.

libada:

	Makefile.in: Change dependency on oscons to depend on the generator
	tool.

From-SVN: r181319
2011-11-12 15:06:18 +00:00
Uros Bizjak
0eb5d9c427 gcc-simulate-thread.exp (simulate-thread): Do not run on alpha*-*-linux* targets.
* lib/gcc-simulate-thread.exp (simulate-thread): Do not run on
	alpha*-*-linux* targets.

From-SVN: r181318
2011-11-12 15:35:31 +01:00
Iain Sandoe
173a8c50f1 re PR testsuite/51059 (FAIL: gcc.misc-tests/gcov-14.c (test for excess errors) on *-apple-darwin*)
gcc/testsuite:

	PR testsuite/51059
	* gcc.misc-tests/gcov-14.c (dg-options): Force flat namespace for
	Darwin targets and allow external symbols to be undefined.

From-SVN: r181317
2011-11-12 14:30:45 +00:00
Iain Sandoe
220c688a77 re PR target/45233 (FAIL: gcc.c-torture/compile/pr44707.c)
gcc:

	PR target/45233
	* config/rs6000/rs6000.c (rs6000_legitimize_reload_address):
	Only expand a symbol ref. into an access when the entity is defined
	in the TU.

From-SVN: r181315
2011-11-12 14:12:26 +00:00
Iain Sandoe
76d29410c7 objc-next-runtime-abi-01.c (objc_eh_personality): Use gcc personality for Objective-C m32.
gcc/obj:

	* objc-next-runtime-abi-01.c (objc_eh_personality): Use gcc personality
	for Objective-C m32.

From-SVN: r181312
2011-11-12 13:54:33 +00:00
Jan Hubicka
c481ae7f87 re PR bootstrap/50822 (Solaris/SPARC bootstrap failure with Sun as: invalid assembler for ios_init.cc)
PR bootstrap/50822
	* cgraphunit.c (output_weakrefs): Output really only weakrefs.

From-SVN: r181311
2011-11-12 13:19:55 +00:00
Andrey Belevantsev
bcf83e0029 MAINTAINERS (Reviewers): Keep the list sorted.
* MAINTAINERS (Reviewers): Keep the list sorted.

From-SVN: r181310
2011-11-12 16:11:39 +04:00
Nathan Sidwell
eeabee0aac gcov.c (struct name_map): New.
* gcov.c (struct name_map): New.
	(names, n_names, a_names): New global vars.
	(print_usage): Adjust usage.
	(generate_results): Canonicalize main file name.
	(release_structures): Adjust.
	(name_search, name_sort): New callbacks.
	(find_source): Look for and create a canonical name.
	(canonicalize_name): New.
	(make_gcov_file_name): Reimplement and fix mangling.
	(mangle_name): New.
	* doc/gcov.texi: Update documentation about path preservation.

	testsuite/
	* gcc.misc-tests/gcov-15.c: New.

From-SVN: r181309
2011-11-12 11:35:42 +00:00
Eric Botcazou
926706f828 Fix recent entry
From-SVN: r181308
2011-11-12 08:57:49 +00:00
David S. Miller
49db0ca8f6 Fix Linux/sparc build after generic asm output optimizations.
* config/sparc/linux.h (ASM_GENERATE_INTERNAL_LABEL): Delete.
	* config/sparc/linux64.h (ASM_GENERATE_INTERNAL_LABEL): Delete.

From-SVN: r181307
2011-11-11 17:05:07 -08:00
GCC Administrator
daf6d24fd0 Daily bump.
From-SVN: r181306
2011-11-12 00:18:00 +00:00
Ian Lance Taylor
34277c5228 Introduce G structure and thread-local global g.
From-SVN: r181301
2011-11-11 21:02:48 +00:00