Roger Sayle [Tue, 23 Mar 2004 19:11:35 +0000 (19:11 +0000)]
fold-const.c (tree_expr_nonnegative_p): A&B is nonnegative when A is nonnegative or B is nonnegative.
* fold-const.c (tree_expr_nonnegative_p): A&B is nonnegative when
A is nonnegative or B is nonnegative. Similarly A|B is nonnegative
when both A and B are nonnegative.
(tree_expr_nonzero_p): A|B is nonzero when A is nonzero or B is
nonzero.
Roger Sayle [Tue, 23 Mar 2004 14:26:43 +0000 (14:26 +0000)]
re PR rtl-optimization/14669 (Wrong code with -O for enum values expression E4 <= t && t <= E6)
2004-03-23 Kazu Hirata <kazu@cs.umass.edu>
PR optimization/14669
* fold-const.c (fold): Only unwiden integer comparisons for equality
or inequality operators, or when the signedness is the same.
gcse.c (can_assign_to_reg_p): New function, split out from...
* gcse.c (can_assign_to_reg_p): New function, split out from...
(want_to_gcse_p): ...here.
(compute_ld_motion_mems): Use can_assign_to_reg_p to validate
the rhs of a store.
Arnaud Charlet [Mon, 22 Mar 2004 14:06:28 +0000 (15:06 +0100)]
[multiple changes]
2004-03-22 Cyrille Comar <comar@act-europe.fr>
* ali.ads: Fix Comment about Dynamic_Elab.
* gnatls.adb (Output_Unit): Add output of many flags (Dynamic_Elab,
Has_RACW, Is_Generic, etc.)
(Output_Object, Gnatls): Take into account ALI files not attached to
an object.
2004-03-22 Vincent Celier <celier@gnat.com>
* gprep.adb: Change all String_Access to Name_Id
(Is_ASCII_Letter): new function
(Double_File_Name_Buffer): New procedure
(Preprocess_Infile_Name): New procedure
(Process_Files): New procedure
(Gnatprep): Check if output and input are existing directories.
Call Process_Files to do the real job.
2004-03-22 Robert Dewar <dewar@gnat.com>
* prj-env.adb, prj-nmsc.ads, prj-proc.ads,
s-stache.ads, s-stache.adb: Comment updates. Minor reformatting.
2004-03-22 Sergey Rybin <rybin@act-europe.fr>
* scn.adb (Contains): Add check for EOF, is needed for a degenerated
case when the source contains only comments.
2004-03-22 Ed Schonberg <schonberg@gnat.com>
* sem_ch10.adb (Analyze_Compilation_Unit): When generating a
declaration for a child subprogram body that acts as a spec, indicate
that the entity in the declaration needs debugging information.
* sem_ch3.adb (Complete_Private_Subtype): Do not build an underlying
full view if the subtype is created for a constrained record component;
gigi has enough information to construct the record, and there is no
place in the tree for the declaration.
* sem_ch6.adb (Build_Body_To_Inline): Use an internal name without
serial number for the dummy body that is built for analysis, to avoid
inconsistencies in the generation of internal names when compiling
with -gnatN.
2004-03-22 Thomas Quinot <quinot@act-europe.fr>
* sem_util.adb (Is_Object_Reference): A view conversion denotes an
object.
Eric Botcazou [Mon, 22 Mar 2004 11:59:08 +0000 (12:59 +0100)]
re PR tree-optimization/14470 ([tree-ssa] trouble with post-increment)
PR middle-end/14470
* expr.c (mark_queue): New function.
(emit_insns_enqueued_after_mark): New function replacing
emit_queue. Clear the body of emitted queued insns.
(emit_queue): Call emit_insns_enqueued_after_mark.
(store_expr): Mark the increment queue on entry. Emit
only the incrementations queued when expanding the source.
Nathanael Nerode [Mon, 22 Mar 2004 08:38:04 +0000 (08:38 +0000)]
* Makefile.tpl (experimental top level bootstrap) Move stage1
language setting from all- target to configure- target; disable
intermodule optimization in stage 1; prevent gratuitous rebuilds
of stage 1.
* Makefile.in: Regenerate.
* configure.in: Comma-separate stage 1 language list for top
level bootstrap.
* configure: Regenerate.
Nathanael Nerode [Mon, 22 Mar 2004 06:19:44 +0000 (06:19 +0000)]
Makefile.tpl: Clean up experimental top level bootstrap support...
2004-03-22 Nathanael Nerode <neroden@gcc.gnu.org>
* Makefile.tpl: Clean up experimental top level bootstrap support:
note known problems; set CONFIG_SHELL; don't set BUILD_CC; relocate
prev-gcc in configure- targets as well as all- targets.
* Makefile.in: Regenerate.
Alexandre Oliva [Mon, 22 Mar 2004 00:40:44 +0000 (00:40 +0000)]
real.h (struct real_value): Use the same type for all bitfields.
* real.h (struct real_value): Use the same type for all
bitfields. Rename exp to uexp.
(REAL_EXP, SET_REAL_EXP): New accessor macros for uexp.
Adjust all uses of exp...
* builtins.c: ... here, ...
* emit-rtl.c: ... here, and ...
* real.c: ... and here.
Ulrich Weigand [Sun, 21 Mar 2004 19:31:29 +0000 (19:31 +0000)]
expmed.c (choose_mult_variant): Pass MULT_COST as argument instead of using register multiplication cost.
* expmed.c (choose_mult_variant): Pass MULT_COST as argument instead
of using register multiplication cost.
(expand_mult): Adapt choose_mult_variant call.
(expand_mult_highpart): Call choose_mult_variant with WIDER_MODE
of MODE; pass appropriate cost bound. Adjust result when
performing signed multiplication by a negative constant.
Don't use intermediate modes larger than word_mode.
Gerald Pfeifer [Sun, 21 Mar 2004 11:19:08 +0000 (11:19 +0000)]
g77.texi (Aligned Data): Remove obsolete paragraph including a broken link.
* g77.texi (Aligned Data): Remove obsolete paragraph including a
broken link.
(Floating-point Errors): Remove links to http://www.validgh.com/
which was "hijacked".
(Language): Fix link to Fortran books.
(Projects): Remove obsolete paragraph including a broken link to
ftp://alpha.gnu.org/gnu/g77/projects/.
(Trouble): Remove obsolete paragraph including a broken link to
ftp://alpha.gnu.org/g77.plan.
* invoke.texi (Overall Options): Remove broken reference to
rat7.uue (which was of dubious copyright status anyways).
Zdenek Dvorak [Sat, 20 Mar 2004 23:08:57 +0000 (00:08 +0100)]
emit-rtl.c (set_mem_attributes_minus_bitpos): Set MEM_POINTER flag.
* emit-rtl.c (set_mem_attributes_minus_bitpos): Set MEM_POINTER
flag.
* explow.c (force_not_mem): Set REG_POINTER flag according to
MEM_POINTER one.
* rtl.h (MEM_POINTER): New macro.
(struct rtx_def): Use integrated for MEM_SCALAR_P and frame_related
for MEM_POINTER.
Norbert Frese [Sat, 20 Mar 2004 20:30:56 +0000 (20:30 +0000)]
RMIIncomingThread.java: New file.
2004-03-20 Norbert Frese <postfach@nfrese.net>
* gnu/java/rmi/server/RMIIncomingThread.java: New file.
* gcc/libjava/gnu/java/rmi/server/UnicastConnection.java:
Create a new RMIObjectOuputStream/RMIObjectInputStream for every
rmi-message.
(getObjectInputStream): Return object reference, throw IOException if null.
(startObjectInputStream): Create new RMIObjectInputStream on top of 'din'.
(getObjectOutputStream): Return object reference, throw IOException if null.
(startObjectOutputStream): Create new RMIObjectOutputStream on top of 'dout'.
* gcc/libjava/gnu/java/rmi/server/UnicastConnectionManager.java:
(UnicastConnectionManager): Throw RemoteException if port is not available.
(getInstance): Throw RemoteException.
(run): Lookup client host and attach it to new RMIIncomingThread for later retrieval.
* gcc/libjava/gnu/java/rmi/server/UnicastRef.java:
Start a new RMIObjectInputStream/RMIObjectOutputStream for every rmi-message.
Collect Exceptions which are returned by a rmi-call and fix void returns.
* gcc/libjava/gnu/java/rmi/server/UnicastRemoteCall.java:
Start a new RMIObjectInputStream/RMIObjectOutputStream for every rmi-message.
* gcc/libjava/gnu/java/rmi/server/UnicastServer.java:
(dispatch): Answer ping messages which are sent by other java implementions.
(incomingMessageCall): Start a new RMIObjectInputStream/RMIObjectOutputStream
for every rmi-message and fix void return problems.
* gcc/libjava/gnu/java/rmi/server/UnicastServerRef.java
(UnicastServerRef): Throw RemoteException.
(exportObject): Find the class up the class hierarchy which has a _Stub generated by rmic.
In some situations it is necessary to export a subclass of the class which has the _Stub.
For instance when the class with has the _Stub is abstract.
(findStubSkelClass): New method which looks for the class which has the _Stub.
(getClientHost): Implementated.
* gcc/libjava/java/rmi/server/RemoteServer.java
(getClientHost): Implementated.
* gcc/libjava/Makefile.am (rmi_java_source_files):
Added gnu/java/rmi/server/RMIIncomingThread.java.
* Makefile.in: Regenerated.
Kazu Hirata [Sat, 20 Mar 2004 14:13:28 +0000 (14:13 +0000)]
fold-const.c (fold): Remove variable "invert".
* fold-const.c (fold): Remove variable "invert".
Move the handling of relational expressions that can be folded
to a constant ...
(fold_relational_const): ... here.
(tree_expr_nonzero_p): New.
Makefile.in (dojump.o): Depend on $(GGC_H) and dojump.h.
* Makefile.in (dojump.o): Depend on $(GGC_H) and dojump.h.
(GTFILES): Add $(srcdir)/dojump.h.
(gt-dojump.h): New dependency.
* dojump.c (and_reg, and_test, shift_test): New static variables.
(prefer_and_bit_test): New function.
(do_jump): Use it to choose between (X & (1 << C)) and (X >> C) & 1.
Ziemowit Laski [Sat, 20 Mar 2004 02:56:54 +0000 (02:56 +0000)]
altivec.h (vec_dst, [...]): Add prototypes, marked with always_inline attribute.
[gcc/ChangeLog]
2004-03-19 Ziemowit Laski <zlaski@apple.com>
* config/rs6000/altivec.h (vec_dst, vec_dstst, vec_dststt,
vec_dstt, vec_sld, vec_splat): Add prototypes, marked with
always_inline attribute.
* config/rs6000/rs6000.c (altivec_expand_dst_builtin):
Treat expansion as completed even if literal argument is
invalid (so that other expansions are not tried in vain).
[gcc/testsuite/ChangeLog]
2004-03-19 Ziemowit Laski <zlaski@apple.com>
Per Bothner [Sat, 20 Mar 2004 00:24:49 +0000 (16:24 -0800)]
Input_UnicodeBig.java: New class..
* gnu/gcj/convert/Input_UnicodeBig.java: New class..
* gnu/gcj/convert/Input_UnicodeLittle.java: New class.
* Makefile.am: Update accordingly.
* gnu/gcj/convert/IOConverter.java: Define "utf-16le" and "utf16be"
as aliases for UnicodeLittle and UnicodeBig.
Mark Mitchell [Sat, 20 Mar 2004 00:18:24 +0000 (00:18 +0000)]
call.c (build_op_delete_call): Do not forget the placement arguments when iterating through mutiple delete...
* call.c (build_op_delete_call): Do not forget the placement
arguments when iterating through mutiple delete operators.
* cp-tree.h (svaed_scope): Remove last_parms.
(NEW_DELETE_OPNAME_P): New macro.
(last_function_parms): Remove.
(do_friend): Adjust prototype.
* decl.c (grokparms): Return the PARM_DECLs directly, rather than
using last_function_parms.
(grokfndecl): Take the PARM_DECLs as an argument, rather than
using last_function_parms.
(grokdeclarator): Adjust accordingly. Do not form METHOD_TYPEs
for class-specific operator new and operator delete.
(grok_op_properties): Do not look for allocation functions with
METHOD_TYPEs.
(start_function): Use DECL_ARGUMENTS instead of
last_function_parms.
* decl.h (last_function_parms): Do not declare.
* decl2.c (grokclassfn): Do not use last_function_parms.
* friend.c (do_friend): Remove parmdecls parameter.
* name-lookup.c (push_to_top_level): Do not save last_function_parms.
(pop_from_top_level): Do not restore it.
* pt.c (check_explicit_specialization): Do not adjust
last_function_parms.
* name-lookup.c (do_local_using_decl): Create a local binding for
types brought in via using declarations.
* name-lookup.c (lookup_arg_dependent): Handle block-scope
function declarations correctly.
* semantics.c (finish_id_expression): Correct handling of
conversion operators to dependent types.
* typeck.c (lookup_destructor): Allow the use of destructors from
base classes.
Per Bothner [Fri, 19 Mar 2004 23:10:55 +0000 (15:10 -0800)]
class.c (assume_compiled_node_struct): Rename type to class_flag_node_struct, as it is now also used for enable_assertions.
* class.c (assume_compiled_node_struct): Rename type to
class_flag_node_struct, as it is now also used for enable_assertions.
Rename assume_compiled_node typedef. Rename excludep field to value.
(find_assume_compiled_node): Rename function to find_class_flag_node.
Minor optimization - avoid needless strlen.
(add_assume_compiled): Some tweaking and optimization.
Rename and generalize to add_class_flag takem an extra parameter.
(add_assume_compled): New just calls add_class_flag.
(add_enable_assert, enable_assertions): New functions.
(enable_assert_tree): New static.
* java-tree.h (add_enable_assert, enable_assertions): New declarations.
* lang.opt (fenable-assertions, fenable-assertions=,
fdisable-assertions, fdisable-assertions=): New options.
* lang.c (java_handle_option): Handle new options.
* parse.y (build_incomplete_class_ref): Handle class$ in an inner
class in an interface - create helper class nested in outer interface.
(build_assertion): Short-circuit if enable_assertions is false.
Mark Wielaard [Fri, 19 Mar 2004 23:03:57 +0000 (23:03 +0000)]
2004-03-20 Mark Wielaard <mark@klomp.org>
* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c
(Java_gnu_java_awt_peer_gtk_GtkTextAreaPeer_getVScrollbarWidth):
Don't access ws when it is null.
(Java_gnu_java_awt_peer_gtk_GtkTextAreaPeer_getHScrollbarHeight):
Likewise.
Michael Koch [Fri, 19 Mar 2004 20:42:39 +0000 (20:42 +0000)]
2004-03-19 Michael Koch <konqueror@gmx.de>
* java/awt/image/AffineTransformOp.java
(AffineTransformOp): Made public.
* javax/swing/JComponent.java
(listenerList): Made protected.
(accessibleContext): Likewise.
* javax/swing/JList.java
(valueChanged): Dont use internal fields of ListSelectionEvent.
* javax/swing/JViewport.java
(getView): Dont use internal fields of Component.
(addImpl): Likewise.
* javax/swing/Timer.java
(isRunning): Made public.
(start): Likewise.
(stop): Likewise.
* javax/swing/UIDefaults.java
(getInt): Made public.
* javax/swing/plaf/basic/BasicListUI.java
(mousePressed): Dont use internal fields of MouseEvent.
(propertyChanged): Dont use internal fields of PropertyChangeEvent.
* javax/swing/plaf/basic/BasicScrollBarUI.java
(arrowIcon): Made static.
* javax/swing/plaf/basic/BasicViewportUI.java
(stateChanged): Dont use internal field on ChangeEvent.
* javax/swing/text/JTextComponent.java
(getUI): Call UIManager.getUI().
(updateUI): Use getUI().
Paolo Carlini [Fri, 19 Mar 2004 19:31:38 +0000 (19:31 +0000)]
re PR libstdc++/12077 ([3.4 only] wcin.rdbuf()->in_avail() return value too high)
2004-03-19 Paolo Carlini <pcarlini@suse.de>
Petur Runolfsson <peturr02@ru.is>
PR libstdc++/12077
* include/ext/stdio_sync_filebuf.h (showmanyc): Remove, there's
no way to find out the conversion used by the underlying FILE*.
* testsuite/ext/stdio_sync_filebuf/wchar_t/12077.cc: New.
* testsuite/27_io/objects/char/9.cc: Tweak.