* config/sparc/sparc.c (sparc_override_options): Do support different
pointer and architecture size.
* config/sparc/sparc.h (MIN_UNITS_PER_WORD): Always 4.
(POINTERS_EXTEND_UNSIGNED): Define.
(Pmode): Test TARGET_ARCH64, not TARGET_PTR64.
(FUNCTION_MODE): Define to be Pmode.
* config/sparc/sparc.md (64-bit call patterns): FUNCTION_MODE now DI.
From-SVN: r38608
* function.c (expand_function_end): Properly handle DECL_RESULT
and copy when ptr_mode != Pmode.
* expmed.c (make_tree): Convert X from Pmode to ptr_mode, if needed.
From-SVN: r38607
* c-common.c (c_common_nodes_and_builtins): Set prototype
parameters for __builtin_fputs, __builtin_fputc and
__builtin_fwrite. Don't declare plain fputc as a builtin.
testsuite:
* gcc.c-torture/execute/stdio-opt-1.c: Also test
__builtin_fputc and __builtin_fwrite.
From-SVN: r38605
* loop.c (add_label_notes): Increment the label usage count when
a note is added to an insn which refers to a CODE_LABEL.
* gcse.c (add_label_notes): Likewise.
From-SVN: r38603
* config.gcc (sparc-*-elf): Include sparc/sol2.h.
(sparc-*-rtems*): Include sparc/sol2.h and sparc/elf.h.
(sparclite-*-elf*, sparc86x-*-elf*): Likewise.
* config/sparc/elf.h: No longer include sol2.h.
* config/sparc/lifeelf.h: No longer include sparc/elf.h.
* config/sparc/rtemself.h, config/sparc/sp86x-elf.h: Likewise.
From-SVN: r38587
* loop.h (REGNO_FIRST_LUID, REGNO_LAST_LUID): Define.
* loop.c (REGNO_FIRST_LUID, REGNO_LAST_LUID): Use in place of
direct access to uid_luid array.
* unroll.c (REGNO_FIRST_LUID, REGNO_LAST_LUID): Likewise.
From-SVN: r38575
* loop.h (struct loop_movables): New.
(LOOP_MOVABLES): New.
(struct loop_info): Add movables field.
* loop.c (struct movables): Delete. Replace all uses
with struct loop_movables.
(the_movables): Delete. Replace all uses with movables
field in loop_info.
(loop_movables_add, loop_movables_free): New functions.
(scan_loop): Use xmalloc instead of alloca for movables.
Call loop_movables_free.
From-SVN: r38573
2000-12-30 Jeffrey Oldham <oldham@codesourcery.com>
* gcc.c-torture/execute/20001009-2.c (foo): Test only works for
signed char, not default char.
From-SVN: r38564
2000-12-30 Jeffrey Oldham <oldham@codesourcery.com>
* defaults.h (BUILD_VA_LIST_TYPE): New definition.
* tree.c (build_common_tree_nodes_2): Ensure the va_list_type_node
is a copy, not an alias.
From-SVN: r38561
* alias.c (alias_sets_conflict_p): New function.
(mems_in_disjoint_alias_sets_p): Use it.
(readonly_fields_p): Moved from expr.c; check for record type.
(objects_must_conflict_p): New function.
* calls.c (expand_call): Use assign_temp as much as possible, use
readonly variant if assigned once, and don't set memory attributes.
(emit_library_call_value_1, store_one_arg): Likewise.
* integrate.c (expand_inline_function): Likewise.
* stmt.c (expand_asm_operands, expand_return): Likewise.
* expr.c (copy_blkmode_from_reg, store_constructor): Likewise.
(store_field, save_noncopied_parts, expand_expr): Likewise.
(expand_expr_unaligned): Likewise.
(readonly_fields_p): Moved to alias.c.
(safe_from_p): Rework handling of SAVE_EXPR.
MEMs ony conflict if alias sets conflict; likewise for INDIRECT_REF.
* function.c (struct temp_slot): Delete field ALIAS_SET; add TYPE.
(assign_stack_for_temp): Use objects_must_confict_p.
Set all memory attributes from type, if specified.
(mark_temp_slot): Mark TYPE field.
* tree.h (alias_sets_conflict_p, readonly_fields_p): New decls.
(objects_must_conflict_p): Likewise.
* stmt.c (expand_decl): Don't use assign_stack_temp in error case.
(add_case_node): No need to copy nodes anymore.
From-SVN: r38559
* configure.in: Rename THREADLIB to THREADLIBS.
* Makefile.am (LINK): Add $(THREADLIBS) to libtool command line. This
ensures that we link the correct version of the linuxthreads semaphore
functions.
* Makefile.in: Rebuilt.
* configure: Rebuilt.
* linux_thread.c (GC_thr_init, GC_suspend_handler): Add SIGABRT to the
list of signals which are not blocked during suspend in the NO_SIGNALS
case.
For libjava:
* Makefile.am (libgcj_la_LIBADD): Add $(THREADLIBS). This ensures that
the correct versions of various linuxthreads functions get linked.
* Makefile.in: Rebuilt.
* java/lang/natThread.cc (finalize_native): New static function. Call
_Jv_ThreadDestroyData.
(initialize_native): Register finalizer for "data".
* include/posix-threads.h (_Jv_ThreadInitData): New simpler prototype.
(_Jv_ThreadDestroyData): New prototype.
* include/win32-threads.h: Ditto.
* include/no-threads.h: Ditto.
* posix-threads.cc (_Jv_ThreadInitData): Implement new prototype.
(_Jv_ThreadDestroyData): New function. Free native thread "data" and
move mutex and condition variable destroy code from:
(really_start): ...here.
(_Jv_ThreadStart): Set PTHREAD_CREATE_DETACHED.
* win32-threads.cc (_Jv_ThreadInitData): Implement new prototype.
(_Jv_ThreadDestroyData): Implemented.
* nogc.cc (_Jv_AllocObject): Use "void *" not "ptr_t".
(_Jv_AllocArray): Ditto.
From-SVN: r38557