* fixinc/inclhack.def (aix_syswait_2): New fix.
* fixinc/fixincl.x: Regenerate.
* fixinc/tests/base/sys/wait.h: Update for new test.
Co-Authored-By: Bruce Korb <bkorb@gnu.org>
From-SVN: r81147
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).
2004-04-24 Paolo Carlini <pcarlini@suse.de>
* testsuite/27_io/basic_istream/getline/char/4.cc: New.
* 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().
Co-Authored-By: Petur Runolfsson <peturr02@ru.is>
From-SVN: r81146
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.
From-SVN: r81130
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.
From-SVN: r81129
* 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.
From-SVN: r81128
* 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.
From-SVN: r81127
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.
From-SVN: r81112
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.
From-SVN: r81100
* 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.
From-SVN: r81092
PR c++/15064
* parser.c (cp_parser_postfix_expression): typeid operator cannot be
used in integral constant expressions.
PR c++/15064
* g++.dg/template/crash18.C: New test.
From-SVN: r81088
2004-04-23 Emmanuel Briot <briot@act-europe.fr>
* 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>
* trans.c (tree_transform, build_unit_elab): Don't call getdecls.
(tree_transform, case N_If_Statement): Remove non-determinism.
* utils.c (begin_subprog_body): Just set DECL_CONTEXT in PARM_DECL.
2004-04-23 Sergey Rybin <rybin@act-europe.fr>
* gnat_rm.texi: Small fixes in the changes made in the 'pragma
Eliminate' section.
* snames.ads, snames.adb: Remove Name_Homonym_Number (Homonym_Number is
no longer used as a parameter name for Eliminate pragma).
From-SVN: r81086
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.
From-SVN: r81082
* 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.
From-SVN: r81074
* 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.
* g++.dg/ext/complit3.C: New test.
From-SVN: r81052
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.
From-SVN: r81042
* 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.
From-SVN: r81029
2004-04-20 Josef Zlomek <zlomekj@suse.cz>
* var-tracking.c (variable_part_different_p): Variable parts
differ when the most recent locations differ.
From-SVN: r81011