PR c++/14808
* defaults.h (TARGET_USE_LOCAL_THUNK_ALIAS_P): New macro. Default
to 1 if ASM_OUTPUT_DEF is defined.
* doc/tm.texi (TARGET_USE_LOCAL_THUNK_ALIAS_P): Document.
* config/i386/cygming.h (TARGET_USE_LOCAL_THUNK_ALIAS_P): Define.
Set to non-zero iff not a one_only decl.
* cp/method.c (use_thunk): Test TARGET_USE_LOCAL_THUNK_ALIAS_P rather
than ASM_OUTPUT_DEF.
From-SVN: r80525
2004-04-08 Joel Sherrill <joel@oarcorp.com>
PR ada/14538
* ada/5rosinte.adb: Remove fake mprotect() body.
* ada/5rosinte.ads: Add SA_SIGINFO.
* ada/5rtpopsp.adb: Rewrite to use new interface.
* ada/init.c: Reorder so the simple single OS conditional __rtems__
is tested before more complex ones which mix UNIX and embedded
systems in the conditional.
From-SVN: r80517
2004-04-08 Joel Sherrill <joel@oarcorp.com>
PR ada/14665
* ada/osint.adb (Find_Program_Name): Rework to properly handle
filenames which end in .exe or have versioning suffixes like VMS.
From-SVN: r80514
2004-04-08 Andrew Pinski <pinskia@physics.uc.edu>
PR target/10129
* config/darwin.c (darwin_encode_section_info): When the decl has
a DECL_INITIAL, it is only defined also when it is not a common.
From-SVN: r80512
2004-04-08 Andrew Pinski <pinskia@physics.uc.edu>
* config/darwin.c (darwin_encode_section_info): When the decl has
a DECL_INITIAL, it is only defined also when it is not a common.
From-SVN: r80511
2004-04-08 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* trans.c (tree_transform): Shortcut returning error_mark_node for
statements in annotate_only_mode.
(tree_transform, case N_Label, case N_Return_Statement,
N_Goto_Statement): Make statement tree instead of generating code.
(tree_transform, case N_Assignment_Statement): No longer check
type_annotate_only.
(gnat_expand_stmt, case GOTO_STMT, case LABEL_STMT, case
RETURN_STMT): New.
(first_nondeleted_insn, build_block_stmt, make_expr_stmt_from_rtl):
New fcns.
(gnat_to_gnu): Collect any RTL generated and deal with it.
(tree_transform, case N_And_Then): Refine when have non-null RTL_EXPR.
(tree_transform case N_If_Statement): Rewrite to make IF_STMT.
(gnat_expand_stmt, case BLOCK_STMT, IF_STMT): New cases.
* ada-tree.def (GOTO_STMT, LABEL_STMT, RETURN_STMT): New tree nodes.
* ada-tree.def (EXPR_STMT): Fix typo in name.
(BLOCK_STMT, IF_STMT): New nodes.
* ada-tree.h (GOTO_STMT_LABEL, LABEL_STMT_LABEL,
LABEL_STMT_FIRST_IN_EH): New macros.
(RETURN_STMT_EXPR): Likewise.
* ada-tree.h: (BLOCK_STMT_LIST, IF_STMT_COND, IF_STMT_TRUE,
IF_STMT_ELSEIF, IF_STMT_ELSE): New macros.
2004-04-08 Thomas Quinot <quinot@act-europe.fr>
* atree.ads: Correct documentation on extended nodes.
* link.c: Set run_path_option for FreeBSD.
2004-04-08 Vincent Celier <celier@gnat.com>
* mlib-prj.adb (Build_Library.Check_Libs): On OpenVMS, if dec.ali is
one of the ALI file, do not link with DEC lib.
* par.adb Remove the last two characters ("%s" or "%b") when checking
if a language defined unit may be recompiled.
2004-04-08 Ed Schonberg <schonberg@gnat.com>
* sem_ch4.adb (Remove_Abstract_Operations): Improve error message when
removal of abstract operation leaves no possible interpretation for
expression.
* sem_eval.adb (Eval_Qualified_Expression): Use
Set_Raises_Constraint_Error on node when needed, so that it does not
get optimized away by subsequent optimizations.
* sem_res.adb (Resolve_Intrinsic_Operator): Save interpretations of
operands even when they are not wrapped in a type conversion.
2004-04-08 Olivier Hainque <hainque@act-europe.fr>
* sem_prag.adb (Set_Exported): Warn about making static as result of
export only when the export is coming from source. This may be not
be true e.g. on VMS where we expand export pragmas for exception codes
together with imported or exported exceptions, and we don't want the
user to be warned about something he didn't write.
2004-04-08 Thomas Quinot <quinot@act-europe.fr>
* sem_util.adb (Note_Possible_Modification): Reorganize to remove code
duplication between normal entities and those declared as renamings.
No functional change.
* s-fileio.ads (Form): Remove pragma Inline, as we cannot currently
inline functions returning an unconstrained result.
2004-04-08 Eric Botcazou <ebotcazou@act-europe.fr>
* utils.c (type_for_mode): Handle BLKmode and VOIDmode properly, to
conform to what other front-ends do.
2004-04-08 Doug Rupp <rupp@gnat.com>
* 5vml-tgt.adb: Use Gas instead of VMS Macro to build auto init shared
libraries.
From-SVN: r80504
2004-04-07 Caroline Tice <ctice@apple.com>
* gcc.c (main): Move 'break' in main loops (on an error)
to wait until error processing has occurred.
From-SVN: r80483
* config/locale/gnu/monetary_members.cc
(moneypunct<wchar_t>::_M_initialize_moneypunct): Prefer
_NL_MONETARY_DECIMAL_POINT_WC, _NL_MONETARY_THOUSANDS_SEP_WC,
and __MON_GROUPING to _NL_NUMERIC_DECIMAL_POINT_WC,
_NL_NUMERIC_THOUSANDS_SEP_WC, and GROUPING.
* config/locale/gnu/numeric_members.cc
(numpunct<char>::_M_initialize_numpunct): Prefer DECIMAL_POINT
and THOUSANDS_SEP to the deprecated RADIXCHAR and THOUSEP.
From-SVN: r80477
PR bootstrap/14760
* configure.in: When computing baseargs, strip *all* copies of
offending options. Also, don't match/substitute the trailing space,
so that this actually works when two similar options are separated by
only one space.
* configure: Regenerate.
From-SVN: r80474
* gcc.dg/compat/struct-by-value-5a_main.c,
gcc.dg/compat/struct-by-value-5b_main.c: New files.
* gcc.dg/compat/struct-by-value-5_main.c: Delete.
* gcc.dg/compat/struct-by-value-5a_x.c,
gcc.dg/compat/struct-by-value-5b_x.c: New, split out from
gcc.dg/compat/struct-by-value-5_x.c.
* gcc.dg/compat/struct-by-value-5a_y.c,
gcc.dg/compat/struct-by-value-5b_y.c: New, split out from
gcc.dg/compat/struct-by-value-5_y.c.
* gcc.dg/compat/struct-by-value-6a_main.c,
gcc.dg/compat/struct-by-value-6b_main.c: New files.
* gcc.dg/compat/struct-by-value-6_main.c: Delete.
* gcc.dg/compat/struct-by-value-6a_x.c,
gcc.dg/compat/struct-by-value-6b_x.c: New, split out from
gcc.dg/compat/struct-by-value-6_x.c.
* gcc.dg/compat/struct-by-value-6a_y.c,
gcc.dg/compat/struct-by-value-6b_y.c: New, split out from
gcc.dg/compat/struct-by-value-6_y.c.
* gcc.dg/compat/struct-by-value-7a_main.c,
gcc.dg/compat/struct-by-value-7b_main.c: New files.
* gcc.dg/compat/struct-by-value-7_main.c: Delete.
* gcc.dg/compat/struct-by-value-7a_x.c,
gcc.dg/compat/struct-by-value-7b_x.c: New, split out from
gcc.dg/compat/struct-by-value-7_x.c.
* gcc.dg/compat/struct-by-value-7a_y.c,
gcc.dg/compat/struct-by-value-7b_y.c: New, split out from
gcc.dg/compat/struct-by-value-7_y.c.
From-SVN: r80472
* 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