gcov-io.h (__gcov_fork, [...]): Do not declare when inhibit_libc is defined.
* gcov-io.h (__gcov_fork, __gcov_execl, __gcov_execlp, __gcov_execle,
__gcov_execv, __gcov_execvp, __gcov_execve): Do not declare when
inhibit_libc is defined.
Paolo Carlini [Sun, 25 Apr 2004 15:45:13 +0000 (15:45 +0000)]
PR libstdc++/15002 (continued again)
2004-04-25 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/15002 (continued again)
* include/bits/istream.tcc (getline(basic_istream<>&,
basic_string<>&, _CharT)): Use a temporary buffer, thus
avoiding reallocation for common case.
* include/bits/basic_string.tcc (_S_construct(_InIterator,
_InIterator, const _Alloc&, input_iterator_tag)): Tweak size
of temporary buffer to a power of two.
* config/mips/mips-protos.h (mips_linked_macc_p): Declare.
* config/mips/mips.h (TUNE_MACC_CHAINS): New macro.
* config/mips/mips.c (TARGET_SCHED_REORDER): Define.
(TARGET_SCHED_VARIABLE_ISSUE): Define.
(mips_adjust_cost): Move later in file, next to other sched hooks.
(mips_macc_chains_last_hilo): New variable.
(mips_linked_madd_p, mips_macc_chains_record, mips_macc_chains_reorder)
(mips_promote_ready, mips_sched_reorder, mips_variable_issue): New.
* config/mips/mips.md (may_clobber_hilo): New attribute.
Paolo Carlini [Sat, 24 Apr 2004 22:20:31 +0000 (22:20 +0000)]
PR libstdc++/15002 (continued)
2004-04-24 Paolo Carlini <pcarlini@suse.de>
Petur Runolfsson <peturr02@ru.is>
PR libstdc++/15002 (continued)
* include/bits/istream.tcc (basic_istream<>::getline(char_type*,
streamsize, char_type)): Use traits::find/copy in a loop to speed
up greatly the function in the common case (I/O buffer size >> 1).
* include/bits/istream.tcc (getline(basic_istream<>&,
basic_string<>&, _CharT)): Change to use sgetc()/snextc() instead
of sbumpc(), consistently with the other functions, thus also
dealing correctly with the case of exceeded string::max_size().
Paolo Bonzini [Sat, 24 Apr 2004 06:42:54 +0000 (06:42 +0000)]
Makefile.tpl (all-stage1-gcc, [...]): Always relocate gcc and prev-gcc to the original names, even if the build fails.
2004-04-23 Paolo Bonzini <bonzini@gnu.org>
* Makefile.tpl (all-stage1-gcc, all-stage2-gcc, all-stage3-gcc):
Always relocate gcc and prev-gcc to the original names, even
if the build fails.
(new-cleanstrap, new-restage1, new-restage2, new-restage3):
New targets.
Alan Modra [Sat, 24 Apr 2004 06:37:19 +0000 (06:37 +0000)]
re PR target/14960 ([3.4 only] -maltivec affects vector return with -mabi=no-altivec)
PR target/14960
* config/rs6000/rs6000.c (rs6000_stack_info): Rename total_raw_size
to non_fixed_size, and leave out fixed_size from the sum.
(generate_set_vrsave): Correct clobbers.
(rs6000_emit_epilogue): Test TARGET_ALTIVEC with TARGET_ALTIVEC_SAVE.
(rs6000_function_value): Test TARGET_ALTIVEC and TARGET_ALTIVEC_ABI.
(rs6000_libcall_value): Likewise.
* config/rs6000/rs6000.h (FUNCTION_VALUE_REGNO_P): Likewise.
(FUNCTION_ARG_REGNO_P): Likewise.
* Makefile.in: Revert most of Arnaud's last change. Prefer anything
over error-prone Make abuse. Remove temporary debug code.
(gnatlib-zcx): New target.
(gnattools): Split into gnattools-native, gnattools-cross, to fix
previous bug; select which on the basis of default_gnattools_target.
(ada.all.cross): Merged with gnattools-cross target.
* configure.ac: Set default_gnattools_target.
* configure: Regenerate.
expmed.c (expand_mult_highpart_adjust): Do not assume OP1 is a CONST_INT.
* expmed.c (expand_mult_highpart_adjust): Do not assume OP1
is a CONST_INT.
(expand_mult_highpart_optab): Call expand_mult_highpart_adjust
with NARROW_OP1 instead of OP1.
Eric Botcazou [Fri, 23 Apr 2004 22:01:35 +0000 (22:01 +0000)]
re PR rtl-optimization/13985 (ICE in gcc.c-torture/compile/930621-1.c)
PR optimization/13985
* cfgloopmanip.c (fix_loop_placements): New prototype.
Call fix_bb_placements on the preheader of loops that have
been reparented.
(remove_path): Adjust call to fix_loop_placements.
Andrew Pinski [Fri, 23 Apr 2004 17:56:08 +0000 (17:56 +0000)]
darwin7.h: New file.
2004-04-23 Andrew Pinski <pinskia@physics.uc.edu>
* config/darwin7.h: New file.
* config.gcc (*-*-darwin*): Add darwin7.h if the
version is greater than 6.
* config/darwin.h (TARGET_C99_FUNCTIONS): Define.
(MATH_LIBRARY): Wrap in ifdefs.
arm.c (arm_output_epilogue): Reverse the order of loading iWMMXt registers with a frame pointer.
* config/arm/arm.c (arm_output_epilogue): Reverse the order of
loading iWMMXt registers with a frame pointer. Use post-increment
without a frame pointer.
(arm_expand_prologue): Reverse the order of saving iWMMXt registers.
testsuite/
* gcc.c-torture/execute/simd-5.c: New test.
* adaint.c (__gnat_try_lock): No longer requires that the parent
directory be writable, the directory itself is enough.
(gnat_is_absolute_path): Change profile, so that the call from
GNAT.OS_Lib can be made more efficient.
* adaint.h (gnat_is_absolute_path): Change profile, so that the call
from GNAT.OS_Lib can be made more efficient.
* g-os_lib.adb (Is_Absolute_Path): More efficient implementation, avoid
one copy of the file name. Found by code reading.
2004-04-23 Vincent Celier <celier@gnat.com>
* gnat_ugn.texi: Add documentation for gnatmake switch -eL
Correct documentation on gnatmake switches transmitted to the compiler
* ali.ads: Minor comment fix
2004-04-23 Javier Miranda <miranda@gnat.com>
* sem_ch6.adb: (Confirming Types): Code cleanup
* decl.c (gnat_to_gnu_entity): Give support to anonymous access to
subprogram types: E_Anonymous_Access_Subprogram_Type and
E_Anonymous_Access_Protected_Subprogram_Type.
2004-04-23 Thomas Quinot <quinot@act-europe.fr>
* sem_dist.adb: Add a new paramter to the RAS_Access TSS indicating
whether a pragma All_Calls_Remote applies to the subprogram on which
'Access is taken.
No functional change is introduced by this revision; the new parameter
will be used to allow calls to local RCI subprograms to be optimized
to not use the PCS in the case where no pragma All_Calls_Remote applies,
as is already done in the PolyORB implementation of the DSA.
* exp_dist.adb: Add a new paramter to the RAS_Access TSS indicating
whether a pragma All_Calls_Remote applies to the subprogram on which
'Access is taken.
No functional change is introduced by this revision; the new parameter
will be used to allow calls to local RCI subprograms to be optimized
to not use the PCS in the case where no pragma All_Calls_Remote applies,
as is already done in the PolyORB implementation of the DSA.
2004-04-23 Robert Dewar <dewar@gnat.com>
* Makefile.rtl: Add entry for s-addope.o in run time library list
* Make-lang.in: Add entry for s-addope.o to GNAT1 objects
* s-addope.ads, s-addope.adb: New files.
* s-carsi8.adb, s-carun8.adb, s-casi16.adb, s-casi32.adb,
s-casi64.adb, s-caun16.adb, s-caun32.adb, s-caun64.adb,
s-finimp.adb, s-geveop.adb, s-stoele.adb: Modifications to allow
System.Address to be non-private and signed.
* sem_elim.adb: Minor reformatting (fairly extensive)
Some minor code reorganization from code reading
Add a couple of ??? comments
2004-04-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
Paolo Bonzini [Fri, 23 Apr 2004 07:58:23 +0000 (07:58 +0000)]
invoke.texi (Optimize Options): Refer to "unit-at-a-time mode" rather than "-funit-at-a-time" since -O2 enables...
2004-04-23 Paolo Bonzini <bonzini@gnu.org>
* doc/invoke.texi (Optimize Options): Refer to "unit-at-a-time
mode" rather than "-funit-at-a-time" since -O2 enables it
without requiring -f* options. Refer to -fprofile-generate and
-fprofile-use correctly. Move -funit-at-a-time among options
enabled by -O. Add information about unit-at-a-time caveats.
Per Bothner [Fri, 23 Apr 2004 02:22:27 +0000 (19:22 -0700)]
line-map.h (struct line_maps): New field highest_line.
* line-map.h (struct line_maps): New field highest_line.
(linemap_position_for_column): Make non-inline function.
(LINEMAP_POSITION_FOR_COLUMN): New macro.
* line-map.c (linemap_init): Clear highest_line field.
(linemap_add): Set highest_line field.
(linemap_line_start): Minor optimization - use highest_line field.
Reduce maximum column hint to 10000. Update highest_line field.
(linemap_position_for_column): Moved from line-map.h. Optimize a bit.
* cpphash.h (struct cpp_reader): Remove line field - instead use
line_table->highest_line.
(saved_line): Remove unused field.
(CPP_INCREMENT_FILE): Don't do linemap_lookup - just use newest map.
Use line_table's highest_line field instead of cpp_reader's line.
* cpplib.c (start_directive): Likewise use highest_line field.
(do_line, do_linemarker): Likewise just use newest map.
(_cpp_do_file_change): Don't need to set cpp_reader's line field.
* cpperror.c (cpp_error): Likewise use highest_line field.
* cppfiles.c (open_file_failed: Likewise.
(cpp_make_system_header): Likewise use newest map and highest_line.
* cppinit.c (cpp_create_reader): Don't initialize removed field.
* cpplex.c (_cpp_process_line_notes, _cpp_skip_block_comment,
skip_line_comment, skip_whitespace, _cpp_get_fresh_line,
_cpp_lex_direct): Likewise use highest_line.
(_cpp_lex_direct): Use new LINEMAP_POSITION_FOR_COLUMN macro.
* cppmacro.c (_cpp_builtin_macro_text): Likewise use highest_line,
and use newest map.
* cpppch.c (cpp_read_state): Don't save+restore cpp_reader's line.
* cpptrad.c (_cpp_overlay_buffer): Don't save cpp_reader's line.
(copy_comment, _cpp_scan_out_logical_line): Likewise use highest_line.
Mark Mitchell [Thu, 22 Apr 2004 21:29:35 +0000 (21:29 +0000)]
class.c (initialize_array): Don't set TREE_HAS_CONSTRUCTOR on braced initializer.
* class.c (initialize_array): Don't set TREE_HAS_CONSTRUCTOR on
braced initializer.
* cp-tree.h (BRACE_ENCLOSED_INITIALIZER_P): New macro.
* decl.c (reshape_init): Use it.
* init.c (perform_member_init): Remove redundant condition.
(build_aggr_init): Adjust to handle brace-enclosed initializers
correctly.
(expand_default_init): Use BRACE_ENCLOSED_INITIALIZER_P.
* parser.c (cp_parser_initializer_clause): Do not set
TREE_HAS_CONSTRUCTOR on the initializer.
* rtti.c (tinfo_base_init): Likewise.
(generic_initializer): Likewise.
(ptr_initializer): Likewise.
(ptm_initializer): Likewise.
(class_initializer): Likewise.
(get_pseudo_ti_init): Likewise.
* typeck2.c (digest_init): Use BRACE_ENCLOSED_INITIALIZER_P.
Michael Koch [Thu, 22 Apr 2004 18:02:54 +0000 (18:02 +0000)]
[multiple changes]
2004-04-22 Mark Wielaard <mark@klomp.org>
* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c:
Changed C++ comments into C comments.
* native/jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMenuPeer.c:
Likewise.
2004-04-22 Michael Koch <konqueror@gmx.de>
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkPopupMenuPeer.c:
Merged copyright year with GNU classpath.
hashtab.c: Include limits.h, stdint.h, ansidecl.h.
* hashtab.c: Include limits.h, stdint.h, ansidecl.h.
(CHAR_BIT): Provide default.
(struct prime_ent, prime_tab): New.
(higher_prime_index): Rename from higher_prime_number, return index.
(htab_mod_1): New.
(htab_mod, htab_mod_m2): Use it.
(htab_create_alloc, htab_create_alloc_ex): Store prime index.
(htab_expand): Likewise.
* configure.ac: Check for stdint.h.
(UNSIGNED_64BIT_TYPE): New define and checks to fill it in.
* config.in, configure: Rebuild.
Michael Koch [Thu, 22 Apr 2004 07:02:26 +0000 (07:02 +0000)]
[multiple changes]
2004-04-22 Jeroen Frijters <jeroen@sumatra.nl>
* java/net/URLStreamHandler.java
(parseURL): Convert the file path to using '/' instead of native
file separator.
2004-04-22 Guilhem Lavaux <guilhem@kaffe.org>
* java/net/URL.java
(userInfo): New field.
(URL): Set authority to the right value.
(setURL): Fixed authority and file initialization.
* java/net/URLStreamHandler.java
(parseURL): Take care of the query tag. Build authority.
(toExternalForm): Fixed URL building using authority.
natClass.cc (_Jv_LayoutInterfaceMethods): New method.
2004-04-21 Bryce McKinlay <mckinlay@redhat.com>
* java/lang/natClass.cc (_Jv_LayoutInterfaceMethods): New method.
Set method->index values for interface methods to their itable
index.
(initializeClass): Call _Jv_LayoutInterfaceMethods.
Michael Koch [Wed, 21 Apr 2004 15:33:53 +0000 (15:33 +0000)]
2004-04-21 Michael Koch <konqueror@gmx.de>
* java/nio/DirectByteBufferImpl.java
(shiftDown): Made static, give address as argument and
provide a convenience method that overwrites shiftDown in
ByteBufferImpl and calls the native shiftDown.
* java/nio/MappedByteBufferImpl.java
(): Use optimized method in DirectByteBufferImpl.
* java/nio/natDirectByteBufferImpl.cc
(shiftDown): Changed method signature. Removed usage of array_offset.
Andrew Pinski [Wed, 21 Apr 2004 15:27:17 +0000 (15:27 +0000)]
rs6000.c (symbol_ref_operand): Remove hack for TARGET_MACHO.
2004-04-21 Andrew Pinski <pinskia@physics.uc.edu>
* config/rs6000/rs6000.c (symbol_ref_operand): Remove hack
for TARGET_MACHO.
(print_operand): For TARGET_MACHO check to see if we need a stub
and output one if we need it.
* adaint.c (__gnat_portable_spawn): Quote first argument (argv[0])
passed to spawnvp() to properly handle program pathname with spaces on
Win32.
2004-04-21 Emmanuel Briot <briot@act-europe.fr>
* g-debpoo.adb (Print_Info): Avoid extra work if Display_Slots is False.
(Allocate, Deallocate, Free_Physically): Make sure the tasks are
unlocked in case of exceptions.
2004-04-21 Joel Brobecker <brobecker@gnat.com>
* gigi.h (get_target_no_dollar_in_label): Remove extern declaration.
This function does not exist anymore.
2004-04-21 Thomas Quinot <quinot@act-europe.fr>
* gnatbind.adb, gnatlink.adb: Update name of imported C symbol.
* link.c: Move variables to the __gnat name space.
* Makefile.in: list link.o explicitly when needed.
* mlib.adb: Remove pragma Linker_Option for "link.o" from mlib.
2004-04-21 Javier Miranda <miranda@gnat.com>
* einfo.adb (Original_Access_Type): New subprogram
(Set_Original_Access_Type): New subprogram
(Write_Field21_Name): Write the name of the new field
* einfo.ads (Original_Access_Type): New field present in access to
subprogram types.
Addition of two new entities: E_Anonymous_Access_Subprogram_Type, and
E_Anonymous_Access_Protected_Subprogram_Type.
* lib-xref.adb (Output_One_Ref): Give support to anonymous access to
subprogram types.
* lib-xref.ads (Xref_Entity_Letters): Initialize values corresponding
to anonymous access to subprogram types.
* sem_attr.adb (Resolve_Attribute): Give support to anonymous access
to subprogram types.
* sem_ch3.adb (Access_Definition): Complete decoration of entities
corresponding to anonymous access to subprogram types.
(Analyze_Component_Declaration): Add new actual to the call to
subprogram replace_anonymous_access_to_protected_subprogram.
(Array_Type_Declaration): Add new actual to the call to subprogram
replace_anonymous_access_to_protected_subprogram.
(Process_Discriminants): Add new actual to the call to subprogram
replace_anonymous_access_to_protected_subprogram.
(Replace_Anonymous_Access_To_Protected_Subprogram): New formal.
* sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New
formal.
* sem_ch6.adb, sem_type.adb, sem_res.adb: Give support to anonymous
access to subprogram types.
* sem_util.adb (Has_Declarations): Addition of package_specification
nodes.
2004-04-21 Ed Schonberg <schonberg@gnat.com>
* sem_prag.adb (Make_Inline): If subprogram is a renaming, propagate
inlined flags to renamed entity only if in current unit.
2004-04-21 Thomas Quinot <quinot@act-europe.fr>
* s-parint.ads: Add DSA implementation marker.
* rtsfind.ads, rtsfind.adb, snames.ads, snames.adb, s-rpc.adb: Use the
value of System.Partition_Interface.DSA_Implementation to determine
what version of the distributed systems annex is available (no
implementation, GLADE, or PolyORB).
2004-04-21 Joel Brobecker <brobecker@gnat.com>
* targtyps.c (get_target_no_dollar_in_label): Remove, no longer used.
2004-04-21 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* utils.c (convert, case CONSTRUCTOR, COMPONENT_REF): Do not make node
with new type if alias sets differ.
Fixes ACATS c41103b.
2004-04-21 Vincent Celier <celier@gnat.com>
* prj.ads: Remove FORTRAN as an accepted language: not tested yet.
Add array Lang_Args for the language specific compiling argument
switches.
* gnat_ugn.texi: Explain in more details when a library is rebuilt.
2004-04-21 Sergey Rybin <rybin@act-europe.fr>
* gnat_rm.texi: Update the descripton of the Eliminate pragma
according to the recent changes in the format of the parameters of the
pragma (replacing Homonym_Number with Source_Location).
Mark Wielaard [Wed, 21 Apr 2004 05:48:51 +0000 (05:48 +0000)]
JFrame.java: Implement WindowConstants.
2004-04-21 Mark Wielaard <mark@klomp.org>
* javax/awt/JFrame.java: Implement WindowConstants. Remove final
static fields defined in interface.
* javax/awt/JDialog.java: Likewise.
(JDialog): Make constructors public.
(getDefaultCloseOperation): Make public.
(processWindowEvent): Call System.exit(0) when EXIT_ON_CLOSE set.
(setDefaultCloseOperation): Make public. Check argument. Add API doc.
* javax/swing/JViewport.java (JViewport): Make constructor public.
* javax/naming/directory/SearchControls.java:
Don't explicitely extend java.lang.Object.
* javax/naming/spi/DirStateFactory.java:
Merged copyright year with GNU classpath.