Neil Booth [Fri, 18 Aug 2000 17:35:58 +0000 (17:35 +0000)]
cpphash.h: Use HAVE_DESIGNATED_INITIALIZERS.
* cpphash.h: Use HAVE_DESIGNATED_INITIALIZERS.
(_cpp_trigraph_map): Declaration moved from cpplex.c
* cppinit.c: Define _cpp_trigraph_map. Use UCHAR_MAX + 1
instead of 256. Use consistent test for designated initializers.
(cpp_init): Initialize trigraph_map.
(initialize_standard_includes, parse_option): Use memcmp
instead of strncmp.
* cpplex.c (init_trigraph_map): Remove.
(trigraph_ok, trigraph_replace, lex_line): Refer to
_cpp_trigraph_map.
Nathan Sidwell [Fri, 18 Aug 2000 09:31:48 +0000 (09:31 +0000)]
13478.C: Mark candidate.
* g++.old-deja/g++.benjamin/13478.C: Mark candidate.
* g++.old-deja/g++.mike/net36.C: Mark candidate.
* g++.old-deja/g++.robertl/eb131.C: Mark candidate.
* g++.old-deja/g++.oliva/overload1.C: Remove XFAIL.
* g++.old-deja/g++.other/ptrmem7.C: New test.
* g++.old-deja/g++.pt/ptrmem10.C: New test.
Nathan Sidwell [Fri, 18 Aug 2000 09:31:11 +0000 (09:31 +0000)]
cp-tree.h (PTRMEM_OK_P): New macro.
* cp-tree.h (PTRMEM_OK_P): New macro.
(itf_ptrmem_ok): New enumeration value.
* class.c (resolve_address_of_overloaded_function): Add PTRMEM
argument. Diagnose implicit pointer to member.
(instantiate_type): Don't diagnose implicit pointer to member
here. Pass itf_ptrmem_ok if ok. Adjust calls to
resolve_address_of_overloaded_function.
* init.c (build_offset_ref): Set PTRMEM_OK_P.
(resolve_offset_ref): Don't diagnose implicit pointer to member here.
* semantics.c (finish_parenthesized_expr): Clear OFFSET_REFs here.
* typeck.c (build_x_unary_op): Calculate PTRMEM_OK_P.
(build_unary_op): Deal with single non-static member in
microsoft-land.
* java/lang/natClass.cc (finit_name): Initialized with `finit$'.
(finit_leg_name): New global.
(java::lang::Class::getDeclaredMethods): Test for `finit$' or
`$finit$'. This is a backward compatibility hack.
(java::lang::Class::_getMethods): Likewise.
(http://sources.redhat.com/ml/java-discuss/2000-08/msg00031.html
See also the matching compiler patch:
http://gcc.gnu.org/ml/gcc-patches/2000-08/msg00664.html)
* decl.c (finit_leg_identifier_node): New global.
(init_decl_processing): Use `finit$' to initialize
finit_identifier_node. Use `$finit$' to initialize
finit_leg_identifier_node.
* expr.c (expand_java_field_op): Use ID_FINIT_P.
* java-tree.h (finit_identifier_node): Changed attached comment.
(finit_leg_identifier_node): New declaration.
(ID_FINIT_P): Take finit_identifier_node and
finit_leg_identifier_node into account. This is a backward
compatibility hack.
(http://gcc.gnu.org/ml/gcc-patches/2000-08/msg00664.html
See also the matching Java run-time patch:
http://sources.redhat.com/ml/java-discuss/2000-08/msg00031.html)
Neil Booth [Thu, 17 Aug 2000 18:03:59 +0000 (18:03 +0000)]
cppinit.c (merge_include_chains): Use remove_dup_dir, remove_dup_dirs.
* (cppinit.c) merge_include_chains: Use remove_dup_dir,
remove_dup_dirs. If qtail == brack, remove brack not
qtail.
(remove_dup_dir, remove_dup_dirs): New functions.
Neil Booth [Thu, 17 Aug 2000 18:01:43 +0000 (18:01 +0000)]
cppinit.c (cpp_cleanup): Free include dir chains.
* cppinit.c (cpp_cleanup): Free include dir chains.
* cpplib.c (do_undef): Let _cpp_free_definition make the node void.
(do_unassert): Free the assert with _cpp_free_definition.
* cppmacro.c (_cpp_free_definition): Free memory allocated for
assertions. Make the node a T_VOID node.
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.