Nathan Sidwell [Thu, 17 Aug 2000 12:26:39 +0000 (12:26 +0000)]
cp-tree.h (CPTR_AGGR_TAG): New global tree node.
* cp-tree.h (CPTR_AGGR_TAG): New global tree node.
(current_aggr): Define.
* decl.c (grokdeclarator): Make sure a friend class is an
elaborated type specifier.
* parse.y (current_aggr): Remove static definition.
(cp_parse_init): Adjust.
(structsp): Clear and restore current_aggr.
(component_decl_list): Clear current_aggr.
* error.c (dump_type, case TYPENAME_TYPE): Don't emit the
aggregate tag on the typename's context.
* gnu/gcj/awt/ComponentDataBlitOp.java: New file.
* gnu/gcj/awt/GLightweightPeer.java: New file.
* java/awt/BorderLayout.java: Implemented all methods.
* java/awt/Button.java (actionListener, actionCommand): Renamed
and modifier change.
(addNotify): Call super.
(dispatchEventImpl): New method.
(getListeners): New method.
(label): Made package-private, not private.
* java/awt/Canvas.java: Implemented class body.
* java/awt/Color.java (brighter): New method.
(darker): New method.
(hashCode): New method.
* java/awt/Component.java (visible, enabled, eventMask): Set defaults.
(getGraphicsConfiguration): Delegate to
getGraphicsConfigurationImpl().
(getGraphicsConfigurationImpl): New method.
(getToolkit): Only return value from peer if not null.
(isDisplayable): Check with parent.
(isShowing): No parent implies not showing.
(getForeground): Check parent property if local is null.
(getBackground): Likewise.
(getFont): Likewise.
(setForeground): Inform peer.
(setBackground): Likewise
(setLocale): Invalidate component.
(getColorModel): Implemented.
(setLocation): Invalidate, or ignore if no change.
(setSize): Invalidate, or ignore if no change.
(setBounds): Invalidate, or ignore if no change.
(isOpaque): By default, heavyweight implies opaque.
(isLightweight): Implemented.
(getMaximumSize): Implemented.
(doLayout): Implemented, NOP.
(validate): Implemented, NOP.
(invalidate): Only propagate to parent if parent was valid.
(getGraphics): Implemented.
(getFontMetrics): Implemented.
(update): Implemented.
(paintAll): Implemented.
(repaint): Implemented all repaint methods.
(print): Implemented.
(printAll): Implemented.
(createImage): Implemented.
(dispatchEvent): Give the peer a chance to handle the event.
(dispatchEventImpl): Dispatch paint events.
(enableEvents): Lightweights enable events on parent component.
(coalesceEvents): Coalesce paint events, and select event type
using a switch.
(coalescePaintEvents): New method.
(processEvent): Fix unfortunate ordering of statements, and call
correct method for MOUSE_CLICKED.
(processPaintEvent): New method.
(addNotify): Allow container to notify children before event
mask is set in peer.
(addNotifyContainerChildren): New method.
(removeNotify): Visibility should not change on removeNotify.
(paramString): Implemented.
(list): Implemented two of the list methods.
* Container (myInsets): Removed, insets are managed by peer.
(getInsets): Query peer.
(addImpl): Fix reparenting, enable events for lightweights,
initialize component array.
(validate): Call doLayout in validateTree() instead.
(validateTree): Do nothing if already valid. Call beginValidate(),
endValidate() on peer. Call validateTree() instead of validate()
for children that are containers. Mark valid after validation of
children.
(setFont): Partial implementation.
(paint): Implemented.
(visitChildren): New method.
(visitChild): New method.
(update): Implemented.
(print): Implemented.
(paintComponents): Implemented.
(printComponents): Consider translation and clipping.
(getComponentAt): Ignore invisible children. Return this if no
child match.
(addNotify): Call super.
(addNotifyContainerChildren): New method.
(paramString): Implemented.
(list): Implemented.
* java/awt/EventQueue (invokeAndWait): Get system event queue the
right way.
(invokeLater): Likewise.
(isDispatchThread): Likewise.
* java/awt/FontMetrics (getLeading): Formula change.
(getDescent): Consider leading also.
(getMaxAscent): Default to getAscent().
(getMaxDescent): Default to getDescent.
(getMaxAdvance): Return value signifying unknown.
(charWidth): Both methods implemented.
(charsWidth): Implemented.
(bytesWidth): Implemented.
(getWidths): Implemented.
* java/awt/Frame.java (NORMAL, ICONIFIED, iconImage, isResizable,
state): New fields.
(Frame): Rearragend constuctor chaining to disallow null being
passed as a graphics configuration.
(getTitle): Return empty string if null.
(dispose): Removed.
(getIconImage): New method.
(setIconImage): New method.
(finalize): New method.
(setMenuBar): Notify peer.
(isResizable): New method.
(setResizable): New method.
(getState): New method.
(getFont): Removed.
(remove): Implemented.
(removeNotify): New method.
(getFrames): New method.
* java/awt/Graphics.java: Implemented body of class.
* java/awt/Graphics2D.java: New file.
* java/awt/GraphicsConfiguration.java: Enabled part of the API.
* java/awt/Image.java: Implemented body of class.
* java/awt/Panel.java (Panel): Call correct super constructor.
(addNotify): Implemented.
* java/awt/Rectangle.java (isEmpty): Fixed reversed logic.
* java/awt/RenderingHints.java: New file.
* java/awt/Toolkit.java (createComponent): Implemented.
(getSystemEventQueue): Delegate to getSystemEventQueueImpl().
* java/awt/Window.java (Window): Two new constructors. Reordered
constructor chaining.
(getGraphicsConfigurationImpl): New method.
(finalize): Call super.
(addNotify): Call super.
(pack): Do layout stuff.
(show): Ensure that peer exists and that component is valid.
(dispose): Dispose owned children.
(getOwner): Simplify code, casting null pointers is valid.
(getGraphicsConfiguration): Ask peer if local value is null.
* java/awt/event/ActionEvent.java (getActionCommand): Renamed from
getcmd().
* java/awt/image/BufferedImage.java: New file.
* java/awt/image/RasterOp.java: New file.
* java/awt/peer/ComponentPeer.java (getGraphicsConfiguration):
More powerfull replacement for getColorModel().
(getColorModel) Removed.
(setEventMask) New method.
* Makefile.am: Added new files.
* Makefile.in: Rebuilt.
reload.c (push_secondary_reload): Revert last change.
* reload.c (push_secondary_reload): Revert last change.
If we use a reload_in/out pattern, make the when the same
as the primary reload.
(find_reloads): Likewise.
Richard Kenner [Wed, 16 Aug 2000 11:59:03 +0000 (11:59 +0000)]
calls.c (calls_function_1, [...]): Only test TYPE_RETURNS_STACK_DEPRESSED for FUNCTION_TYPE.
* calls.c (calls_function_1, expand_call): Only test
TYPE_RETURNS_STACK_DEPRESSED for FUNCTION_TYPE.
* function.c (thread_prologue_and_epilogue_insns): Likewise.
Benjamin Kosnik [Wed, 16 Aug 2000 05:00:29 +0000 (05:00 +0000)]
codecvt.h: New file.
2000-08-15 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
* bits/codecvt.h: New file.
* src/codecvt.cc: New file.
* bits/std_locale.h: Add include here.
* src/Makefile.am (headers): Add codecvt.h
(sources): Add codecvt.cc.
* src/Makefile.in: Regenerate.
* bits/locale_facets.h (codecvt): Re-implement. Rename _Codecvt to
__codecvt_abstract_base in an attempt to point some light this way...
Move __enc_traits and codecvt bits to codecvt.h.
* src/locale-inst.cc: Remove codecvt<wchar_t, wchar_t, mbstate_t>
explicit instantiation. Separate out codecvt instantations, simplify.
* src/locale.cc: Move codecvt bits to codecvt.cc
Benjamin Kosnik [Wed, 16 Aug 2000 04:12:51 +0000 (04:12 +0000)]
codecvt.h: New file.
2000-08-15 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
* bits/codecvt.h: New file.
* src/codecvt.cc: New file.
* bits/std_locale.h: Add include here.
* src/Makefile.am (headers): Add codecvt.h
(sources): Add codecvt.cc.
* src/Makefile.in: Regenerate.
* bits/locale_facets.h (codecvt): Re-implement. Rename _Codecvt to
__codecvt_abstract_base in an attempt to point some light this way...
Move __enc_traits and codecvt bits to codecvt.h.
* src/locale-inst.cc: Remove codecvt<wchar_t, wchar_t, mbstate_t>
explicit instantiation. Separate out codecvt instantations, simplify.
* src/locale.cc: Move codecvt bits to codecvt.cc
Richard Kenner [Wed, 16 Aug 2000 01:23:46 +0000 (21:23 -0400)]
calls.c (ECF_SP_DEPRESSED): New macro.
* calls.c (ECF_SP_DEPRESSED): New macro.
(calls_function_1): Treat calling sp-depressed function as alloca.
(emit_call_1): Don't adjust SP if calling sp-depressed function.
(expand_call): Set ECF_SP_DEPRESSED if TYPE_RETURNS_STACK_DEPRESSED.
If sp-depressed, ensure block saves and restores SP.
* fold-const.c (extract_muldiv): Only check TYPE_IS_SIZETYPE
for INTEGER_TYPE.
* function.c (keep_stack_depressed): New function.
(thread_prologue_and_epilogue_insns): Call it.
* print-tree.c (print_node): Use HOST_WIDE_INT_PRINT_UNSIGNED
to print DECL_OFFSET_ALIGN.
Print no-force-blk and transparent-union flags properly.
* stmt.c (expand_goto_internal): Don't restore stack if last block
and function returns with sp depressed.
(fixup_gotos): Likewise.
(save_stack_pointer): New function, from code in expand_decl.
(expand_decl): Call new function.
* tree.h (TYPE_IS_SIZETYPE): Call INTEGER_TYPE_CHECK.
(TYPE_RETURNS_STACK_DEPRESSED): New macro.
(save_stack_pointer): New declaration.
Richard Kenner [Wed, 16 Aug 2000 01:15:37 +0000 (01:15 +0000)]
calls.c (ECF_SP_DEPRESSED): New macro.
* calls.c (ECF_SP_DEPRESSED): New macro.
(calls_function_1): Treat calling sp-depressed function as alloca.
(emit_call_1): Don't adjust SP if calling sp-depressed function.
(expand_call): Set ECF_SP_DEPRESSED if TYPE_RETURNS_STACK_DEPRESSED.
If sp-depressed, ensure block saves and restores SP.
* fold-const.c (extract_muldiv): Only check TYPE_IS_SIZETYPE
for INTEGER_TYPE.
* function.c (keep_stack_depressed): New function.
(thread_prologue_and_epilogue_insns): Call it.
* print-tree.c (print_node): Use HOST_WIDE_INT_PRINT_UNSIGNED
to print DECL_OFFSET_ALIGN.
Print no-force-blk and transparent-union flags properly.
* stmt.c (expand_goto_internal): Don't restore stack if last block
and function returns with sp depressed.
(fixup_gotos): Likewise.
(save_stack_pointer): New function, from code in expand_decl.
(expand_decl): Call new function.
* tree.h (TYPE_IS_SIZETYPE): Call INTEGER_TYPE_CHECK.
(TYPE_RETURNS_STACK_DEPRESSED): New macro.
(save_stack_pointer): New declaration.
* jcf-write.c (generate_bytecode_conditional): Re-installed lost
Jan 6 2000 patch.
(generate_bytecode_insns): Check `nargs' before emitting it.
* verify.c (merge_type_state): Fixed typo.
* ChangeLog: Fixed typo in some jcf-write.c entries mentioning
generate_bytecode_{conditional,insns}.
Richard Kenner [Tue, 15 Aug 2000 21:39:26 +0000 (17:39 -0400)]
diagnostic.c (fatal_function): New variable.
* diagnostic.c (fatal_function): New variable.
(set_fatal_function): New function.
(fatal): Call it.
* diagnostic.h (set_fatal_function): New declaration.
Richard Kenner [Tue, 15 Aug 2000 21:21:12 +0000 (17:21 -0400)]
diagnostic.c (fatal_function): New variable.
* diagnostic.c (fatal_function): New variable.
(set_fatal_function): New function.
(fatal): Call it.
* diagnostic.h (set_fatal_function): New declaration.
Jeff Law [Tue, 15 Aug 2000 15:25:50 +0000 (09:25 -0600)]
final.c (profile_function): Do not emit profile counters in the data section, if NO_PROFILE_COUNTERS is defined.
* final.c (profile_function): Do not emit profile counters in
the data section, if NO_PROFILE_COUNTERS is defined.
* tm.texi: Document NO_PROFILE_COUNTERS. Update doc for
FUNCTION_PROFILER.
* config/i386/linux.h (NO_PROFILE_COUNTERS): Define.
(FUNCTION_PROFILER): Just emit a call to mcount.
Restoring tm.texi after corruption.
Richard Earnshaw [Tue, 15 Aug 2000 15:14:06 +0000 (15:14 +0000)]
arm.c (arm_function_ok_for_sibcall): New function.
* arm.c (arm_function_ok_for_sibcall): New function.
* arm.h (FUNCTION_OK_FOR_SIBCALL): Define.
* arm.md (call expanders): Don't check here for calls that can't
be sibling calls.
Jim Wilson [Mon, 14 Aug 2000 20:18:17 +0000 (20:18 +0000)]
Support for IA-64 specific elf header flags.
* config/ia64/ia64.h (ASM_SPEC): Pass -mconstant-gp and -mauto-pic
to GNU as. For Intel as, pass -M const_gp and -M no_plabel.
* config/ia64/linux.h (ASM_SPEC): Pass -mconstant-gp and -mauto-pic
to GNU as.
Levente Farkas [Mon, 14 Aug 2000 19:46:44 +0000 (21:46 +0200)]
std_fstream.h: Remove duplicate typdefs for ofstream and wofstream...
2000-08-14 Levente Farkas <lfarkas@mindmaker.hu>
* bits/std_fstream.h: Remove duplicate typdefs for ofstream and
wofstream, filebuf, wfilebuf, fstream, wfstream.
* bits/std_streambuf.h: Same for streambuf, wstreambuf.
* bits/std_sstream.h: Same for stringstream and wstringstream.
Same for stringbuf, wstringbuf, istringstream, wistringstream,
ostringstream, wostringstream.
Zack Weinberg [Mon, 14 Aug 2000 18:08:46 +0000 (18:08 +0000)]
top level:
* configure: Make enable_threads and enable_shared defaults
explicit. Substitute enable_threads into generated Makefiles.
* configure.in: Accept *-*-linux* not just *-*-linux-gnu*.
* libtool.m4: Accept *-*-linux* not just *-*-linux-gnu*.
gcc:
* configure.in: Accept *-*-linux* not just *-*-linux-gnu*.
* fixinc/inclhack.def: Likewise.
* fixinc/mkfixinc.sh: Likewise.
* configure: Regenerate.
* fixinc/fixincl.x: Regenerate.
* install.texi: Document equivalence of linux and linux-gnu.
libio:
* configure.in: Accept *-*-linux* not just *-*-linux-gnu*.
Honor --disable-threads.
libstdc++:
* configure.in: Accept *-*-linux* not just *-*-linux-gnu*.
Honor --disable-threads.
libstdc++-v3:
* configure: Regenerate after change to ../libtool.m4.
libobjc:
* configure: Regenerate after change to ../libtool.m4.
J"orn Rennecke [Mon, 14 Aug 2000 17:54:23 +0000 (17:54 +0000)]
cse.c (insert_regs): Also in REG case...
* cse.c (insert_regs): Also in REG case: When finding an invalid
value, and we make a new quantity, make sure that it won't be
mistaken by for a valid one by mention_regs.
Geoff Keating [Mon, 14 Aug 2000 04:15:07 +0000 (04:15 +0000)]
c-torture.exp (c-torture): Make compiler_conditional_xfail_data global.
* lib/c-torture.exp (c-torture): Make
compiler_conditional_xfail_data global.
* lib/f-torture.exp (f-torture): Add in torture_eval_before_compile,
compiler_conditional_xfail_data machinery.
(f-torture-execute): Likewise.
* g77.c-torture/compile/20000629-1.x: The test only fails on x86,
and only when unrolling loops.
Geoff Keating [Sun, 13 Aug 2000 21:49:36 +0000 (21:49 +0000)]
rs6000.c (rs6000_select_section): Rewrite to not put stuff in .sdata unnecessarily.
* config/rs6000/rs6000.c (rs6000_select_section): Rewrite to
not put stuff in .sdata unnecessarily.
(rs6000_unique_section): New function.
* config/rs6000/rs6000-protos.h: Add rs6000_unique_section.
* config/rs6000/sysv4.h (UNIQUE_SECTION): Define.
Geoff Keating [Sun, 13 Aug 2000 21:31:09 +0000 (21:31 +0000)]
In gcc/:
* c-typeck.c (build_array_ref): Don't complain about non-lvalue
arrays in C99. Don't try to look at DECL_REGISTER of a
COMPONENT_REF. Don't complain twice about the same error.
In gcc/testsuite/:
* gcc.dg/c99-array-lval-1.c: The test on line 14 now passes.
Geoff Keating [Sat, 12 Aug 2000 22:45:05 +0000 (22:45 +0000)]
tree.h (DECL_OFFSET_ALIGN): Make the off_align field of the tree structure an exponent rather than an...
* tree.h (DECL_OFFSET_ALIGN): Make the off_align field of
the tree structure an exponent rather than an explicit alignment
so it doesn't overflow.
(SET_DECL_OFFSET_ALIGN): New macro.
* stor-layout.c (place_union_field): Use SET_DECL_OFFSET_ALIGN
rather than DECL_OFFSET_ALIGN.
(place_field): Likewise.
* expmed.c (store_bit_field): Abort on align==0 to avoid
antisocial machine behaviour.