rs6000.md (sync_add<mode>_internal, [...]): Use "bne- $-xxx" rather than local labels.
* config/rs6000/rs6000.md (sync_add<mode>_internal,
sync_addshort_internal, sync_sub<mode>_internal, sync_andsi_internal,
sync_anddi_internal, sync_boolsi_internal, sync_booldi_internal,
sync_boolc<mode>_internal, sync_boolc<mode>_internal2,
sync_boolcc<mode>_internal, sync_lock_test_and_set<mode>): Use
"bne- $-xxx" rather than local labels.
(sync_lock_release<mode>): Add second operand.
(lwsync): Use .long rather than a more meaningful opcode.
* doc/md.texi (Standard Names): Add description of second
parameter to sync_lock_test_and_set.
re PR tree-optimization/21088 (VRP passes fold the type of operands of a comparison)
PR tree-optimization/21088
* fold-const.c (fold_unary, fold_binary, fold_ternary):
Export.
* tree-vrp.c (compare_values): Use fold_binary to compare
pointers. Use boolean_type_node as the type of a comparison
expression being folded.
* tree.h: Add prototypes for fold_unary, fold_binary,
fold_ternary.
Diego Novillo [Sat, 23 Apr 2005 00:59:54 +0000 (20:59 -0400)]
[multiple changes]
2005-04-22 Diego Novillo <dnovillo@redhat.com>
* Makefile.in (tree-into-ssa.o): Add dependency on PARAMS_H.
* lambda-code.c (perfect_nestify): Mark virtual operands in
the moved statement for renaming.
* params.def (PARAM_MIN_VIRTUAL_MAPPINGS): Define.
(PARAM_VIRTUAL_MAPPINGS_TO_SYMS_RATIO): Define.
* params.h (MIN_VIRTUAL_MAPPINGS): Define.
(VIRTUAL_MAPPINGS_TO_SYMS_RATIO): Define.
* tree-flow.h (struct var_ann_d): Update comments.
(rewrite_to_new_ssa_names_bb, rewrite_to_new_ssa_names,
allocate_ssa_names, find_phi_node_for, dump_tree_ssa,
debug_tree_ssa, debug_def_blocks, dump_tree_ssa_stats,
debug_tree_ssa_stats, rewrite_ssa_into_ssa,
dump_repl_tbl, debug_repl_tbl, dump_names_replaced_by,
debug_names_replaced_by): Remove declarations.
(delete_update_ssa, get_current_def, set_current_def): Declare.
(rewrite_into_loop_closed_ssa): Add new argument. Update
all callers.
* tree-into-ssa.c: Include params.h.
(old_virtual_ssa_names): Remove. Update all users.
(need_to_replace_names_p): Remove. Update all users.
(struct update_ssa_stats_d): Declare.
(update_ssa_stats): New local.
(dump_tree_ssa, debug_tree_ssa, debug_def_blocks,
dump_tree_ssa_stats, debug_tree_ssa_stats,
dump_update_ssa, debug_update_ssa,
dump_names_replaced_by, debug_names_replaced_by): Declare.
(get_current_def, set current_def): Make extern.
(is_old_name, is_new_name): Protect against references
past the end of the sets.
(add_new_name_mapping): Assert that OLD and NEW are
different SSA names for the same symbol.
When adding a virtual mapping, update stats for virtual
mapping heuristic.
(insert_phi_nodes_for): If UPDATE_P is true, create the
LHS of the new PHI by duplicating SSA name VAR.
(insert_phi_nodes_1): Remove. Update all users.
(insert_phi_nodes): Remove second argument. Update all
users.
(maybe_replace_use, maybe_replace_def): New.
(rewrite_update_stmt): Call them.
(mark_def_interesting): Remove calls to is_gimple_reg.
(prepare_phi_args_for_update): Remove. Update all users.
(prepare_block_for_update): Only process virtual operands
and GIMPLE registers in normal form.
(prepare_use_sites_for): New.
(prepare_names_to_update): Rename from prepare_def_sites.
Call prepare_use_sites_for.
(dump_update_ssa): Rename from dump_repl_tbl.
Update all users.
Show statistics for virtual mapping heuristic.
(debug_update_ssa): Rename from debug_debug_repl_tbl.
(init_update_ssa): Initialize UPDATE_SSA_STATS.
(delete_update_ssa): Make extern.
(mark_set_for_renaming): If the set is empty, do nothing.
(release_ssa_name_after_update_ssa): Update comment.
(insert_updated_phi_nodes_for): Do not remove existing
PHI nodes for symbols.
(switch_virtuals_to_full_rewrite_p): New.
(switch_virtuals_to_full_rewrite): New.
(update_ssa): Call them.
Clear REWRITE_THIS_STMT and REGISTER_DEFS_IN_THIS_STMT
for every statement before updating.
If all the names in NEW_SSA_NAMES have been marked for
removal, do nothing.
Only start at the top of the CFG if there are symbols in
SYMS_TO_RENAME.
(ssa_rewrite_finalize_block): Remove.
(ssa_register_new_def): Remove.
(ssa_rewrite_stmt): Remove.
(ssa_rewrite_phi_arguments): Remove.
(ssa_rewrite_initialize_block): Remove.
(ssa_mark_def_sites): Remove.
(ssa_mark_def_sites_initialize_block): Remove.
(ssa_mark_phi_uses): Remove.
(rewrite_ssa_into_ssa): Remove.
* tree-phinodes.c (find_phi_node_for): Remove.
* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
Call update_ssa.
* tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops):
Remove calls to verify_dominators and
verify_loop_structure.
(tree_unswitch_single_loop): Call update_ssa.
* tree-ssa.c (verify_ssa): Assert that need_ssa_update_p
returns false.
Call verify_stmts.
(delete_tree_ssa): Assert that need_ssa_update_p returns
false.
* tree-vect-transform.c (vect_transform_loop): Call update_ssa.
* tree-vectorizer.c (allocate_new_names, rename_def_op,
free_new_names): Remove. Update all users.
(rename_use_op): Call get_current_def.
(rename_variables_in_bb): Do not handle any real or
virtual definition.
(slpeel_update_phis_for_duplicate_loop): Call
get_current_def and set_current_def instead of using
SSA_NAME_AUX.
(slpeel_update_phi_nodes_for_guard2): Reformat comments.
(slpeel_can_duplicate_loop_p): Call need_ssa_update_p,
ssa_names_to_replace and delete_update_ssa.
* doc/invoke.texi: Document --param min-virtual-mappings
and --param virtual-mappings-ratio.
2005-04-22 Zdenek Dvorak <dvorakz@suse.cz>
Diego Novillo <dnovillo@redhat.com>
* tree-cfg.c (tree_duplicate_bb): Call create_new_def_for
for newly created PHI nodes.
Call create_new_def_for for every new V_MAY_DEF and
V_MUST_DEF on the copied statement.
(struct ssa_name_map_entry): Remove.
(ssa_name_map_entry_hash): Remove.
(ssa_name_map_entry_eq): Remove.
(allocate_ssa_names): Remove.
(rewrite_to_new_ssa_names_def): Remove.
(rewrite_to_new_ssa_names_use): Remove.
(rewrite_to_new_ssa_names_bb): Remove.
(rewrite_to_new_ssa_names): Remove.
(tree_duplicate_sese_region): Remove variables ver,
definitions, phi, ssa_name_map and bi.
Call need_ssa_update_p instead of any_marked_for_rewrite_p.
Call update_ssa.
* tree-ssa-dom.c (tree_ssa_dominator_optimize): Call
update_ssa instead of rewrite_ssa_into_ssa.
* tree-ssa-loop-manip.c (add_exit_phis_edge): Call
create_new_def_for.
(find_uses_to_rename_use): Add argument 'need_phis'.
(find_uses_to_rename_stmt): Do not scan virtual operands.
(find_uses_to_rename): Only scan PHI nodes for
non-virtual names.
(rewrite_into_loop_closed_ssa): Call update_ssa.
(check_loop_closed_ssa_use): Ignore virtual operands.
(check_loop_closed_ssa_stmt): Likewise.
(verify_loop_closed_ssa): Do nothing if CURRENT_LOOPS is
NULL.
(rename_variables, set_phi_def_stmts): Remove.
(tree_duplicate_loop_to_header_edge): Reformat comment.
Remove variables BB, I and DEFINITIONS.
Call need_ssa_update_p.
Call update_ssa.
(lv_adjust_loop_header_phi): Reformat comment.
* tree-ssanames.c (ssa_names_to_rewrite): Remove.
(marked_for_rewrite_p, any_marked_for_rewrite_p,
mark_for_rewrite, unmark_all_for_rewrite,
marked_ssa_names): Remove. Update all users.
(release_ssa_name): If VAR has been registered for SSA
updating, do nothing.
* tree-vrp.c (new_ssa_names, old_ssa_names): Remove.
(build_assert_expr_for): Call register_new_name_mapping.
(insert_range_assertions): Update call to update_ssa.
* tree.h (mark_for_rewrite, unmark_all_for_rewrite,
marked_for_rewrite_p, any_marked_for_rewrite_p,
marked_ssa_names): Remove.
Jeff Law [Sat, 23 Apr 2005 00:47:12 +0000 (18:47 -0600)]
tree-ssa-dom.c (block_defs_stack): Remove, no longer needed.
* tree-ssa-dom.c (block_defs_stack): Remove, no longer needed.
(restore_currdefs_to_original_value): Likewise.
(register_definitions_for_stmt): Likewise.
(tree_ssa_dominator_optimize): No longer initialize CURRENT_DEF
for each variable. Do not allocate/free block_defs_stack either.
Do not iterate if we just thread jumps. Only iterate if the
tree_cleanup_cfg does useful work (temporary).
(dom_opt_initialize_block): No longer push a marker on
BLOCK_DEFS_STACK.
(dom_opt_finalize_block): Removal call to restore currdefs.
Relax restrictions for recording edge equivalences.
(record_equivalences_from_phis): No longer need to track
CURRENT_DEF.
(optimize_stmt): Similarly.
(thread_across_edge): Simplify by removing the requirement that
statements in the block we are threading through must be nops.
(initialize_hash_element): Handle GOTO_EXPR.
David S. Miller [Sat, 23 Apr 2005 00:33:44 +0000 (00:33 +0000)]
sched-vis.c (print_value): Use CONST_DOUBLE_LOW and CONST_DOUBLE_HIGH.
* sched-vis.c (print_value): Use CONST_DOUBLE_LOW and
CONST_DOUBLE_HIGH.
* config/sparc/sparc.c (sparc_rtx_costs): Likewise, and
fix check on CONST_DOUBLE mode. It should be VOIDmode
when it is representing an integer.
Thomas Koenig [Fri, 22 Apr 2005 20:02:44 +0000 (20:02 +0000)]
05-04-22 Thomas Koenig <Thomas.Koenig@online.de>
PR libfortran/20074
PR libfortran/20436
PR libfortran/21108
* gfortran.dg/nested_reshape.f90: new test
* gfortran.dg/reshape-alloc.f90: new test
* gfortran.dg/reshape.f90: new test
2005-04-22 Thomas Koenig <Thomas.Koenig@online.de>
PR libfortran/20074
PR libfortran/20436
PR libfortran/21108
* m4/reshape.m4 (reshape_`'rtype_kind): rs, rex: New
variables, to be used in calculation of return array sizes.
Populate return array descriptor if ret->data is NULL.
Fix condition for early return (it used to test something
undefined if order was used).
Remove duplicate check wether pad is used.
* intrinsics/reshape_generic.c (reshape_generic): Likewise.
Fix a few places where the wrong variables were set.
* generated/reshape_i4.c: Regenerated.
* generated/reshape_i8.c: Regenerated.
Roman Kennke [Fri, 22 Apr 2005 18:31:30 +0000 (18:31 +0000)]
2005-04-22 Roman Kennke <roman@kennke.org>
* javax/swing/plaf/basic/BasicLookAndFeel.java
(initComponentDefaults): Changed Button.border to be
BasicBorders.getButtonBorder as it should be.
2005-04-22 Roman Kennke <roman@kennke.org>
* javax/swing/plaf/basic/BasicTabbedPaneUI.java:
(getMaximumSize): Return (Short.MAX_VALUE, Short.MAX_VALUE) as it
should according to a mauve testcase, instead of the preferred
size.
2005-04-22 Roman Kennke <roman@kennke.org>
* javax/swing/JMenu.java
(add): add(Component) now calls PopupMenu.insert(..) instead of
PopupMenu.add(..). add(..) is not implemented for Component,
so JComponent.add(..) is called instead, adding the component
in the wrong place.
2005-04-22 Roman Kennke <roman@kennke.org>
* javax/swing/plaf/basic/BasicButtonListener.java
(mousePressed): replaced query to getModifiersEx with getModifiers.
This method relied on faulty behaviour in getModifierEx.
(mouseReleased): replaced query to getModifiersEx with getModifiers.
This method relied on faulty behaviour in getModifierEx.
2005-04-22 Roman Kennke <roman@kennke.org>
* javax/swing/plaf/metal/MetalLookAndFeel.java
(getDefaults): Call addCustomEntriesToTable on the theme.
* gnu/java/security/der/DERValue.java
(getValueAs): new method.
* gnu/java/security/x509/ext/PrivateKeyUsagePeriod.java
(<init>): read both dates with 'DERValue.getValueAs', with
'GENERALIZED_TIME' as the argument.
gcc/cp/ChangeLog:
PR c++/21087
* name-lookup.c (push_overloaded_decl): Do not overload with
non-duplicate anticipated built-in.
gcc/testsuite/ChangeLog:
PR c++/21087
* g++.dg/lookup/builtin2.C: New test.
Makefile.in (LIBGCOV): Add _gcov_interval_profiler, _gcov_pow2_profiler and _gcov_one_value_profiler.
* Makefile.in (LIBGCOV): Add _gcov_interval_profiler,
_gcov_pow2_profiler and _gcov_one_value_profiler.
(tree-profile.o): Add GGC_H and gt-tree-profile.h dependency.
(GTFILES): Add $(srcdir)/tree-profile.c.
* gcov-io.h (__gcov_interval_profiler, __gcov_pow2_profiler,
__gcov_one_value_profiler): Declare.
* gimplify.c (force_gimple_operand): Check whether the statements
should be produced in ssa form.
(force_gimple_operand_bsi): New function.
* libgcov.c (__gcov_interval_profiler, __gcov_pow2_profiler,
__gcov_one_value_profiler): New functions.
* rtl-profile.c (rtl_gen_pow2_profiler): Only measure whether
the profiled value is a power of two or not.
* tree-cfg.c (tree_block_ends_with_condjump_p): Handle empty blocks.
* tree-flow.h (in_ssa_p): Declare.
(force_gimple_operand_bsi): Declare.
* tree-into-ssa.c (in_ssa_p): New variable.
(rewrite_into_ssa): Set in_ssa_p.
* tree-outof-ssa.c (rewrite_out_of_ssa): Set in_ssa_p.
* tree-profile.c: Include ggc.h and gt-tree-profile.h.
(gcov_type_node, tree_interval_profiler_fn, tree_pow2_profiler_fn,
tree_one_value_profiler_fn): New variables.
(tree_init_edge_profiler): Initialize the profiler function decls.
(tree_gen_edge_profiler): Use global gcov_type_node.
(prepare_instrumented_value): New function.
(tree_gen_interval_profiler, tree_gen_interval_profiler,
tree_gen_one_value_profiler): Call the library functions instead of
creating instrumentation code.
* tree.c (build_fn_decl): New function.
* tree.h (build_fn_decl): Declare.
* value-prof.c (rtl_divmod_values_to_profile,
rtl_find_values_to_profile, rtl_mod_pow2_value_transform,
tree_mod_pow2_value_transform, tree_find_values_to_profile):
Do not handle may_be_other and precise values of exponents at pow2
profiler.
(tree_mod_subtract_transform): Reflect that value field of
histogram has changed meaning.
(tree_divmod_values_to_profile): Record the values correctly.
(tree_values_to_profile): Update comment.
* value-prof.h (struct histogram_value_t): Remove pow2 data.
2005-04-22 Andrew John Hughes <gnu_andrew@member.fsf.org>
* java/rmi/Naming.java:
Added class documentation.
(lookup(String)): Call parseURL and getName.
(bind(String,java.rmi.Remote)): Likewise.
(unbind(String)): Likewise.
(rebind(String, java.rmi.Remote)): Likewise.
(list(String)): Call parseURL.
(parseURL(String)): New method to handle parsing and defaults.
(getName(java.net.URL)): New method to handle finding the service name.
* c-common.h (objc_build_method_signature): Update prototype.
* stub-objc.c (objc_build_method_signature): Update the stub
implementation to accept and ignore additional parameter.
* c-parser.c (c_parser_objc_method_decl): Reorgnize to pass
the value of ellipsis to objc_build_method_signature instead
of setting TREE_OVERFLOW on the parms TREE_LIST node.
* objc-act.h (METHOD_ADD_ARGS_ELLIPSIS_P): New macro for accessing
this field of an objc method decl.
* objc-act.c (build_method_decl): Take an additional "ellipsis"
argument, and set METHOD_ADD_ARGS_ELLIPSIS_P as appropriate.
(objc_build_method_signature): Accept additional "ellipsis"
argument and pass it to build_method_decl.
(get_arg_type_list, start_method_def, gen_method_decl): Use
the new METHOD_ADD_ARGS_ELLIPSIS_P instead of examining the
TREE_OVERFLOW field of a TREE_LIST node.
Tom Tromey [Thu, 21 Apr 2005 17:20:36 +0000 (17:20 +0000)]
VMClassLoader.java (transformException): Removed.
* java/lang/VMClassLoader.java (transformException): Removed.
(resolveClass): No longer native. Now does nothing.
* java/lang/natVMClassLoader.cc (resolveClass): Removed.
Jan Hubicka [Thu, 21 Apr 2005 13:18:23 +0000 (15:18 +0200)]
cgraphunit.c: Include tree-pass.h (cgraph_decide_recursive_inlining...
* cgraphunit.c: Include tree-pass.h
(cgraph_decide_recursive_inlining,
cgraph_decide_inlining_of_small_function, cgraph_set_inline_failed,
cgraph_decide_inlining): Dump goes to dump_file.
(cgraph_optimize): Call ipa passes instead of inliner.
(cgraph_gate_inlining, pass_ipa_inline): New.
* tree-optimize.c (all_ipa_passes): New static variable.
(register_one_dump_file): Dead with IPA passes.
(register_dump_files): Likewise.
(init_tree_optimization_passes): Initialize IPA passes.
(execute_todo): Do cgraph dump when asked to, do not dump function body
for IPA pass.
* tree-pass.h (TODO_dump_cgraph): New macro.
(ipa_passes): Declare.
* Makefile.in (cgraphunit.o): Add dependency on cgraphunit.h
* config/pa/pa.c (typedef extern_symbol): Typedef the structure,
not a pointer to it. Create an object vector.
(extern_symbols): Turn into an object vector.
(pa_hpux_asm_output_external, pa_hpux_file_end): Adjust.
Sebastian Pop [Thu, 21 Apr 2005 08:48:55 +0000 (10:48 +0200)]
Makefile.in (tree-chrec.o): Depend on params.h.
PR/20742
* Makefile.in (tree-chrec.o): Depend on params.h.
* params.def (PARAM_SCEV_MAX_EXPR_SIZE): New parameter with
default value 20.
* tree-chrec.c: Depend on params.h. Replace build with buildN,
and fold build with fold_buildN.
(chrec_fold_plus_1): Fail with a chrec_don_know when the size of
the expression exceeds PARAM_SCEV_MAX_EXPR_SIZE.
(tree_contains_chrecs): Compute an estimation of the size of the
given expression.
* tree-chrec.h (tree_contains_chrecs): Modify its declaration.
(tree_does_not_contain_chrecs): Update the use of tree_contains_chrecs.
* tree-scalar-evolution.c (simple_iv): Ditto.
* doc/invoke.texi (scev-max-expr-size): Documented.
Mark Mitchell [Thu, 21 Apr 2005 04:21:51 +0000 (04:21 +0000)]
check_allocate_max_size.cpp: Add explicit instantiations for systems without weak symbols.
* testsuite/ext/bitmap_allocator/check_allocate_max_size.cpp: Add
explicit instantiations for systems without weak symbols.
* testsuite/ext/bitmap_allocator/check_deallocate_null.cc:
Likewise.
Joseph Myers [Wed, 20 Apr 2005 16:41:48 +0000 (17:41 +0100)]
re PR c/12913 (Jumps into variable length array scope not rejected)
PR c/12913
* c-tree.h (struct c_label_list): Update comment.
(struct c_label_context): Rename to struct c_label_context_se.
(label_context_stack): Rename to label_context_stack_se.
(C_DECL_UNJUMPABLE_VM, C_DECL_UNDEFINABLE_VM, struct
c_label_context_vm, label_context_stack_vm, c_begin_vm_scope,
c_end_vm_scope): New.
(C_DECL_DECLARED_BUILTIN, C_DECL_USED): Use FUNCTION_DECL_CHECK.
* c-decl.c (pop_scope): Call c_end_vm_scope.
(pushdecl): Call c_begin_vm_scope for variably modified
declarations.
(define_label): Check for jumping into scope of identifier with
variably modified type. Push label on stack for those defined at
current context of identifiers with variably modified type.
(start_function): Create stack level for context of identifiers
with variably modified type.
(finish_function): Pop stack level for context of identifiers with
variably modified type.
* c-typeck.c (label_context_stack): Rename to
label_context_stack_se.
(label_context_stack_vm, c_begin_vm_scope, c_end_vm_scope): New.
(c_finish_goto_label): Check for jumping into scope of identifier
with variably modified type. Push label on stack for those jumped
to from current context of identifiers with variably modified
type.
(struct c_switch): Add blocked_vm.
(c_start_case): Initialize blocked_vm.
(do_case): Check blocked_vm.
(c_finish_case): Add comment.
(c_begin_stmt_expr, c_finish_stmt_expr): Update for renamed
variable label_context_stack.
objc:
* objc-act.c (objc_start_function): Create stack level for context
of identifiers with variably modified type.
testsuite:
* gcc.dg/c99-vla-jump-1.c, gcc.dg/c99-vla-jump-2.c,
gcc.dg/c99-vla-jump-3.c, gcc.dg/c99-vla-jump-4.c,
gcc.dg/c99-vla-jump-5.c: New tests.
Michael Koch [Wed, 20 Apr 2005 09:36:06 +0000 (09:36 +0000)]
[multiple changes]
2005-04-20 Andrew John Hughes <gnu_andrew@member.fsf.org>
* java/net/URI.java:
Added class documentation.
(parseURI(String)): Only handle scheme-specific parts
if URI is not opaque. Allow for parts that can't be null.
(toString()): Output the scheme-specific part whole, rather
than as its possibly non-existent components.
2005-04-20 Jeroen Frijters <jeroen@frijters.net>
* java/net/URI.java (AUTHORITY_REGEXP): Corrected regexp.
(AUTHORITY_USERINFO_GROUP,AUTHORITY_HOST_GROUP,AUTHORITY_PORT_GROUP):
Adjusted to match new regexp.
Michael Koch [Wed, 20 Apr 2005 06:05:04 +0000 (06:05 +0000)]
[multiple changes]
2005-04-20 Sven de Marothy <sven@physto.se>
* java/nio/ByteBufferImpl.java:
(putChar): Inlined for speed.
(put, get): Bulk methods can use arraycopy.
* java/nio/CharBufferImpl.java:
(put, get): Bulk methods can use arraycopy.
2005-04-20 Jeroen Frijters <jeroen@frijters.net>
* java/nio/ByteBufferImpl.java (get(), put(byte)): Inlined checks
and field updates.
* java/nio/CharBufferImpl.java
(CharBufferImpl(CharBufferImpl)): Copy array_offset field.
(get(), put(char)): Inlined checks and field updates. Fixed to
take array_offset into account.
(get(int), put(int, char)): Fixed to take array_offset into account.
Roman Kennke [Wed, 20 Apr 2005 05:47:57 +0000 (05:47 +0000)]
2005-04-20 Roman Kennke <roman@kennke.org>
* javax/swing/plaf/basic/BasicButtonUI.java
(paint): This should not care about margin and insets
at the same time, as insets already include the margin
through the border.
* javax/swing/plaf/basic/BasicGraphicsUtils.java
(getPreferredButtonSize): Likewise.
* javax/swing/plaf/metal/MetalBorders.java
(getBorderInsets): Likewise.
2005-04-20 Roman Kennke <roman@kennke.org>
* javax/swing/plaf/basic/BasicOptionPaneUI.java
(createMessageArea): The JPanel that holds the message area
doesn't need to override getPreferredSize. This prevents some
message components from rendering nicely.
2005-04-20 Roman Kennke <roman@kennke.org>
* javax/swing/plaf/metal/MetalInternalFrameUI.java
(createUI): Do not share instances between components.
* javax/swing/plaf/metal/MetalSliderUI.java
(createUI): Do not share instances between components.
* javax/swing/tree/DefaultTreeSelectionModel.java:
Added API documentation all over the class.
2005-04-20 Roman Kennke <roman@kennke.org>
* javax/swing/plaf/basic/BasicScrollPaneUI.java
(installDefaults): Link managed JScrollPane in instance field.
(uninstallDefaults): Unlink managed JScrollPane in instance field.
2005-04-20 Roman Kennke <roman@kennke.org>
* javax/swing/plaf/basic/BasicScrollBarUI.java
(PropertyChangeHandler.propertyChange): Add default
to switch statement to avoid errors with unusual values
for orientation.
(installComponents): Likewise.
2005-04-20 Roman Kennke <roman@kennke.org>
* javax/swing/plaf/metal/MetalScrollBarUI.java:
(createUI): Instances cannot be shared among JScrollPanes.
2005-04-20 Roman Kennke <roman@kennke.org>
* javax/swing/plaf/metal/MetalLookAndFeel.java
(initComponentDefaults): Added defaults for Menu, MenuBar
MenuEntry fonts.
2005-04-20 Roman Kennke <roman@kennke.org>
* javax/swing/plaf/basic/BasicScrollBarUI.java
(installUI): Install listeners after everything all, otherwise
we get strange NPEs in some situations, especially with
custom L&Fs.
(createIncreaseButton): Orientation is expected to be
SwingConstants.NORTH, ..SOUTH, ..WEST or ..EAST and not
HORIZONTAL or VERTICAL.
(createDecreaseButton): Orientation is expected to be
SwingConstants.NORTH, ..SOUTH, ..WEST or ..EAST and not
HORIZONTAL or VERTICAL.
(installComponents): Orientation for buttons is expected to be
SwingConstants.NORTH, ..SOUTH, ..WEST or ..EAST and not
HORIZONTAL or VERTICAL.
2005-04-20 Roman Kennke <roman@kennke.org>
* javax/swing/JToolBar.java
(addImpl): Adjust added AbstractButtons to look and feel like
toolbar buttons.
* javax/swing/plaf/metal/MetalBorders.java:
Adjusted insets of ButtonBorder.
(RolloverMarginBorder): Added class for toolbar buttons.
(getButtonBorder): Adjusted factory method to return a shared
instance of button border.
(getToolbarButtonBorder): Added factory method to return a shared
instance of toolbar button border.
(getMarginBorder): Added factory method to return a shared
instance of margin border.
* javax/swing/plaf/metal/MetalButtonUI.java
(installDefauls): If button is child of a JToolBar then set
special border on this button.
builtins.c (expand_builtin_sync_operation): Revert last change.
* builtins.c (expand_builtin_sync_operation): Revert last change.
* optabs.c (expand_bool_compare_and_swap): Compare vs old value,
not vs new value.
(expand_compare_and_swap_loop): Likewise.
(expand_sync_operation): Remove fallback from NAND to AND; invert
memory operand when expanding from cmpxchg.
(expand_sync_fetch_operation): Likewise.
* doc/extend.texi (Atomic Builtins): Fix docs for nand and
compare-and-swap.
* config/alpha/alpha.c (alpha_split_atomic_op): Invert memory operand
when implementing NAND. Fix double-add for AFTER.
* config/alpha/sync.md (sync_nand<I48MODE>): Invert memory operand.
(sync_old_nand<I48MODE>, sync_new_nand<I48MODE>): Likewise.
(sync_compare_and_swap<I48MODE>): Fix compare vs zero. Return old
memory value.
(sync_lock_test_and_set<I48MODE>): Remove extra label and last
memory barrier.
* config/i386/sync.md (sync_compare_and_swap<IMODE>): Fix pattern
to return old memory value.
(sync_compare_and_swap_cc<IMODE>): Likewise.
* config/ia64/ia64.c (ia64_dependencies_evaluation_hook): Early
return pre-reload. Don't consider output or anti dependencies.
* config/ia64/sync.md (IMODE): New.
(modesuffix): Add QI and HI.
(memory_barrier): Simplify expansion.
(sync_compare_and_swap<IMODE>): Use IMODE, not I48MODE.
(cmpxchg_acq_<IMODE>): Likewise.
(sync_lock_test_and_set<IMODE>): Likewise.
(sync_lock_release<IMODE>): Likewise.