2004-01-07 Gawain Bolton <gp.bolton@computer.org>
* include/bits/stl_list.h:
* include/bits/list.tc:
* src/list.cc:
Performance enhancements for destructor, push_front(),
push_back(), pop_front(), pop_back(), sort()
Eliminated static_casts where possible.
Moved code out of header files into new src/list.cc
implementation file for library where possible.
Remove inheritance from iterator class and create separate
classes for non-constant and constant iterators.
* include/bits/stl_tree.h (_Rb_tree class):
* src/tree.cc:
Only erase contents in destructor.
Eliminate unnecessary initialization in assignment operator.
Optimize for the nominal case by not checking whether
container is empty in clear().
Re-order test in _M_insert() to improve performance.
Move initialization of new node's left & right pointers to
src/tree.cc to where new node's colour is initialized
and to reduce the amount of inline code.
Use _M_leftmost() and _M_end() to improve readability where
appropriate.
Create separate classes for non-constant and constant
iterators to clarify code, avoid extra template parameters and
casting away constness.
2004-01-07 Benjamin Kosnik <bkoz@redhat.com>
* src/Makefile.am (sources): Add list.cc, tree.cc.
* src/stl_tree.cc: Move to...
* src/tree.cc: ...here.
* src/list.cc: Add.
* config/linker-map.gnu: Tweaks.
* testsuite/23_containers/map/operators/1_neg.cc: Add excess errors.
* testsuite/23_containers/set/operators/1_neg.cc: Add excess errors.
* bits/stl_vector.h: Column wrap comments.
From-SVN: r75515
PR c/12165
* c-decl.c (grokdeclarator): Take type qualifiers of typedefed
array type from the array element type.
testsuite:
* gcc.dg/array-quals-1.c, gcc.dg/c90-idem-qual-3.c,
gcc.dg/c99-idem-qual-3.c: New tests.
From-SVN: r75514
* java/text/CollationElementIterator.java
(textIndex): Renamed from index.
* java/text/CollationKey.java
(collator): New member.
(CollationKey): New argument for parent collator.
(equals): Check for same collator, source string and key array.
* java/text/RuleBasedCollator.java:
Reformated.
(RuleBasedCollator): Don't re-initialize frenchAccents with default
value.
(getCollationElementIterator): Rewritten.
(getCollationKey): Added new argument to CollationKey constructor.
From-SVN: r75510
* emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg
for constants.
(constant_subword): Delete.
* rtl.h (constant_subword): Delete prototype.
(immed_double_const): Is not in varasm.c.
* simplify-rtx.c (simplify_immed_subreg): New.
(simplify_subreg): Use simplify_immed_subreg.
From-SVN: r75487
* config/rs6000/rs6000.md (floatsitf2): Use expand_float rather
than trying to generate RTL directly.
(fix_trunctfsi2): Use expand_fix rather than trying to generate
RTL directly.
From-SVN: r75485
* config/rs6000/xcoff.h (EXTRA_SECTION_FUNCTIONS): Split each
function into a separate macro.
(read_only_data_section): Add void argument.
(private_data_section): Same.
(read_only_private_data_section): Same.
(toc_section): Same.
From-SVN: r75482
* gcc.dg/i386-sse-5.c: New test
* g++.dg/eh/simd-1.c: Add -w argument for i386.
* i386.c (init_cumulative_args): Add handling of MMX_REGPARM.
(function_arg_advance): Do not pass aggregates in SSE; deal handling
of MMX_REGPARM.
(function_arg): Add new warnings about ABI changes; fix SSE_REGPARM;
add MMX_REGPARM.
* i386.h (ix86_args): Add mmx_words/mmx_regs/mmx_regno fields.
(SSE_REGPARM_MAX): Default to 3 on i386 -msse ABI.
(MMX_REGPARM_MAX): Similarly for -mmmx.
From-SVN: r75467
* java/net/URLConnection.java
(contentHandler): Removed.
(locale): Removed.
(getHeaderFields): Return an empty map instead of null.
(getContent): Connect if needed, renamed "cType" to "type" and
"contentHandler" to "ch" and made it a local variable.
(getPermission): Don't use package in class name.
(setDefaultRequestProperty): Fixed typo in documentation.
(initializeDateFormats): Made locale a local variable.
From-SVN: r75466
* java/lang/Package.java
(getPackage): Get the current class loader directly.
* java/lang/SecurityManager.java
(currentLoadedClass): Dont iterate over class contexts.
(classLoaderDepth): Don't check class loaders if everything is allowed.
From-SVN: r75465
PR c++/12816
* class.c (build_vtbl_ref_1): Do not unconditionally mark vtable
references as constant.
PR c++/12815
* g++.dg/rtti/typeid4.C: New test.
From-SVN: r75457
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c
(pre_event_handler): Set all insets to 0 when a Configure event
is received for a GtkPlug.
* gnu/java/awt/EmbeddedWindow.java (window_id): Rename handle.
Make handle long, not int.
(EmbeddedWindow()): New constructor.
(EmbeddedWindow(int)): Rename window_id to handle. Make handle
long, not int.
(setHandle): New method.
(getHandle): Return long, not int.
* gnu/java/awt/peer/EmbeddedWindowPeer.java (embed): New method
declaration.
* gnu/java/awt/peer/gtk/GtkEmbeddedWindowPeer.java,
jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEmbeddedWindowPeer.c:
(create(long)): Take long parameter, not int. Cast gtk_plug_new
argument to GdkNativeWindow.
(construct): New method.
(embed): New method.
From-SVN: r75447
* gnu/java/awt/peer/gtk/GtkScrollPanePeer.java,
jni/gtk-peer/gnu_java_awt_peer_gtk_GtkScrollPanePeer.c
(create(int, int)): New method.
(create): Call new create method.
(gtkScrolledWindowNew, gtkScrolledWindowSetSize): Remove
methods.
(childResized): Remove native implementation. Implement in
Java.
(getHScrollbarHeight, getVScrollbarWidth): Call
gtk_widget_size_request to get scrollbar dimensions.
* java/awt/ScrollPane.java (getViewportSize): Reimplement. Only
call getVScrollbarWidth and getHScrollbarHeight when vertical
and horizontal scrollbars respectively are needed.
(doLayout): Enlarge child if it is smaller than the viewport.
From-SVN: r75446
* java/awt/Dialog.java (constructor): Accept null title as per spec.
* java/awt/FileDialog.java (constructor): Throw exception on invalid
argument as per spec.
From-SVN: r75444
2004-01-05 Fernando Nasser <fnasser@redhat.com>
* java/awt/Choice.java (add): Leave posting of ItemEvents to peer.
(insert): Ditto.
(remove): Ditto. Also, Check for valid argument.
(removeAll): Use peer interface method.
* gnu/java/awt/peer/gtk/GtkChoicePeer.java (nativeAdd): New name for
native add function.
(nativeRemove): New name for native remove function.
(getHistory): New native function.
(constructor): Generate ItemEvent.
(add): Ditto, if selection is changed.
(remove): Ditto, ditto.
(removeAll): Add implementation.
(handleEvent): Remove. Dead code.
(choicePostItemEvent): Add comment.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkChoicePeer.c
(Java_gnu_java_awt_peer_gtk_GtkChoicePeer_append): Add comments.
(Java_gnu_java_awt_peer_gtk_GtkChoicePeer_add): Rename to...
(Java_gnu_java_awt_peer_gtk_GtkChoicePeer_nativeAdd): New name. Add
comments and fix condition to change selection.
(Java_gnu_java_awt_peer_gtk_GtkChoicePeer_remove): Rename to...
(Java_gnu_java_awt_peer_gtk_GtkChoicePeer_nativeRemove): New name. Add
remove all capability.
(Java_gnu_java_awt_peer_gtk_GtkChoicePeer_getHistory): New function.
(item_activate): Add cast to remove compiler warning.
From-SVN: r75443