Ovidiu Predescu [Wed, 3 Jan 2001 08:50:46 +0000 (08:50 +0000)]
sendmsg.c: Added __objc_msg_forward...
Wed Jan 3 00:49:10 2001 Ovidiu Predescu <ovidiu@cup.hp.com>
* sendmsg.c: Added __objc_msg_forward, a hook that allows external
libraries to provide a function that returns the real forwarding
function. This can alleviate problems __builtin_apply() and
friends have on various platforms. (Solution suggested by Helge
Hess.)
Ovidiu Predescu [Wed, 3 Jan 2001 08:49:34 +0000 (08:49 +0000)]
Added __objc_msg_forward...
Added __objc_msg_forward, a hook that allows external libraries to
provide a function that returns the real forwarding function. This can
alleviate problems __builtin_apply() and friends have on various
platforms. (Solution suggested by Helge Hess.)
Ovidiu Predescu [Wed, 3 Jan 2001 08:49:02 +0000 (08:49 +0000)]
Added __objc_msg_forward...
Added __objc_msg_forward, a hook that allows external libraries to
provide a function that returns the real forwarding function. This can
alleviate problems __builtin_apply() and friends have on various
platforms. (Solution suggested by Helge Hess.)
Jason Merrill [Wed, 3 Jan 2001 03:28:51 +0000 (22:28 -0500)]
init.c (build_default_init): New fn.
* init.c (build_default_init): New fn.
(perform_member_init): Split out from here.
(build_new_1): Use it. Simplify initialization logic.
(build_vec_init): Take an array, rather than a pointer and maxindex.
Speed up simple initializations. Don't clean up if we're assigning.
* cp-tree.h: Adjust.
* decl2.c (do_static_initialization): Remove TREE_VEC case.
* parse.y (new_initializer): Return void_zero_node for ().
* typeck.c (build_modify_expr): Handle getting a CONSTRUCTOR.
* typeck2.c (digest_init): Only complain about user-written
CONSTRUCTORs.
Mark Mitchell [Wed, 3 Jan 2001 00:24:04 +0000 (00:24 +0000)]
class.c (invalidate_class_lookup_cache): Zero the previous_class_values.
* class.c (invalidate_class_lookup_cache): Zero the
previous_class_values.
* cp-tree.h (TMPL_PARMS_DEPTH): Use TREE_INT_CST_LOW, not
TREE_INT_CST_HIGH.
(CLASSTYPE_TEMPLATE_LEVEL): Likewise.
* decl.c (free_bindings): New variable.
(push_binding): Don't create a new binding if we have one on the
free list.
(pop_binding): Put old bindings on the free list.
(init_decl_processing): Use size_int, not build_int_2.
Register free_bindings as a GC root.
(cp_make_fname_decl): Use size_int, not build_int_2.
(push_inline_template_parms_recursive): Likewise.
(end_template_parm_list): Likewise.
(for_each_tempalte_parm): Do not use walk_tree_without_duplicates.
(tsubst_template_parms): Use size_int, not build_int_2.
(tsubst): Likewise.
* rtti.c (get_vmi_pseudo_type_info): Likewise.
Tom Tromey [Wed, 3 Jan 2001 00:07:13 +0000 (00:07 +0000)]
ScrollPane.java: Wrote.
* java/awt/ScrollPane.java: Wrote.
* java/awt/peer/ScrollPanePeer.java (setBlockIncrement): New
method.
* java/awt/Panel.java (Panel()): Fixed.
* java/awt/Component.java (isShowing): Return false if no peer
exists, and true if component is visible and no parent exists.
(getLocationOnScreen): Wrote.
(getPreferredSize): Removed FIXME comment.
(getMinimumSize): Likewise.
(getAlignmentX, getAlignmentY): Wrote.
(list): Wrote.
(requestFocus): Wrote.
(transferFocus): Wrote.
(findNextFocusComponent): New method.
(hasFocus()): Wrote.
(checkImage): Wrote.
(enableEvents): Call setEventMask on the peer.
* java/awt/Container.java (list): Use super.list() to print self.
(findNextFocusComponent): New method.
(setLayout): Call invalidate.
(findComponentAt): Wrote.
* c-common.h (ASM_INPUT_P): New.
* c-parse.in (asm): Set it when needed.
* c-semantics.c (genrtl_asm_stmt): Test it instead of the
existance of an operand.
Jan Hubicka [Tue, 2 Jan 2001 19:24:27 +0000 (20:24 +0100)]
i386.c (ix86_split_to_parts): Return number of part required; handle TFmodes.
* i386.c (ix86_split_to_parts): Return number of part required;
handle TFmodes.
(print_operand, ix86_expand_branch, ix86_expand_fp_movcc): Handle
TFmodes.
(ix86_split_long_move): Use number of part returned
by ix86_split_to_parts
* i386.h (MASK_128BIT_LONG_DOUBLE, TARGET_128BIT_LONG_DOUBLE):
New macros.
(TARGET_SWITCHES): Add 128bit-long-double and 96bit-long-double
(LONG_DOUBLE_TYPE_SIZE): Change from constant.
(MAX_LONG_DOUBLE_TYPE_SIZE): New macro.
(INTEL_EXTENDED_IEEE_FORMAT): Likewise.
(ALIGN_MODE_128): Add TFmode.
(IS_STACK_MODE): Likewise.
(HARD_REGNO_NREGS): TFmode needs 3 registers.
(HARD_REGNO_OK): Support TFmodes.
(ASM_OUTPUT_LONG_DOUBLE): Handle TFmodes.
* i386.md (scheduler definitions): Use memory operand to determine
fst/fld instructions; use mode attribute to determine real mode of
the instruction.
(*tf): New patterns, expanders and splitters; based on XFmode patterns.
* invoke.texi (128bit-long-double, 96bit-long-double): Document.
* ltcf-c.sh: clear ac_cv_prog_cc_pic for DJGPP. Do not add
'-DPIC' to ac_cv_prog_cc_pic for DJGPP.
* ltcf-cxx.sh: likewise.
* ltcf-gcj.sh: likewise.
* ltconfig.sh: fix typo.
Benjamin Kosnik [Tue, 2 Jan 2001 07:38:47 +0000 (07:38 +0000)]
std_cwchar.h: Same.
2001-01-01 Benjamin Kosnik <bkoz@fillmore.redhat.com>
* include/c_std/bits/std_cwchar.h: Same.
* testsuite/17_intro/header_cwchar.cc: Same.
* include/c_std/bits/std_ctime.h: Same.
* testsuite/17_intro/header_ctime.cc: Same.
* include/c_std/bits/std_cstdlib.h: Same.
Clean up undefs, make consistent with cwchar and cmath, etc.
* testsuite/17_intro/header_cstdlib.cc: Same.
* include/c_std/bits/std_cstdio.h: Same here.
* testsuite/17_intro/header_cstring.cc: Same.
* include/c_std/bits/std_cstring.h: Include std_cstddef.h for size_t.
* testsuite/17_intro/header_cstring.cc: New file. Check for
size_t in namespace std.
* include/c_std/bits/std_cwchar.h: Explicit checks for mbstate_t.
* acconfig.h (HAVE_MBSTATE_T): Add.
* config.h.in: Regenerate.
* acinclude.m4(GLIBCPP_CHECK_WCHAR_T_SUPPORT): Always test for
mbstate_t.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* testsuite/17_intro/headers_c++.cc: New file.
* testsuite/17_intro/headers_c.cc: Small changes.
Phil Edwards [Tue, 2 Jan 2001 02:56:01 +0000 (02:56 +0000)]
extend.texi (C++ Extensions): New node for C++ attributes; describe init_priority and com_interface.
2000-12-27 Phil Edwards <pme@sources.redhat.com>
* extend.texi (C++ Extensions): New node for C++ attributes;
describe init_priority and com_interface.
* invoke.texi: Remove -finit-priority as it now has zero effect.
* install.texi: Fix xref syntax.
* md.texi: Likewise.
Richard Kenner [Tue, 2 Jan 2001 02:45:03 +0000 (02:45 +0000)]
sparc.c (sparc_override_options): Do support different pointer and architecture size.
* 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.
Richard Kenner [Tue, 2 Jan 2001 02:31:22 +0000 (02:31 +0000)]
function.c (expand_function_end): Properly handle DECL_RESULT and copy when ptr_mode != Pmode.
* 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.
Kaveh R. Ghazi [Tue, 2 Jan 2001 01:56:55 +0000 (01:56 +0000)]
c-common.c (c_common_nodes_and_builtins): Set prototype parameters for __builtin_fputs, __builtin_fputc and __builtin_fwrite.
* 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.
loop.c (add_label_notes): Increment the label usage count when a note is added to an insn which refers to...
* 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.
Richard Kenner [Mon, 1 Jan 2001 13:19:20 +0000 (13:19 +0000)]
config.gcc (sparc-*-elf): Include sparc/sol2.h.
* 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.
Michael Hayes [Mon, 1 Jan 2001 00:14:30 +0000 (00:14 +0000)]
loop.h (REGNO_FIRST_LUID, [...]): Define.
* 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.
Michael Hayes [Mon, 1 Jan 2001 00:03:17 +0000 (00:03 +0000)]
loop.h (struct loop_movables): New.
* 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.
Robert Lipe [Sat, 30 Dec 2000 17:14:52 +0000 (17:14 +0000)]
Remove COFF support from i?86-pc-sco3.2v5.
2000-12-29 Robert Lipe <robertl@sco.com>
Remove COFF support from i?86-pc-sco3.2v5.
* i386/sco5.h (PREFERRED_DEBUGGING_TYPE): Change to Dwarf II.
(TARGET_ELF): Now always true.
(SUBTARGET_SWTICHES: )Remove -mcoff.
Richard Kenner [Sat, 30 Dec 2000 13:10:51 +0000 (13:10 +0000)]
alias.c (alias_sets_conflict_p): New function.
* 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.
Bryce McKinlay [Sat, 30 Dec 2000 12:18:39 +0000 (12:18 +0000)]
For boehm-gc:
* 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.