+2006-10-21 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.md (UNSPEC_LDQQU): Renamed to ...
+ (UNSPEC_LDDQU): This.
+ * config/i386/sse.md (sse3_lddqu): Updated.
+
+2006-10-21 Richard Guenther <rguenther@suse.de>
+
+ * builtins.c (expand_builtin_int_roundingfn_2): New function.
+ (expand_builtin): Use it to expand lrint instead of
+ expand_builtin_mathfn.
+
+2006-10-21 Uros Bizjak <uros@kss-loka.si>
+
+ PR middle-end/28252
+ * builtins.c (fold_builtin): Fold pow(x,1.0/3.0) as cbrt(x) if
+ flag_unsafe_math_optimizations is set.
+
+2006-10-21 Uros Bizjak <uros@kss-loka.si>
+
+ PR target/19398
+ * config/i386/i386.md (fix_trunc?f?i_sse): Add peephole2
+ patterns to use memory input operand in x87->mem->XMM
+ reload sequences. Skip transformation for TARGET_K8.
+
+2006-10-21 Uros Bizjak <uros@kss-loka.si>
+
+ * config/i386/i386.md (extendsfdf2, extendsfxf2, extenddfxf2): Do not
+ force operand1 to register if both operands are memory operands.
+ (*extendsfdf2_mixed, *extendsfdf2_sse, *extendsfdf2_i387)
+ (*extendsfxf2_i387, *extenddfxf2_i387): Do not disable pattern
+ if both operands are memory operands.
+ (truncdfsf2): Do not force operand1 to register if both operands
+ are memory operands.
+
+2006-10-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * Makefile.in (LIBS): Add $(GMPLIBS).
+ * doc/install.texi: Update GMP and MPFR requirements.
+ * doc/sourcebuild.texi (need_gmp): Delete.
+
+2006-10-21 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/3511
+ * tree-ssa-pre.c (phi_translate): Fold CALL_EXPRs that
+ got new invariant arguments during PHI translation.
+
+2006-10-21 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/26898
+ * fold-const.c (fold_comparison): Fold signed comparisons
+ of the form X +- C1 CMP Y +- C2.
+
+2006-10-21 Richard Guenther <rguenther@suse.de>
+
+ PR target/19116
+ * config/i386/i386.c (override_options): Do not set MASK_IEEE_FP
+ if flag_unsafe_math_optimizations is specified. We have
+ flag_finite_math_only for that.
+ * config/i386/i386.md (sqrtxf2): Do not require TARGET_IEEE_FP
+ or flag_unsafe_math_optimizations.
+
+2006-10-21 Richard Guenther <rguenther@suse.de>
+
+ * builtins.c (fold_builtin_classify): Fix typo.
+
+2006-10-21 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/28796
+ * simplify-rtx.c (simplify_const_relational_operation):
+ Do not constant-fold ORDERED and UNORDERED for
+ flag_unsafe_math_optimizations but only we do not need to
+ honor NaNs for the given mode.
+
+2006-10-21 Richard Guenther <rguenther@suse.de>
+
+ PR target/29512
+ * config/i386/i386.c (classify_argument): Remove redundant
+ walking of the BINFOs.
+ (contains_128bit_aligned_vector_p): Likewise.
+
+2006-10-20 Mark Mitchell <mark@codesourcery.com>
+
+ * BASE-VER: Set to 4.3.0.
+
+2006-10-20 Daniel Berlin <dberlin@dberlin.org>
+
+ * tree.h (DECL_PTA_ARTIFICIAL): Remove.
+ (tree_decl_with_vis): Remove artificial_pta_var flag.
+ * tree-flow.h (referenced_var_check_and_insert): Expose.
+ (nonlocal_all): New prototype.
+ * tree-ssa-structalias.c (nonlocal_for_type): Remove.
+ (nonlocal_all): Make global.
+ (nonlocal_lookup): Remove.
+ (nonlocal_insert): Ditto.
+ (create_nonlocal_var): Do not call nonlocal_insert.
+ (get_nonlocal_id_for_type): Remove.
+ (find_global_initializers): Mark new vars we find for renaming.
+ (intra_create_variable_infos): Only create one nonlocal.
+ (expand_nonlocal_solutions): Remove.
+ (compute_points_to_sets): Don't call it.
+ (ipa_pta_execute): Ditto.
+ (init_alias_heapvars): Don't create nonlocal_for_type.
+ (delete_alias_heapvars): Don't remove it.
+ * tree-ssa-operands.c (access_can_touch_variable): Don't prune
+ nonlocal_all.
+
+2006-10-19 Brooks Moses <bmoses@stanford.edu>
+
+ * doc/install.texi (Downloading GCC): Clarify mention of
+ Fortran in the "full distribution" description.
+
+2006-10-19 Daniel Berlin <dberlin@dberlin.org>
+
+ Fix PR tree-optimization/28778
+ Fix PR tree-optimization/29156
+ Fix PR tree-optimization/29415
+ * tree.h (DECL_PTA_ARTIFICIAL): New macro.
+ (tree_decl_with_vis): Add artificial_pta_var flag.
+ * tree-ssa-alias.c (is_escape_site): Remove alias info argument,
+ pushed into callers.
+ * tree-ssa-structalias.c (nonlocal_for_type): New variable.
+ (nonlocal_all): Ditto.
+ (struct variable_info): Add directly_dereferenced member.
+ (var_escaped_vars): New variable.
+ (escaped_vars_tree): Ditto.
+ (escaped_vars_id): Ditto.
+ (nonlocal_vars_id): Ditto.
+ (new_var_info): Set directly_dereferenced.
+ (graph_size): New variable
+ (build_constraint_graph): Use graph_size.
+ (solve_graph): Don't process constraints that cannot change the
+ solution, don't try to propagate an empty solution to our
+ successors.
+ (process_constraint): Set directly_dereferenced.
+ (could_have_pointers): New function.
+ (get_constraint_for_component_ref): Don't process STRING_CST.
+ (nonlocal_lookup): New function.
+ (nonlocal_insert): Ditto.
+ (create_nonlocal_var): Ditto.
+ (get_nonlocal_id_for_type): Ditto.
+ (get_constraint_for): Allow results vector to be empty in the case
+ of string constants.
+ Handle results of calls properly.
+ (update_alias_info): Update alias info stats on number and type of
+ calls.
+ (find_func_aliases): Use could_have_pointers.
+ (make_constraint_from_escaped): Renamed from
+ make_constraint_to_anything, and changed to make constraints from
+ escape variable.
+ (make_constraint_to_escaped): New function.
+ (find_global_initializers): Ditto.
+ (create_variable_info_for): Make constraint from escaped to any
+ global variable, and from any global variable to the set of
+ escaped vars.
+ (intra_create_variable_infos): Deal with escaped instead of
+ pointing to anything.
+ (set_uids_in_ptset): Do type pruning on directly dereferenced
+ variables.
+ (find_what_p_points_to): Adjust call to set_uids_with_ptset.
+ (init_base_vars): Fix comment, and initialize escaped_vars.
+ (need_to_solve): Removed.
+ (find_escape_constraints): New function.
+ (expand_nonlocal_solutions): Ditto.
+ (compute_points_to_sets): Call find_escape_constraints and
+ expand_nonlocal_solutions.
+ (delete_points_to_sets): Don't fall off the end of the graph.
+ (init_alias_heapvars): Initialize nonlocal_for_type and
+ nonlocal_all.
+ (delete_alias_heapvars): Free nonlocal_for_type and null out
+ nonlocal_all.
+
+2006-10-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * fold-const.c (add_double): Rename to add_double_with_sign.
+ Add 'unsigned_p' parameter and take it into account for the overflow.
+ (mul_double): Rename to mul_double_with_sign.
+ Add 'unsigned_p' parameter and take it into account for the overflow.
+ (fold_div_compare): Call add_double_with_sign instead of add_double
+ and mul_double_with_sign instead of mul_double, passing them the
+ unsignedness of the type.
+ * tree.h (add_double): Macroize.
+ (add_double_with_sign): New prototype.
+ (mul_double): Macroize.
+ (mul_double_with_sign): New prototype.
+
+2006-10-19 Chen Liqin <liqin@sunnorth.com.cn>
+
+ * config/score/crti.asm: New file.
+ * config/score/crtn.asm: New file.
+ * config/score/elf.h: New file.
+ * config/score/mac.md: New file.
+ * config/score/misc.md: New file.
+ * config/score/mul-div.S: New file.
+ * config/score/predicates.md: New file.
+ * config/score/score7.md: New file.
+ * config/score/score.c: New file.
+ * config/score/score-conv.h: New file.
+ * config/score/score.h: New file.
+ * config/score/score.md: New file.
+ * config/score/score-mdaux.c: New file.
+ * config/score/score-mdaux.h: New file.
+ * config/score/score-modes.def: New file.
+ * config/score/score.opt: New file.
+ * config/score/score-protos.h: New file.
+ * config/score/score-version.h: New file.
+ * config/score/t-score-elf: New file.
+ * config.gcc: Add score*-*-* configurations(Update before).
+ * doc/invoke.texi (Score Options): New section.
+ * doc/md.texi (Score family): New section to document constraints.
+
+2006-10-19 Nick Clifton <nickc@redhat.com>
+
+ * config/arm/arm.c: Fix spelling typo.
+
+2006-10-18 Tom Tromey <tromey@redhat.com>
+
+ * doc/install.texi (Prerequisites): Mention automake 1.9.6.
+
+2006-10-18 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/29299
+ * cfgexpand.c (expand_used_vars_for_block): Vars marked used by user
+ are used.
+
+2006-10-18 Marcin Dalecki <martin@dalecki.de>
+
+ * omp-low.c (expand_parallel_call): Use BSI_SAME_STMT instead of
+ TSI_SAME_STMT, since that's the desired entity.
+
+2006-10-17 Wolfgang Gellerich <gellerich@de.ibm.com>
+
+ * config/s390/contraints.md: New file.
+ * config/s390/s390-protos.h (s390_mem_constraint,
+ s390_O_constraint_str, s390_N_constraint_str,
+ s390_float_const_zero_p): Function prototypes added.
+ * config/s390/s390.c (s390_extra_constraint_str,
+ s390_const_double_ok_for_constraint_p,
+ s390_const_ok_for_constraint_p): Functions removed.
+ (s390_mem_constraint, s390_O_constraint_str, s390_N_constraint_str,
+ s390_float_const_zero_p): New functions.
+ * config/s390/s390.h (REG_CLASS_FROM_LETTER, CONST_OK_FOR_CONSTRAINT_P,
+ CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR,
+ EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT, CONSTRAINT_LEN):
+ Macro definitions removed.
+ (s390_const_ok_for_constraint_p, s390_const_double_ok_for_constraint_p,
+ s390_extra_constraint_str): Functions removed.
+
+2006-10-17 Andrew Pinsiki <pinskia@gmail.com>
+ Richard Sandiford <richard@codesourcery.com>
+
+ PR target/29413
+ * config/mips/linux.h (SUBTARGET_CC1_SPEC): Override.
+ * config/mips/mips.h (CC1_SPEC): Override any earlier definition.
+
+2006-10-16 Geoffrey Keating <geoffk@apple.com>
+
+ * config/rs6000/sysv4.h (DBX_REGISTER_NUMBER): Move to rs6000.h.
+ (DWARF2_FRAME_REG_OUT): Likewise.
+ * config/rs6000/rs6000.h (DBX_REGISTER_NUMBER): Move from sysv4.h.
+ (DWARF2_FRAME_REG_OUT): Likewise.
+
+2006-10-17 Paul Brook <paul@codesourcery.com>
+
+ * config/arm/arm.c (arm_rtx_costs_1): Handle multiply-accumulate.
+
+2006-10-16 Brooks Moses <bmoses@stanford.edu>
+
+ * doc/contrib.texi, doc/install.texi, doc/standards.texi:
+ Standardize on "GNU Fortran" as the official name of the Fortran
+ compiler.
+
+2006-10-16 Mike Stump <mrs@apple.com>
+
+ * doc/invoke.texi (Darwin Options): Document -mkernel.
+ * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Add
+ -mkernel support.
+ (C_COMMON_OVERRIDE_OPTIONS): Add -mkernel support. Add
+ SUBTARGET_C_COMMON_OVERRIDE_OPTIONS callout.
+ (CC1_SPEC): Don't turn on -fPIC when -mkernel is given.
+ (OS_MISSING_ALTIVEC): Add.
+ * config/i386/i386.c (override_options): Add
+ SUBSUBTARGET_OVERRIDE_OPTIONS callout.
+ * config/i386/darwin.h (CC1_SPEC): Don't turn on -fPIC when
+ -mkernel, -static or -mdynamic-no-pic is given.
+ (C_COMMON_OVERRIDE_OPTIONS): Add.
+ * config/darwin.opt (fapple-kext): Add.
+ (mkernel): Add.
+ * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Add
+ -fapple-kext, -findirect-virtual-calls, -fterminated-vtables and
+ -mkernel support.
+ (SUBSUBTARGET_OVERRIDE_OPTIONS): Add.
+ (SUBTARGET_C_COMMON_OVERRIDE_OPTIONS): Add.
+ (CPP_SPEC): Move defines for __DYNAMIC__ and __STATIC__ from here...
+ (SUBTARGET_ATTRIBUTE_TABLE): Add apple_kext_compatibility.
+ (TARGET_CXX_CDTOR_RETURNS_THIS): Add.
+ (flag_mkernel): Add.
+ (flag_apple_kext): Add.
+ (TARGET_KEXTABI): Add.
+ * config/darwin.c (darwin_handle_kext_attribute): Add.
+ (DARWIN_VTABLE_P): Add.
+ (darwin_binds_local_p): Add partial support for rebinding vtables
+ in kexts.
+ (darwin_kextabi_p): Add.
+ (darwin_override_options): Add.
+ * config/darwin-protos.h (darwin_handle_kext_attribute): Add.
+ (darwin_kextabi_p): Add.
+ (darwin_override_options): Add.
+ * config/darwin-c.c (darwin_cpp_builtins): ... move defines for
+ __DYNAMIC__ and __STATIC__ here.
+
+2006-10-16 Brooks Moses <bmoses@stanford.edu>
+
+ * doc/sourcebuild.texi, doc/makefile.texi, doc/install.texi:
+ Added mention of "make pdf" target, and Texinfo requirements for
+ same.
+
+2006-10-16 DJ Delorie <dj@redhat.com>
+
+ * config/s390/s390.c (s390_decompose_address): Allow symbol+offset
+ into the GOT in case we need a subreg of the address.
+
+2006-10-16 Richard Guenther <rguenther@suse.de>
+
+ PR target/25519
+ * doc/extend.texi (X86 Built-in Functions): Fix typos in
+ SSE builtin documentation. Document SSE2 builtins.
+
+2006-10-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * pa64-hpux.h (LINK_SPEC): Force __cxa_finalize to be an undefined
+ symbol in the output file for non-shared links when -nostdlib or
+ -nodefaultlibs isn't specified.
+
+ * config.gcc (hppa*64*-*-hpux11*, hppa[12]*-*-hpux11*): Default to
+ posix thread support.
+
+2006-10-15 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/29241
+ * cgraphunit.c (cgraph_preserve_function_body_p): Preserve functions
+ declared always_inline even when not inlining.
+
+2006-10-15 Eric Botcazou <ebotcazou@libertysurf.fr>
+ John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+ Andrew Pinski <pinskia@gmail.com>
+
+ PR middle-end/29111
+ * builtins.c (get_pointer_alignment): Return 0 if TER is not run.
+
+2006-10-15 Jan Hubicka <jh@suse.cz>
+ Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/29299
+ * cgraphunit.c (cgraph_finalize_compilation_unit): Call
+ process_function_and_variable_attributes on all variables, including
+ those discovered during cgraph construction phase.
+
+2006-10-15 Bernhard Fischer <aldot@gcc.gnu.org>
+
+ * final.c: Update Copyright year. Commentary typo fix. Fix whitespace
+
+2006-10-14 Uros Bizjak <uros@kss-loka.si>
+
+ * config/i386/athlon.md (athlon_fist): Add fisttp.
+
+2006-10-13 David Edelsohn <edelsohn@gnu.org>
+ Ian Lance Taylor <ian@airs.com>
+
+ PR middle-end/29250
+ * expr.c (expand_expr_real_1) <NON_LVALUE_EXPR, NOP_EXPR,
+ CONVERT_EXPR>: Change EXPAND_SUM modifier to EXPAND_NORMAL when
+ recursing.
+
+2006-10-14 Kazu Hirata <kazu@codesourcery.com>
+
+ * config/score/score.c, config/score/score.h: Fix comment
+ typos.
+
+2006-10-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ PR bootstrap/29402
+ * Makefile.in (ALL_GTFILES_H): Use $(sort ...) instead of
+ shell pipeline.
+
+2006-10-13 Eric Christopher <echristo@apple.com>
+
+ * config/darwin.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define.
+
+2006-10-13 Carlos O'Donell <carlos@codesourcery.com>
+
+ Revert this change:
+ 2006-10-13 Carlos O'Donell <carlos@codesourcery.com>
+ * config/elfos.h (MAX_OFILE_ALIGNMENT): Default to largest
+ alignment supported by 32-bit ELF.
+
+2006-10-13 Eric Christopher <echristo@apple.com>
+
+ * config/darwin.c (darwin_emit_unwind_label): Strip
+ name encoding. Use DECL_ASSEMBLER_NAME_SET_P.
+
+2006-10-13 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/29446
+ * tree-vrp.c (fix_equivalence_set): Remove.
+ (extract_range_from_assert): Do not call fix_equivalence_set.
+ (debug_value_range): Print a newline.
+ (compare_name_with_value): For equivalence sets with
+ inconsistent value ranges conservatively bail out.
+ (compare_names): Likewise.
+
+2006-10-13 David Edelsohn <edelsohn@gnu.org>
+
+ * doc/install.texi (*-ibm-aix*): Add comment about 32-bit GMP
+ and MPFR for gfortran.
+
+2006-10-13 Carlos O'Donell <carlos@codesourcery.com>
+
+ * config/elfos.h (MAX_OFILE_ALIGNMENT): Default to largest
+ alignment supported by 32-bit ELF.
+
+2006-10-13 Paolo Bonzini <bonzini@gnu.org>
+
+ PR c/29092
+
+ * c-typeck.c (digest_init): Always allow initializing vectors
+ that have static storage duration with compound literals.
+ * tree.c (build_type_attribute_qual_variant): New, based on
+ build_type_attribute_variant.
+ (build_type_attribute_variant): Rewrite using the former.
+ (make_vector_type): Use build_type_attribute_qual_variant to build
+ type variants. Use type_hash_canon on the others.
+
+2006-10-13 Daniel Berlin <dberlin@dberlin.org>
+ Ramana Radhakrishnan <ramana.radhakrishnan@celunite.com>
+
+ * tree-flow-inline.h (zero_ssa_operands): Fix comment.
+
+2006-10-12 Jan Hubicka <jh@suse.cz>
+
+ PR c/28419
+ * c-decl.c (c_make_fname_decl): Do not segfault in case where
+ current_function_decl is set but current_function_scope is not.
+
+2006-10-12 Jie Zhang <jie.zhang@analog.com>
+
+ * config/bfin/bfin.md (eh_return): Call emit_jump_insn instead of
+ emit_insn to emit eh_return_internal instruction.
+ (eh_return_internal): Explicitly set pc.
+
+2006-10-11 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/28230
+ * tree-vrp.c (vrp_int_const_binop): Move flag_wrapv handling
+ to the correct place.
+
+2006-10-11 Richard Guenther <rguenther@suse.de>
+
+ PR inline-asm/29119
+ * gimplify.c (gimplify_asm_expr): Mark the gimplified lvalue
+ addressable.
+
+2006-10-10 Brooks Moses <bmoses@stanford.edu>
+
+ * configure.ac: Added pdf to "Make-hooks"
+ * Makefile.in: Added TEXI2PDF definition, and various pdf-file
+ targets and *.pdf file patterns in cleanup targets.
+ * configure: Regenerated.
+
+2006-10-10 Anatoly Sokolov <aesok@post.ru>
+
+ * config/avr/predicates.md: New file.
+ * config/avr/avr.md: Include it.
+ (REG_SP): New constant.
+ (peepholes): Use predicates.
+ (sbrx_branch, sbrx_and_branchhi, sbrx_and_branchsi, branch, rvbranch,
+ difficult_branch, difficult_rvbranch, cbi, sbi, sbix_branch,
+ sbix_branch_bit7, sbix_branch_tmp, sbix_branch_tmp_bit7): Ditto.
+
+2006-10-10 Adam Nemet <anemet@caviumnetworks.com>
+
+ * config/mips/mips.c (mips_save_restore_reg): Use gen_frame_mem to
+ avoid alias set 0.
+
+2006-10-10 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/29272
+ * builtins.c (var_decl_component_p): New function.
+ (fold_builtin_memset, fold_builtin_memory_op): Restrict
+ single entry optimization to variables and components thereof.
+
+2006-10-10 Richard Guenther <rguenther@suse.de>
+
+ PR rtl-optimization/29323
+ * except.c (set_nothrow_function_flags): For functions
+ that do not bind local bail out early.
+
+2006-10-10 Ben Elliston <bje@au.ibm.com>
+
+ * doc/invoke.texi (RS/6000 and PowerPC Options): Add -m to the
+ -mdlmzb option.
+
+2006-10-09 Richard Henderson <rth@redhat.com>
+
+ Revert emutls patch.
+
+2006-10-09 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/29254
+ * cgraphunit.c (verify_cgraph_node): Bail out on earlier
+ errors.
+
+2006-10-09 Steve Ellcey <sje@cup.hp.com>
+
+ PR target/27880
+ * unwind-c.c (PERSONALITY_FUNCTION): Ifdef use of _Unwind_GetIPInfo.
+ * configure.ac (HAVE_GETIPINFO): Check for _Unwind_GetIPInfo.
+ * configure: Regenerate.
+ * config.in: Regenerate.
+
+2006-10-09 Aldy Hernandez <aldyh@redhat.com>
+
+ * tree-mudflap.c (mf_xform_derefs_1): Add parentheses around TREE_TYPE.
+
+2006-10-08 Richard Sandiford <richard@codesourcery.com>
+
+ * config/mips/mips.c (mips_legitimize_tls_address): Implement
+ all TLS models in the same way as local exec if !TARGET_ABICALLS.
+ Remove stray newline.
+
2006-10-08 Richard Sandiford <richard@codesourcery.com>
* config/mips/mips.c (mips_classify_symbol): Do not return
Use <modeconstraint> instead of "r" as operand 1 constraint.
2006-10-06 Olivier Hainque <hainque@adacore.com>
-
+
* gimplify.c (gimplify_type_sizes) [POINTER_TYPE, REFERENCE_TYPE]:
Don't recurse on the pointed-to type.
* c-decl.c (grokdeclarator) [cdk_pointer]: If we are in a NORMAL or
Jakub Jelinek <jakub@redhat.com>
* Makefile.in (libgcc.mk, LIBGCC_DEPS): Add emutls.c.
- * builtin-types.def (BT_WORD): Make unsigned.
- (BT_FN_VOID_PTR_WORD_WORD_PTR): New.
- * builtins.def (BUILT_IN_EMUTLS_GET_ADDRESS): New.
- (BUILT_IN_EMUTLS_REGISTER_COMMON): New.
- * c-decl.c (grokdeclarator): Don't error if !have_tls.
- * c-parser.c (c_parser_omp_threadprivate): Likewise.
+ * builtin-types.def (BT_WORD): Make unsigned.
+ (BT_FN_VOID_PTR_WORD_WORD_PTR): New.
+ * builtins.def (BUILT_IN_EMUTLS_GET_ADDRESS): New.
+ (BUILT_IN_EMUTLS_REGISTER_COMMON): New.
+ * c-decl.c (grokdeclarator): Don't error if !have_tls.
+ * c-parser.c (c_parser_omp_threadprivate): Likewise.
* cgraph.c (decide_is_variable_needed): Look at force_output.
Recurse for emulated tls.
* cgraphunit.c (cgraph_varpool_remove_unreferenced_decls): Remove
checks redundant with decide_is_variable_needed.
(cgraph_build_static_cdtor): Do cgraph_varpool_assemble_pending_decls.
- * dwarf2out.c (loc_descriptor_from_tree_1): Don't do anything for
- emulated tls.
- * expr.c (emutls_var_address): New.
+ * dwarf2out.c (loc_descriptor_from_tree_1): Don't do anything for
+ emulated tls.
+ * expr.c (emutls_var_address): New.
(expand_expr_real_1): Expand emulated tls.
(expand_expr_addr_expr_1): Likewise.
- * libgcc-std.ver: Add __emutls_get_address, __emutls_register_common.
- * output.h (emutls_finish): Declare.
- * toplev.c (compile_file): Call it.
+ * libgcc-std.ver: Add __emutls_get_address, __emutls_register_common.
+ * output.h (emutls_finish): Declare.
+ * toplev.c (compile_file): Call it.
* tree-ssa-address.c (gen_addr_rtx): Check for const-ness of the
address before wrapping in CONST.
- * varasm.c (emutls_htab, emutls_object_type): New.
- (EMUTLS_VAR_PREFIX, EMUTLS_TMPL_PREFIX): New.
+ * varasm.c (emutls_htab, emutls_object_type): New.
+ (EMUTLS_VAR_PREFIX, EMUTLS_TMPL_PREFIX): New.
(get_emutls_object_name, get_emutls_object_type): New.
(get_emutls_init_templ_addr, emutls_decl): New.
(emutls_common_1, emutls_finish): New.
- (assemble_variable): When emulating tls, swap decls; generate
+ (assemble_variable): When emulating tls, swap decls; generate
constructor for the emutls objects.
(do_assemble_alias): When emulating tls, swap decl and target name.
- (default_encode_section_info): Don't add SYMBOL_FLAG_TLS_SHIFT
- for emulated tls.
+ (default_encode_section_info): Don't add SYMBOL_FLAG_TLS_SHIFT
+ for emulated tls.
* emutls.c: New file.
- * config/sparc/sol2.h (ASM_DECLARE_OBJECT_NAME): Only emit
- tls_object for real tls.
+ * config/sparc/sol2.h (ASM_DECLARE_OBJECT_NAME): Only emit
+ tls_object for real tls.
2006-10-04 Zack Weinberg <zackw@panix.com>