* gcc.dg/i386-sse-8.c: Don't use -march=pentium3 on x86_64.
* gcc.dg/i386-local.c: Expect %edi, not %eax register on x86_64.
* gcc.dg/20020103-1.c: Add -fno-asynchronous-unwind-tables to
options.
From-SVN: r80464
2004-04-06 Pascal Obry <obry@gnat.com>
* adaint.c (DIR_SEPARATOR): Properly set DIR_SEPARATOR on Win32.
* osint.adb (Program_Name): Do not look past a directory separator.
2004-04-06 Thomas Quinot <quinot@act-europe.fr>
* atree.adb: Update comment (Rewrite_Substitute_Node no longer exists).
* exp_ch6.adb (Rewrite_Function_Call): Clarify documentation of
requirement for preserving a copy of the original assignment node.
* sinfo.ads: Update comment (Original_Tree -> Original_Node).
2004-04-06 Olivier Hainque <hainque@act-europe.fr>
(__gnat_initialize [Vxworks]): Enable references to the crtstuff bits
when supported.
2004-04-06 Ed Schonberg <schonberg@gnat.com>
* sem_ch4.adb (Remove_Abstract_Operations): Extend previous changes to
operator calls in functional notation, and apply
Universal_Interpretation to operands, not to their type.
2004-04-06 Robert Dewar <dewar@gnat.com>
* 5wdirval.adb: Minor reformatting
2004-04-06 Ed Falis <falis@gnat.com>
* gnat_rm.texi: Improve a reference to the GCC manual
From-SVN: r80453
* config/sh/sh.c (prepare_move_operands): Use emit_call_insn
when the TLS address is generated by a function call.
* config/sh/sh.md (tls_global_dynamic): Use a call expression.
(tls_local_dynamic): Likewise.
From-SVN: r80450
2004-04-05 Paolo Carlini <pcarlini@suse.de>
* include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
The critical section is actually very small, only two assignments.
From-SVN: r80439
2004-04-05 Caroline Tice <ctice@apple.com>
* gcc.c (combine_flag): New global variable, for new driver option.
(struct compiler): Add two new fields, to be used when
combining multiple input files in a single pass (IMA).
(default_compilers): Add values for the new fields to all
compiler entries. Modify the "@c" compiler entry for doing IMA
properly with "-save-temps" and the "combine" flag.
(option_map): Add new driver option, "--combine", to tell driver
to pass multiple input files to compiler at one time.
(have_o_argbuf_index): New global variable.
(store_arg): Modify to assign value to have_o_argbuf_index.
(struct infile): Add three new fields, to help with IMA.
(display_help): Add help for new "combine" option.
(process_command): Remove local variable have_o; add code to check
for new "combine" option; remove assignment to combine_inputs.
(do_spec_1): Modify to deal with IMA better.
(main): Make variable 'lang_n_infiles' local to entire function
rather than to a single block. Use flag combine_flag to
determine whether to do IMA or not; Modify loop initializing
infiles to deal properly with linker files.
Add code for doing preprocessing in presence of
IMA with "-save-temps" flag. Modify "main" loop to handle
multiple input files, in multiple languages, with or without
preprocessing, gracefully.
* toplev.c (set_src_pwd): Modify to not complain if attempting to
re-set it to same directory it's previously been set to (avoid
irritating, meaningless warning messages when doing IMA with
save-temps).
* doc/invoke.texi: Add "-combine" to list of Overall Options;
remove documentation about IMA that is no longer accurate; Add
documentation explaining what "-combine" does.
* ada/lang-specs.h: Add initialization values for new fields in
"struct compiler".
* cp/lang-specs.h: Likewise.
* f/lang-specs.h: Likewise.
* java/lang-specs.h: Likewise.
* objc/lang-specs.h: Likewise.
* treelang/lang-specs.h: Likewise.
Fix gcc driver to work properly with IMI.
From-SVN: r80435
* config/rs6000/rs6000.c (VTABLE_NAME_P): Add _ZTI to special
symbol handling.
Co-Authored-By: John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
From-SVN: r80434
PR optimization/13424 (hppa), bootstrap/14462, c/14828
* pa.md: Use replace_equiv_address to retain the attributes of the
memory operands used in the split and peephole2 patterns for optimizing
the pre-reload movstrsi, movstrdi, clrstrsi and clrstrdi patterns.
Co-Authored-By: John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
From-SVN: r80433
2004-04-05 Vincent Celier <celier@gnat.com>
* adaint.h, adaint.c: Add function __gnat_named_file_length
* impunit.adb: Add Ada.Directories to the list
* Makefile.in: Add VMS and Windows versions of
Ada.Directories.Validity package body.
* Makefile.rtl: Add a-direct and a-dirval
* mlib-tgt.ads: Minor comment update.
* a-dirval.ads, a-dirval.adb, 5vdirval.adb, 5wdirval.adb,
a-direct.ads, a-direct.adb: New files.
2004-04-05 Vincent Celier <celier@gnat.com>
PR ada/13620
* make.adb (Scan_Make_Arg): Pass any -fxxx switches to gnatlink, not
just to the compiler.
2004-04-05 Robert Dewar <dewar@gnat.com>
* a-except.adb (Exception_Name_Simple): Make sure lower bound of
returned string is 1.
* ali-util.adb: Use proper specific form for Warnings (Off, entity)
* eval_fat.ads: Minor reformatting
* g-curexc.ads: Document that lower bound of returned string values
is always one.
* gnatlink.adb: Add ??? comment for previous change
(need to document why this is VMS specific)
* s-stoele.ads: Minor reformatting
* tbuild.ads: Minor reformatting throughout (new function specs)
* par-ch10.adb (P_Context_Clause): Handle comma instead of semicolon
after WITH.
* scng.adb: Minor reformatting
2004-04-05 Geert Bosch <bosch@gnat.com>
* eval_fat.adb (Machine): Remove unnecessary suppression of warning.
(Leading_Part): Still perform truncation to machine number if the
specified radix_digits is greater or equal to machine_mantissa.
2004-04-05 Javier Miranda <miranda@gnat.com>
* par-ch3.adb: Complete documentation of previous change
Correct wrong syntax documentation of the OBJECT_DECLARATION rule
(aliased must appear before constant).
* par-ch4.adb: Complete documentation of previous change.
* par-ch6.adb: Complete documentation of previous change.
* sinfo.ads: Fix typo in commment.
2004-04-05 Ed Schonberg <schonberg@gnat.com>
* sem_ch3.adb (Inherit_Components): If derived type is private and has
stored discriminants, use its discriminants to constrain parent type,
as is done for non-private derived record types.
* sem_ch4.adb (Remove_Abstract_Operations): New subprogram to implement
Ada 2005 AI-310: an abstract non-dispatching operation is not a
candidate interpretation in an overloaded call.
* tbuild.adb (Unchecked_Convert_To): Preserve conversion node if
expression is Null and target type is not an access type (e.g. a
non-private address type).
2004-04-05 Thomas Quinot <quinot@act-europe.fr>
* exp_ch6.adb (Rewrite_Function_Call): When rewriting an assignment
statement whose right-hand side is an inlined call, save a copy of the
original assignment subtree to preserve enough consistency for
Analyze_Assignment to proceed.
* sem_ch5.adb (Analyze_Assignment): Remove a costly copy of the
complete assignment subtree which is now unnecessary, as the expansion
of inlined call has been improved to preserve a consistent assignment
tree. Note_Possible_Modification must be called only
after checks have been applied, or else unnecessary checks will
be generated.
* sem_util.adb (Note_Possible_Modification): Reorganise the handling
of explicit dereferences that do not Come_From_Source:
- be selective on cases where we must go back to the dereferenced
pointer (an assignment to an implicit dereference must not be
recorded as modifying the pointer);
- do not rely on Original_Node being present (Analyze_Assignment
calls Note_Possible_Modification on a copied tree).
* sem_warn.adb (Check_References): When an unset reference to a pointer
that is never assigned is encountered, prefer '<pointer> may be null'
warning over '<pointer> is never assigned a value'.
2004-04-05 Ramon Fernandez <fernandez@gnat.com>
* tracebak.c: Change STOP_FRAME in ppc vxworks to be compliant with
the ABI.
2004-04-05 Olivier Hainque <hainque@act-europe.fr>
* 5gmastop.adb (Pop_Frame): Comment out the pragma Linker_Option for
libexc. We currently don't reference anything in this library and
linking it in triggers linker warnings we don't want to see.
* init.c: Update comments.
From-SVN: r80431
* c-decl.c (build_compound_literal): Use TYPE_READONLY.
* emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise.
* objc/objc-act.c (adorn_decl, gen_declspecs): Likewise.
* c-typeck.c (decl_constant_value): Don't access DECL_INITIAL of a
PARM_DECL.
* calls.c (flags_from_decl_or_type): Use TYPE_READONLY and do so only
for a type.
* print-tree.c (print_node): Properly handle side-effects, readonly,
and constant flags.
* tree.c (build1_stat, build_expr_wfl): Only look at TREE_SIDE_EFFECTS
and TREE_CONSTANT if not a type.
* tree.h (IS_NON_TYPE_CODE_CLASS): New macro.
(IS_EXPR_CODE_CLASS): Write 'E', not 'e'.
(NON_TYPE_CHECK): New macro.
(TREE_SIDE_EFFECT, TREE_READONLY, TREE_CONSTANT: Add check.
* cp/init.c (decl_constant_value): Don't look at DECL_INITIAL
of PARM_DECL.
* cp/tree.c (bot_manip, build_min): Don't look at TREE_CONSTANT
or TREE_SIDE_EFFECTS of a type.
* ada/decl.c (gnat_to_gnu_entity): Use TYPE_READONLY.
* ada/utils.c (create_field_decl): Likewise.
* ada/utils2.c (build_unary_op, gnat_build_constructor): Likewise.
From-SVN: r80430
* config/sparc/sol2-bi.h (PREFERRED_DEBUGGING_TYPE): Set
to DWARF2_DEBUG unconditionally.
(ASM_DEBUG_SPEC): Set the default to --gdwarf2 unconditionally.
From-SVN: r80425
PR target/14548
* config.host: Set the shell variable host_can_use_collect2.
Set it to yes by default, and to no for alpha*-dec-*vms*,
i[34567]86-*-mingw32*, and powerpc-*-beos*.
* configure.ac: Set and substitute the shell variable collect2.
Give an error if use_collect2 is yes and host_can_use_collect2 is
no.
* Makefile.in (COLLECT2): Rename from USE_COLLECT2. Change all
uses. Initialize to @collect2@.
(STAGESTUFF): Remove $(USE_COLLECT2).
* config/alpha/x-vms (USE_COLLECT2): Don't set.
* config/i386/t-mingw32 (USE_COLLECT2): Likewise.
* config/rs6000/t-beos (USE_COLLECT2): Likewise.
* config/pa/t-pa64: Remove commented out USE_COLLECT2.
* configure: Regenerate.
Co-Authored-By: Nathanael Nerode <neroden@gcc.gnu.org>
From-SVN: r80422
2004-04-03 Paolo Carlini <pcarlini@suse.de>
* include/ext/mt_allocator.h (__mt_alloc<>::allocate): Factor out
some duplicated code.
(__mt_alloc<>::_Bin_record): Spare the space of _M_free and _M_used
in the single threaded case.
* testsuite/performance/20_util/allocator/list_sort_search.cc:
Reorder and renumber the tests consistently with the other testfiles.
* testsuite/performance/20_util/allocator/map_mt_find.cc: Ditto.
* testsuite/performance/20_util/allocator/map_thread.cc: Ditto.
* testsuite/performance/20_util/allocator/producer_consumer.cc: Ditto.
From-SVN: r80375
2004-04-02 Gabor Loki <loki@inf.u-szeged.hu>
* opts.c (decode_options): Do function inlining with very small
max-inline-insns-* parameters when optimizing for size.
From-SVN: r80359
2004-04-02 Paolo Carlini <pcarlini@suse.de>
* include/ext/mt_allocator.h (__mt_alloc<>::deallocate):
Rearrange arithmetic to avoid computing two divisions at
each deallocation.
From-SVN: r80356
* gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Remove RCS tags.
Replace ifinfo by ifnottex, to make makeinfo --html happy again.
Add info directory entry and category.
From-SVN: r80349
PR target/14040
* genemit.c (gen_split): Change prototype of generated code.
* genrecog.c (write_action): Adjust prototype for and calls to
gen_split_*.
* gensupport.c (struct queue_elem): Add split field.
(queue_pattern): Return a value. Clear the split field.
(process_rtx): Maintain an association between an insn and the
split generated from it for a define_insn_and_split.
(process_one_cond_exec): Generate a new split for a
define_insn_and_split.
* config/arm/arm-protos.h (arm_split_constant): Add insn
parameter.
(emit_constant_insn): New function.
(arm_gen_constant): Use it.
* config/arm/arm.md: Adjust calls to arm_split_constant.
From-SVN: r80335