Falk Hueffner [Wed, 21 Jan 2004 15:52:47 +0000 (16:52 +0100)]
re PR target/12898 (Tru64 UNIX bootstrap failure: ICE in gen_reg_rtx, at emit-rtl.c:819)
PR target/12898
* config/alpha/alpha.c (alpha_emit_set_const_1): If
no_new_pseudos, use gen_rtx_SET directly for SImode constants
which need multiple instructions to emit.
* testsuite/gcc.c-torture/compile/20040121-1.c: New test.
David Jee [Wed, 21 Jan 2004 14:39:15 +0000 (14:39 +0000)]
2004-01-21 David Jee <djee@redhat.com>
* java/awt/Container.java
(LightweightDispatcher.handleEvent): Add an extra check to avoid
dispatching MOUSE_ENTERED event twice. Translate the point for
the mouse event target before dispatching the event.
Arnaud Charlet [Wed, 21 Jan 2004 10:35:18 +0000 (11:35 +0100)]
[multiple changes]
2004-01-21 Javier Miranda <miranda@gnat.com>
* exp_aggr.adb (Build_Record_Aggr_Code): Do not build the master
entity if already built in the current scope.
* exp_ch9.adb (Build_Master_Entity): Do not set the has_master_entity
reminder in internal scopes. Required for nested limited aggregates.
2004-01-21 Doug Rupp <rupp@gnat.com>
* Makefile.in (hyphen): New variable, default value '-'. Set to '_' on
VMS. Replace all occurences of libgnat- and libgnarl- with
libgnat$(hyphen) and libgnarl$(hyphen).
Fixed shared library build problem on VMS.
2004-01-21 Robert Dewar <dewar@gnat.com>
* mlib-prj.adb: Minor reformatting
2004-01-21 Thomas Quinot <quinot@act-europe.fr>
* prj-tree.adb, 7staprop.adb, vms_conv.adb, xr_tabls.adb: Add missing
'constant' keywords for declaration of pointers that are not modified.
* exp_pakd.adb: Fix English in comment.
2004-01-21 Ed Schonberg <schonberg@gnat.com>
PR ada/10889
* sem_ch3.adb (Analyze_Subtype_Declaration): For an array subtype,
copy all attributes of the parent, including the foreign language
convention.
2004-01-21 Sergey Rybin <rybin@act-europe.fr>
PR ada/10565
* sem_ch9.adb (Analyze_Delay_Alternative): Add expression type check
for 'delay until' statement.
Kelley Cook [Wed, 21 Jan 2004 02:01:55 +0000 (02:01 +0000)]
re PR other/12730 (manual page install broken with old Pod::man)
gcc/
2004-01-20 Kelley Cook <kcook@gcc.gnu.org>
PR bootstrap/12730
* configure.ac: Delete definition and subsitution of docdir.
Add info, man, srcman and srcinfo to target hooks. Create doc/
directory.
* configure: Regenerate.
* Makefile.in: Don't substitute docdir and delete all references
throughout.
(MAKEINFOFLAGS): Define.
(stmp-docobjdir): Delete.
(INFOFILES, MANFILES): Define.
(info): Call lang.info, srcinfo and lang.srcinfo.
(generated-manpages): Call lang.man, srcman and lang.srcman.
(srcinfo, srcman): New rules to copy back files to source directory.
(doc/%.info, doc/%.dvi, doc/%.1, doc/%.7): New implict rule.
(install-man): Revamp rule.
(clean): Update dvi directory.
(distclean): Delete TAGS from front end directorys.
(maintainer-clean): Delete all document files in source directory.
* Make-lang.in: Replace $(docdir) with doc.
(c++.info, c++.srcinfo): Dummy entry.
(c++.man, c++.srcman): New rules.
(c++.install-man): Revamp rule.
gcc/f/
2004-01-20 Kelley Cook <kcook@gcc.gnu.org>
* Make-lang.in: Replace $(docdir) with doc.
(TEXI_G77_FILES): Define.
(f77.rebuilt): Delete.
(f77.srcextra): Add dependencies on f/BUGS and f/NEWS.
(f77.srcman, f77.srcinfo, f77.man, f77.info): New rules.
(doc/g77.info, doc/g77.dvi): Depend on TEXI_G77_FILES. Always build in
doc directory. Use $(MAKEINFOFLAGS).
(info, dvi, generated_manpages): Update to look in doc directory.
(f/BUGS, f/NEWS): Generate in build directory.
(f77.mostlyclean): Delete BUGS and NEWS from build directory.
(f77.maintainer-clean): Adjust to delete from source directory.
(f77.install-man): Revamp rule.
Roger Sayle [Tue, 20 Jan 2004 22:59:59 +0000 (22:59 +0000)]
fold-const.c (fold_convert): Rename to fold_convert_const.
* fold-const.c (fold_convert): Rename to fold_convert_const.
(fold_convert_const): Change arguments to take a tree_code,
a type and the operand/expression to be converted. Return
NULL_TREE if no simplification is possible. Add support for
FIX_CEIL_EXPR and FIX_FLOOR_EXPR in addition to FIX_TRUNC_EXPR.
(fold): Handle FIX_CEIL_EXPR and FIX_FLOOR_EXPR.
Adjust call to fold_convert to match new fold_convert_const.
Avoid modifying the tree passed to fold in-place.
pa-protos.h (compute_frame_size): Use HOST_WIDE_INT for frame sizes.
* pa-protos.h (compute_frame_size): Use HOST_WIDE_INT for frame sizes.
* pa.c (store_reg, store_reg_modify, load_reg, set_reg_plus_d):
Likewise. Handle frames larger than 0x7fffffff on 64-bit ports.
(emit_move_sequence): Check scratch_reg first in various if statements.
Extend source simplification to handle all 64-bit CONST_INTs.
(pa_output_function_prologue): Use HOST_WIDE_INT_PRINT_DEC for printing
frame size.
(hppa_expand_prologue, hppa_expand_epilogue): Use HOST_WIDE_INT for
frame offset calculations.
* pa.h (NEW_HP_ASSEMBLER): Add comment.
(MAX_LEGIT_64BIT_CONST_INT, MIN_LEGIT_64BIT_CONST_INT,
LEGITIMATE_64BIT_CONST_INT_P): Define.
(LEGITIMATE_CONSTANT_P): Use LEGITIMATE_64BIT_CONST_INT_P. Treat
any CONST_INT as legitimate during and after reload.
(VAL_32_BITS_P, INT_32_BITS): Define.
(LEGITIMIZE_RELOAD_ADDRESS): Handle large frame offsets.
Jan Hubicka [Tue, 20 Jan 2004 22:16:59 +0000 (23:16 +0100)]
emit-rtl.c (verify_rtx_sharing, [...]): Clobbers containing hard regs are shared.
* emit-rtl.c (verify_rtx_sharing, copy_insn_1,
emit_copy_of_insn_after, emit_copy_of_insn_after): Clobbers
containing hard regs are shared.
(gen_hard_reg_clobber): New function.
(hard_reg_clobbers): New array.
* genemit.c (gen_exp): Use gen_hard_reg_clobber.
(copy_rtx): Do not copy clobbers containing hard regs.
* rtl.h (gen_hard_reg_clobber): Declare.
2004-01-20 Thomas Fitzsimmons <fitzsim@redhat.com>
* gnu/java/awt/peer/gtk/GtkTextFieldPeer.java,
jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextFieldPeer.c
(native create): Add width parameter.
(create): Calculate text entry width based on current font's
metrics and number of columns. Set TextField's font if not
already set. Call native create.
(gtkEntryGetBorderWidth): New native method.
(gtkEntryGetSize): Remove method.
(getMinimumSize): Call minimumSize.
(getPreferredSize): Call preferredSize.
(minimumSize): Calculate minimum size based on backing
GtkEntry's borders, font metrics and number of columns.
(preferredSize): Likewise for preferred size.
(get_border_width): New static function.
GtkFramePeer.java (setResizable): Override GtkWindowPeer's setResizable method to account for menu bar height when...
2004-01-20 Thomas Fitzsimmons <fitzsim@redhat.com>
* gnu/java/awt/peer/gtk/GtkFramePeer.java (setResizable):
Override GtkWindowPeer's setResizable method to account for menu
bar height when setting the frame's size.
Zdenek Dvorak [Tue, 20 Jan 2004 16:55:56 +0000 (17:55 +0100)]
re PR rtl-optimization/12440 (gcc 3.3.1 on i386 linux 2.4.22 crashes during compilation of quicktime4linux 2.0.0)
PR optimization/12440
* loop.c: Include ggc.h.
(loop_optimize): Run garbage collector between optimization of loops.
* Makefile.in (loop.o): Add GGC_H dependency.
Hartmut Penner [Tue, 20 Jan 2004 16:51:07 +0000 (16:51 +0000)]
* gcc/config/rs6000/rs6000.c (function_arg) Handle
vector register special in function without prototype.
(function_arg_advance): Vector parameters get always
GPRs allocated for the linux64 target.
Stefan Olsson [Tue, 20 Jan 2004 06:35:21 +0000 (06:35 +0000)]
mt_allocator.h: If a thread...
2004-01-19 Stefan Olsson <stefan@snon.net>
* include/ext/mt_allocator.h: If a thread, when it dies, still has
memory on it's freelist this memory is not returned to global
list. Simplification of deallocate so that memory is always
returned to the calling thread id's freelist instead of to
global. Fix typos. Add volatile where appropriate.
Per Bothner [Tue, 20 Jan 2004 05:17:48 +0000 (05:17 +0000)]
Implement a cache for linemap_lookup.
* line-map.h (struct_line_maps): Add cache field.
* line-map.c (linemap_init): Zero cache field.
(linemap_add): Set cache field to offset of newly allocated map.
(linemap_lookup): Use and set cache field.
Kelley Cook [Tue, 20 Jan 2004 01:52:02 +0000 (01:52 +0000)]
Makefile.in (target_noncanonical, [...]): Use immediate define instead of deferred.
gcc/
2004-01-16 Kelley Cook <kcook@gcc.gnu.org>
* Makefile.in (target_noncanonical, program_transform_name): Use
immediate define instead of deferred.
(GCC_INSTALL_NAME, GCC_TARGET_INSTALL_NAME, CPP_INSTALL_NAME,
PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
GCCBUG_INSTALL_NAME): Define via a immediate $(shell) instead of
deferred backquote.
gcc/cp
2004-01-16 Kelley Cook <kcook@gcc.gnu.org>
* Make-lang.in (CXX_INSTALL_NAME, GXX_INSTALL_NAME,
CXX_TARGET_INSTALL_NAME, GXX_TARGET_INSTALL_NAME): Define via a
immediate $(shell) instead of deferred backquote.
gcc/f
2004-01-16 Kelley Cook <kcook@gcc.gnu.org>
* Make-lang.in (G77_INSTALL_NAME): Define via a immediate $(shell)
instead of deferred backquote.
Joseph Myers [Tue, 20 Jan 2004 01:38:27 +0000 (01:38 +0000)]
c-decl.c (c_init_decl_processing): Set pedantic_lvalues to true unconditionally.
* c-decl.c (c_init_decl_processing): Set pedantic_lvalues to
true unconditionally.
* c-typeck.c (unary_complex_lvalue, pedantic_lvalue_warning):
Remove.
(build_unary_op, build_modify_expr): Don't handle extended
lvalues.
(build_component_ref, build_conditional_expr): Call non_lvalue
instead of pedantic_non_lvalue.
(build_c_cast): Don't condition use of non_lvalue on pedantic.
* fold-const.c (fold): Don't check pedantic directly for
COMPOUND_EXPR. Ensure that results for COMPOUND_EXPR are
passed to pedantic_non_lvalue.
* doc/extend.texi: Remove documentation of extended lvalues.
testsuite:
* gcc.c-torture/compile/981022-1.c: Remove.
* gcc.dg/array-5.c: Remove XFAIL.
* gcc.dg/sequence-pt-1.c: Remove test using extended lvalues.
* gcc.dg/cast-lvalue-1.c, gcc.dg/compound-lvalue-1.c,
gcc.dg/cond-lvalue-1.c: Update.
* gcc.dg/cast-lvalue-2.c: New test.
Loren J. Rittle [Tue, 20 Jan 2004 01:30:03 +0000 (01:30 +0000)]
10063-2.cc: Treat unbuffered.
* testsuite/ext/stdio_filebuf/char/10063-2.cc: Treat unbuffered.
* testsuite/ext/stdio_filebuf/char/10063-3.cc: New test. Like -2 but
use __gnu_cxx::stdio_sync_filebuf<char> instead; allow buffered stream.
Mark Mitchell [Mon, 19 Jan 2004 22:10:31 +0000 (22:10 +0000)]
re PR c++/13651 (double error message when using incomplete types in a struct)
PR c++/13651
* parser.c (cp_parser_postfix_expression): When encountering
incomplete type on left-hand side of "->" or ".", treat the entire
expression as erroneous.
Roger Sayle [Mon, 19 Jan 2004 21:51:06 +0000 (21:51 +0000)]
re PR rtl-optimization/5263 (a & b & ~a & ~b not optimized)
PR optimization/5263
* simplify-rtx.c (associative_constant_p): Delete.
(simplify_associative_operation): Rewrite to linearize terms, and
attempt to simplify new term against both left and right subterms.
(simplify_binary_operation): Call swap_commutative_operands_p on
op0 and op1, not trueop0 and trueop1. Move the initialization of
trueop0 and trueop1 down to where first needed.
(simplify_relational_operation): Likewise.
* rtlanal.c (commutative_operand_precedence): Also order constant
operands using avoid_constant_pool_reference.
Mark Mitchell [Mon, 19 Jan 2004 20:33:29 +0000 (20:33 +0000)]
re PR c++/13592 (C++ parser regression)
PR c++/13592
* call.c (build_field_call): Remove.
(n_build_method_call): Likewise.
(build_method_call): Likewise.
(build_new_method_call): Do not call build_field_call.
* class.c (n_build_method_call): Remove.
(print_class_statistics): Do not print it.
* cp-tree.h (build_method_call): Remove declaration.
(finish_object_call_expr): Likewise.
(build_new_1): Do not use build_method_call.
* parser.c (cp_parser_postfix_expression): Use finish_call_expr
when the function appearing on the right-hand-side of "." or "->"
is not actually a function.
* pt.c (tsubst_copy_and_build): Likewise.
* semantics.c (finish_object_call_expr): Remove.
* config/alpha/alpha.c (alpha_expand_mov_nobwx): If the destination
is not a reg, copy to a scratch first.
(aligned_loadqi, aligned_loadhi, unaligned_loadqi, unaligned_loadhi,
unaligned_loadqi_le, unaligned_loadqi_be, unaligned_loadhi_le,
unaligned_loadhi_be): Expect op0 in DImode; don't SUBREG.
(reload_inqi, reload_inhi): Fix mode of op0.
(reload_inqi_help, reload_inhi_help, reload_outqi_help,
reload_outhi_help): Likewise. Use define_insn_and_split.
* config/alpha/alpha.md (call peepholes): Check for REG_NORETURN
as well as $29 dead.
Fernando Nasser [Mon, 19 Jan 2004 17:38:36 +0000 (17:38 +0000)]
EventQueue.java (pop): Prevent racing condition to add events to the queue out of order by acquiring...
* java/awt/EventQueue.java (pop): Prevent racing condition to add
events to the queue out of order by acquiring locks in the proper
order and not by releasing one before acquiring the other.
Eric Botcazou [Mon, 19 Jan 2004 16:57:05 +0000 (17:57 +0100)]
sol2.h (ASM_DECLARE_OBJECT_NAME): New.
* config/sparc/sol2.h (ASM_DECLARE_OBJECT_NAME): New. Emit
"tls_object" for thread-local objects.
* config/sparc/sparc.c (sparc_elf_asm_named_section): Emit
"#tls" for thread-local sections.
* configure.ac (thread-local checks): Specify --fatal-warnings in
every binutils-specific checks. For sparc*-*-*, test whether the
OS is Solaris and the tools are native and act accordingly.
* configure: Rebuild.
* gnu/java/awt/peer/gtk/GtkFramePeer.java (getMenuBarHeight): Added
MenuBarPeer parameter.
(removeMenuBarPeer): New native method.
(setMenuBar): Call remove if menu bar is null. Adjust insets
appropriately.
(postSizeAllocateEvent): New method. Called when menu bar size is
allocated. Adjust insets and redo layout.
(GtkFramePeer): Set menu bar during frame creation.
(postConfigureEvent): Adjust position and size to accomodate
menu bar.
* java/awt/Frame.java (setMenuBar): addNotify to create menu bar.
* java/awt/Menu.java (addSeparator): Use peer's addSeparator.
(addNotify): Create the peer if it doesn't exist and call addNotify
for the menu's items.
* java/awt/MenuBar.java (addNotify): Create this menu bar's menus.
* java/awt/MenuItem.java (addNotify): Create the peer if it
doesn't exist.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
(removeMenuBarPeer): New method. Remove menu bar on the current
frame.
(setMenuBarPeer): Add the menu bar to the current frame and the
callback for size-allocate events on the menu bar.
(getMenuBarHeight): Add menu bar parameter.
(menubar_resize_cb): New callback method for postSizeAllocate events.
Arnaud Charlet [Mon, 19 Jan 2004 10:37:59 +0000 (11:37 +0100)]
[multiple changes]
2004-01-19 Arnaud Charlet <charlet@act-europe.fr>
* utils.c: Update copyright notice, missed in previous change.
2004-01-19 Vincent Celier <celier@gnat.com>
* mlib-prj.adb (Build_Library.Add_ALI_For): Only add the ALI to the
args if Bind is True. Set First_ALI, if not already done.
(Build_Library): For Stand Alone Libraries, extract from one ALI file
an eventual --RTS switch, for gnatbind, and all backend switches +
--RTS, for linking.
2004-01-19 Robert Dewar <dewar@gnat.com>
* sem_attr.adb, memtrack.adb: Minor reformatting
2004-01-19 Ed Schonberg <schonberg@gnat.com>
* exp_ch6.adb (Expand_Call): Remove code to fold calls to functions
that rename enumeration literals. This is properly done in sem_eval.
* sem_eval.ads, sem_eval.adb (Eval_Call): New procedure to fold calls
to functions that rename enumeration literals.
* sem_res.adb (Resolve_Call): Use Eval_Call to fold static calls to
functions that rename enumeration literals.
Steven Bosscher [Mon, 19 Jan 2004 08:38:38 +0000 (08:38 +0000)]
gengtype.c (header_file): Make it static.
* gengtype.c (header_file): Make it static.
(write_types_process_field, write_enum_defn): Minor whitespace fixes.
* gengtype.h (header_file): No longer extern.
Kazu Hirata [Sun, 18 Jan 2004 22:49:23 +0000 (22:49 +0000)]
stmt.c (HAVE_casesi): Define it not already defined.
* stmt.c (HAVE_casesi): Define it not already defined.
(HAVE_tablejump): Likewise.
(expand_end_case_type): Resort to the binary tree method if
neither casesi or tablejump is available.
Jan Hubicka [Sun, 18 Jan 2004 15:10:23 +0000 (16:10 +0100)]
coverage.c (checksum_string): Rename to ...
* coverage.c (checksum_string): Rename to ...
(coverage_checksum_string): ... this one, Use crc32_string; recognize
names containing random number and zero the number out in order to get
match.