platform/upstream/linaro-gcc.git
17 years ago2007-08-16 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Thu, 16 Aug 2007 12:21:07 +0000 (12:21 +0000)]
2007-08-16  Hristian Kirtchev  <kirtchev@adacore.com>
    Bob Duff  <duff@adacore.com>
    Nicolas Setton  <setton@adacore.com>

* sem_res.adb (Comes_From_Predefined_Lib_Unit): New.
(Resolve): Alphabetize local variables. Add new variable From_Lib. When
the statement which is being resolved comes from a predefined library
unit, all non-predefined library interpretations are skipped.
(Resolve_Op_Concat): If string concatenation was folded in the parser,
but the "&" is user defined, give an error, because the folding would
be wrong.

* sinfo.ads, sinfo.adb (Is_Folded_In_Parser): New flag to indicate that
the parser has folded a long sequence of concatenations of string
literals.

* trans.c (Handled_Sequence_Of_Statements_to_gnu): Mark "JMPBUF_SAVE"
and "JMP_BUF" variables as artificial.
(N_String_Literal): Do not use alloca for very long string literals. Use
xmalloc/free instead. Otherwise the stack might overflow.

* utils.c (init_gigi_decls): Mark "JMPBUF_T" type as created by the
compiler.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127550 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-08-16 Ed Schonberg <schonberg@adacore.com>
charlet [Thu, 16 Aug 2007 12:20:50 +0000 (12:20 +0000)]
2007-08-16  Ed Schonberg  <schonberg@adacore.com>

* sem_disp.adb (Check_Dispatching_Operation): If the operation
implements an operation inherited from a progenitor interface, verify
that they are subtype-conformant.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127549 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-08-16 Robert Dewar <dewar@adacore.com>
charlet [Thu, 16 Aug 2007 12:20:32 +0000 (12:20 +0000)]
2007-08-16  Robert Dewar  <dewar@adacore.com>

* sem_ch5.adb (Analyze_Assignment): Make sure we still note update in
exception case

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127548 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-08-16 Gary Dismukes <dismukes@adacore.com>
charlet [Thu, 16 Aug 2007 12:20:13 +0000 (12:20 +0000)]
2007-08-16  Gary Dismukes  <dismukes@adacore.com>
    Javier Miranda  <miranda@adacore.com>

* sem_ch3.adb (OK_For_Limited_Init_In_05): Allow calls to 'Input to
initialize a limited object.
(Build_Derived_Record_Type): Add missing check of rules ARM 3.9.4
13/2 and 14/2.
Make sure Has_Complex_Representation is inherited by derived type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127547 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-08-16 Ed Schonberg <schonberg@adacore.com>
charlet [Thu, 16 Aug 2007 12:20:00 +0000 (12:20 +0000)]
2007-08-16  Ed Schonberg  <schonberg@adacore.com>

* sem_ch12.adb (Copy_Generic_Node): A reference to a child unit of the
generic for an enclosing instance is a global reference, even though
its scope is the enclosing instance.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127546 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-08-16 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Thu, 16 Aug 2007 12:19:50 +0000 (12:19 +0000)]
2007-08-16  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch10.adb (Has_With_Clause): If the name of the with clause
currently inspected is a selected component, retrieve the entity of
its selector.
(Install_Limited_Withed_Unit): Call Has_Limited_With_Clause starting
from the immediate ancestor of Main_Unit_Entity.
(Install_Limited_Withed_Unit): Do not install the limited view of
package P if P is reachable through an ancestor chain from package C
and C also has a with clause for P in its body.
(Has_Limited_With_Clause): New routine.
(Has_With_Clause): New routine.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127545 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-08-16 Vincent Celier <celier@adacore.com>
charlet [Thu, 16 Aug 2007 12:19:39 +0000 (12:19 +0000)]
2007-08-16  Vincent Celier  <celier@adacore.com>

* prj.ads (Project_Data): Add comments.

* prj-attr.adb: New attribute Removed_Source_Dirs

* prj-nmsc.adb (Get_Directories): Take into account new attribute
Removed_Source_Dirs

* snames.ads, snames.adb: New standard name Removed_Source_Dirs

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127544 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-08-16 Nicolas Roche <roche@adacore.com>
charlet [Thu, 16 Aug 2007 12:19:24 +0000 (12:19 +0000)]
2007-08-16  Nicolas Roche  <roche@adacore.com>

* Makefile.in (gnatlib): Propagate FORCE_DEBUG_ADAFLAGS value to sub
makefiles

* Make-lang.in: Update dependencies

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127543 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-08-16 Vincent Celier <celier@adacore.com>
charlet [Thu, 16 Aug 2007 12:19:13 +0000 (12:19 +0000)]
2007-08-16  Vincent Celier  <celier@adacore.com>

* make.adb (Collect_Arguments): Call Test_If_Relative_Path with
Including_Non_Switch set to False.
(Gnatmake): For the compiler, call Test_If_Relative_Path with
Including_Non_Switch set to False.

* makeutl.adb, makeutl.ads (Test_If_Relative_Path): New Boolean
parameter Including_Non_Switch, defaulted to True. When
Including_Non_Switch is False, options that are not switches and
appear as relative path are not converted to absolute paths.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127542 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-08-16 Thomas Quinot <quinot@adacore.com>
charlet [Thu, 16 Aug 2007 12:19:02 +0000 (12:19 +0000)]
2007-08-16  Thomas Quinot  <quinot@adacore.com>

* g-dyntab.adb, g-table.adb, table.adb: (Set_Item): Suppress
Range_Check on Allocated_Table.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127541 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-08-16 Javier Miranda <miranda@adacore.com>
charlet [Thu, 16 Aug 2007 12:18:37 +0000 (12:18 +0000)]
2007-08-16  Javier Miranda  <miranda@adacore.com>

* exp_ch9.adb (Build_Protected_Entry): Undo previous change because it
is not really required and can introduce regression with the debugger.
The original problem is fixed with the patch written for checks.adb.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127540 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-08-16 Javier Miranda <miranda@adacore.com>
charlet [Thu, 16 Aug 2007 12:18:26 +0000 (12:18 +0000)]
2007-08-16  Javier Miranda  <miranda@adacore.com>

* exp_attr.adb (Attribute_Priority): Add missing support for entries
and entry barriers.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127539 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-08-16 Gary Dismukes <dismukes@adacore.com>
charlet [Thu, 16 Aug 2007 12:18:16 +0000 (12:18 +0000)]
2007-08-16  Gary Dismukes  <dismukes@adacore.com>
    Ed Schonberg  <schonberg@adacore.com>
    Javier Miranda  <miranda@adacore.com>

* exp_aggr.adb (Build_Record_Aggr_Code): Extend the test for an
ancestor part given by an aggregate to test for an unchecked conversion,
since this can occur in some cases when the ancestor part is a function
call, and we don't want to fall into the recursive call to this
procedure in that case.

* exp_ch3.adb (Stream_Operation_OK): Revise tests for availability of
stream attributes on limited types to account for user-specified
attributes as well as whether Input (resp. Output) becomes available
due to Read (resp. Write) being available for the type. Change Boolean
variable to the more accurate name
Has_Predefined_Or_Specified_Stream_Attribute. Change convoluted
double-"not" predicate at beginning of return statement to more
understandable form.

* exp_ch5.adb (Expand_N_Extended_Return_Statement): If the extended
return has an associated N_Handled_Sequence_Of_Statements, then wrap it
in a block statement and use that as the first statement of the
expanded return rather than incorrectly using the handled sequence as
the first statement.

* exp_ch6.adb (Expand_N_Subprogram_Declaration): If this is a protected
operation, generate an explicit freeze node for it rather than
generating extra formals, to ensure that gigi has the proper order of
elaboration for anonymous subtypes in the signature of the subprograms.
(Build_In_Place_Formal): Move assertion to beginning of loop.
(Is_Build_In_Place_Function_Call): Allow for an unchecked conversion
applied to a function call (occurs for some cases of 'Input).
(Make_Build_In_Place_Call_In_*): Allow for an unchecked conversion
applied to a function call (occurs for some cases of 'Input).

* exp_strm.adb (Build_Record_Or_Elementary_Input_Function): For Ada
2005, generate an extended return statement enclosing the result object
and 'Read call.

* freeze.adb (Freeze_Record_Type): Extend the current management of
components that are access type with an allocator as default value: add
missing support to the use of qualified expressions of the
allocator (which also cause freezing of the designated type!)
(Freeze_Entity): Call Freeze_Subprogram in the case of a predefined
dispatching operation, since extra formals may be needed by calls to
build-in-place functions (such as stream 'Input).

* sem_ch6.adb (Create_Extra_Formals): Skip creation of the extra
formals for 'Constrained and accessibility level in the case of a
predefined dispatching operation.

* exp_util.adb (Insert_Actions): A protected body is a valid insertion
point, no need to find the parent node.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127538 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-08-16 Gary Dismukes <dismukes@adacore.com>
charlet [Thu, 16 Aug 2007 12:17:54 +0000 (12:17 +0000)]
2007-08-16  Gary Dismukes  <dismukes@adacore.com>

* cstand.adb (Create_Standard): Create an entity for a zero-sized type
associated with Standard_Debug_Renaming_Type, to be used as the type of
the special variables whose names provide debugger encodings for
renaming declarations.

* einfo.ads, einfo.adb (Debug_Renaming_Link): Change to return Node25.
(Set_Debug_Renaming_Link): Change to set Node25.
(Write_Field13_Name): Remove case for E_Enumeration_Literal.
(Write_Field25_Name): Add case for E_Variable to output
"Debug_Renaming_Link".
(Write_Field23_Name): Correct the output string for "Limited_View".

* exp_dbug.adb: Add with and use of Tbuild.
(Debug_Renaming_Declaration): Replace creation of an enumeration type
and literal with creation of a variable of type
Standard_Debug_Renaming_Type whose name encodes both the renamed object
and the entity of the renaming declaration.
(Qualify_Entity_Name): Add the delayed qualification of the entity name
part of the name of a variable that has a Debug_Renaming_Link.

* stand.ads (Standard_Debug_Renaming_Type): New Entity_Id denoting a
special type to be associated with variables that provide debugger
encodings for renaming declarations.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127537 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agogcc/
rsandifo [Thu, 16 Aug 2007 10:16:15 +0000 (10:16 +0000)]
gcc/
PR middle-end/32897
* reload.c (find_reloads): Check that the memory returned by
find_reloads_toplev was not the result of forcing a constant
to memory.
(find_reloads_toplev): Always use simplify_gen_subreg to get
the subreg of a constant.  If the result is also a constant,
but not a legitimate one, force it into the constant pool
and reload its address.

gcc/testsuite/
* gcc.dg/torture/pr32897.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127536 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago/cp
paolo [Thu, 16 Aug 2007 09:05:17 +0000 (09:05 +0000)]
/cp
2007-08-16  Paolo Carlini  <pcarlini@suse.de>

PR c++/31132
* pt.c (tsubst_friend_function): When check_classfn
returns error_mark_node likewise return it.

/testsuite
2007-08-16  Paolo Carlini  <pcarlini@suse.de>

PR c++/31132
* g++.dg/template/crash69.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127535 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoAdd test cases
charlet [Thu, 16 Aug 2007 08:18:31 +0000 (08:18 +0000)]
Add test cases

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127534 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoAdd test cases.
charlet [Thu, 16 Aug 2007 08:06:48 +0000 (08:06 +0000)]
Add test cases.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127533 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * config/rs6000/rs6000.c (rs6000_rtx_costs): Add CLZ, CTZ, and
dje [Thu, 16 Aug 2007 00:40:27 +0000 (00:40 +0000)]
    * config/rs6000/rs6000.c (rs6000_rtx_costs): Add CLZ, CTZ, and
        POPCOUNT.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127532 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoDaily bump.
gccadmin [Thu, 16 Aug 2007 00:17:49 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127530 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-08-16 Samuel Thibault <samuel.thibault@ens-lyon.org>
doko [Wed, 15 Aug 2007 22:49:49 +0000 (22:49 +0000)]
2007-08-16  Samuel Thibault  <samuel.thibault@ens-lyon.org>

        * configure.host (gnu*): Set use_libgcj_bc to yes.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127527 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * config/rs6000/rs6000.c (rs6000_file_start): Output a .gnu_attribute
drow [Wed, 15 Aug 2007 22:29:25 +0000 (22:29 +0000)]
* config/rs6000/rs6000.c (rs6000_file_start): Output a .gnu_attribute
directive for the current vector ABI.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127526 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago PR target/32963
sje [Wed, 15 Aug 2007 20:08:43 +0000 (20:08 +0000)]
PR target/32963
caller-save.c (reg_save_code): Set invalide status on restore code.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127523 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * lib/target-supports.exp (check_effective_target_arm32): Use
drow [Wed, 15 Aug 2007 17:44:51 +0000 (17:44 +0000)]
* lib/target-supports.exp (check_effective_target_arm32): Use
check_no_compiler_messages.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127522 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * tree-ssa-alias.c (compute_memory_partitions): Use
dnovillo [Wed, 15 Aug 2007 17:37:33 +0000 (17:37 +0000)]
* tree-ssa-alias.c (compute_memory_partitions): Use
alias_bitmap_obstack to allocate bitmaps.
(reset_alias_info): Factor out of init_alias_info.
Mark all name tags not associated to an SSA name for renaming.
(init_alias_info): Call it.
(create_name_tags): Tidy.  Add comments.
(dump_points_to_info_for): Do not call get_mem_sym_stats_for.

testsuite/ChangeLog

gcc.dg/tree-ssa/20070815.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127520 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * java/lang/Class.java (internalGetFields): Use LinkedHashSet.
tromey [Wed, 15 Aug 2007 16:56:17 +0000 (16:56 +0000)]
* java/lang/Class.java (internalGetFields): Use LinkedHashSet.
* classpath/lib/java/lang/Class.class: Rebuilt.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127518 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * config/mips/mips.c (vr4130_swap_insns_p): Use new interface to
mkuvyrkov [Wed, 15 Aug 2007 13:42:55 +0000 (13:42 +0000)]
* config/mips/mips.c (vr4130_swap_insns_p): Use new interface to
scheduler dependencies.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127516 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * config/i386/i386.md (subsi3_carry_zext): Remove "m" constraint for
rask [Wed, 15 Aug 2007 13:36:21 +0000 (13:36 +0000)]
* config/i386/i386.md (subsi3_carry_zext): Remove "m" constraint for
"register_operand".
(*iorsi_1_zext): Likewise.
(*iorsi_1_zext_imm): Likewise.
* config/i386/sse.md: (*sse4_1_extractps): Use "nonimmediate_operand"
with "rm"/"xm" constraint.
(sse2_vmsqrtv2df2): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127515 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago PR target/32765
fxcoudert [Wed, 15 Aug 2007 13:11:40 +0000 (13:11 +0000)]
PR target/32765
* testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
* testsuite/libgomp.fortran/crayptr2.f90: Likwise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127514 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago PR fortran/29459
fxcoudert [Wed, 15 Aug 2007 12:39:18 +0000 (12:39 +0000)]
PR fortran/29459
* trans.c (gfc_create_var_np): Do not emit warnings for
anonymous variables.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127513 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago PR fortran/33077
fxcoudert [Wed, 15 Aug 2007 12:35:57 +0000 (12:35 +0000)]
PR fortran/33077
* intrinsics/random.c (random_seed_i8): Fix code logic.
* gfortran.dg/random_7.f90: Initialize variable.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127512 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago PR middle-end/33074
jakub [Wed, 15 Aug 2007 12:11:38 +0000 (12:11 +0000)]
PR middle-end/33074
* emit-rtl.c (try_split): Use INSN_LIST instead of EXPR_LIST for
REG_LIBCALL note.

* gfortran.dg/pr33074.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127511 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago PR c++/32992
jakub [Wed, 15 Aug 2007 12:08:42 +0000 (12:08 +0000)]
PR c++/32992
* typeck.c (check_return_expr): Don't NRV optimize vars in
anonymous unions.
* decl.c (finish_function): Comment fix.

* g++.dg/opt/nrv14.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127510 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * ChangeLog: Remove gcc/ prefix from file names.
uros [Wed, 15 Aug 2007 09:21:06 +0000 (09:21 +0000)]
* ChangeLog: Remove gcc/ prefix from file names.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127509 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago/cp
paolo [Wed, 15 Aug 2007 09:06:42 +0000 (09:06 +0000)]
/cp
2007-08-15  Paolo Carlini  <pcarlini@suse.de>

PR c++/33035
* pt.c (push_template_decl_real): Depending on TYPE_P
use either TYPE_CONTEXT or DECL_CONTEXT.

/testsuite
2007-08-15  Paolo Carlini  <pcarlini@suse.de>

PR c++/33035
* g++.dg/template/crash68.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127508 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-08-15 Samuel Thibault <samuel.thibault@ens-lyon.org>
doko [Wed, 15 Aug 2007 08:19:32 +0000 (08:19 +0000)]
2007-08-15  Samuel Thibault  <samuel.thibault@ens-lyon.org>

        * java/lang/natPosixProcess.cc (sigchld_handler) [!SA_SIGINFO]: Remove
        'si' and 'third' parameters.  Disable calling
        pmi->old_sigaction.sa_sigaction.
        (java::lang::PosixProcess*ProcessManager::init) [!SA_SIGINFO]: Set
        sa.sa_handler instead of sa.sa_sigaction, don't set SA_SIGINFO flag.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127507 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago* include/private/gcconfig.h: Handle mips64-linux n64 ABI.
daney [Wed, 15 Aug 2007 06:42:16 +0000 (06:42 +0000)]
* include/private/gcconfig.h: Handle mips64-linux n64 ABI.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127506 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * gcc.dg/sibcall-3.c: Remove m68k from XFAIL list.
mkuvyrkov [Wed, 15 Aug 2007 04:15:31 +0000 (04:15 +0000)]
* gcc.dg/sibcall-3.c: Remove m68k from XFAIL list.
* gcc.dg/sibcall-4.c: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127505 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoRemove stray conflict marker.
bje [Wed, 15 Aug 2007 00:40:52 +0000 (00:40 +0000)]
Remove stray conflict marker.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127504 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoDaily bump.
gccadmin [Wed, 15 Aug 2007 00:17:12 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127502 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * semantics.c (finish_omp_clauses): Strip a NOP_EXPR if
kazu [Wed, 15 Aug 2007 00:02:44 +0000 (00:02 +0000)]
* semantics.c (finish_omp_clauses): Strip a NOP_EXPR if
constructors and destructors return this.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127499 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago PR fortran/33066
fxcoudert [Tue, 14 Aug 2007 23:26:23 +0000 (23:26 +0000)]
PR fortran/33066

* decl.c (gfc_get_type_attr_spec): Fix whitespace.
(gfc_match_derived_decl): Fix logic.

* gfortran.dg/use_8.f90: New test.
* gfortran.dg/c_loc_tests_2.f03: Fix code.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127497 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago PR fortran/33073
fxcoudert [Tue, 14 Aug 2007 22:40:00 +0000 (22:40 +0000)]
PR fortran/33073
* trans-intrinsic.c (build_fixbound_expr): Convert to result type
in all cases.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127494 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago/cp
paolo [Tue, 14 Aug 2007 22:13:45 +0000 (22:13 +0000)]
/cp
2007-08-14  Paolo Carlini  <pcarlini@suse.de>

PR c++/27211
* decl2.c (check_classfn): Return error_mark_node in case of error;
in that case, do not call add_method.
* decl.c (start_decl): Deal with check_classfn returning
error_mark_node.
(grokfndecl): Likewise.
* pt.c (tsubst_friend_function): Likewise.

/testsuite
2007-08-14  Paolo Carlini  <pcarlini@suse.de>

PR c++/27211
* g++.dg/template/error27.C: New.
* g++.dg/template/error28.C: New.
* g++.dg/other/pr28304.C: Adjust.
* g++.old-deja/g++.mike/p811.C: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127493 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago/cp
paolo [Tue, 14 Aug 2007 22:07:31 +0000 (22:07 +0000)]
/cp
2007-08-14  Paolo Carlini  <pcarlini@suse.de>

PR c++/27211
* decl2.c (check_classfn): Return error_mark_node in case of error;
in that case, do not call add_method.
* decl.c (start_decl): Deal with check_classfn returning
error_mark_node.
(grokfndecl): Likewise.
* pt.c (tsubst_friend_function): Likewise.

/testsuite
2007-08-14  Paolo Carlini  <pcarlini@suse.de>

PR c++/27211
* g++.dg/template/error27.C: New.
* g++.dg/template/error28.C: New.
* g++.dg/other/pr28304.C: Adjust.
* g++.old-deja/g++.mike/p811.C: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127492 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-08-14 Daniel Berlin <dberlin@dberlin.org>
dberlin [Tue, 14 Aug 2007 20:52:47 +0000 (20:52 +0000)]
2007-08-14  Daniel Berlin  <dberlin@dberlin.org>

* tree-pass.h (PROP_pta): Removed.
(TODO_rebuild_alias): New.
(pass_may_alias): Removed.
* tree-ssa-ccp.c (execute_fold_all_builtins): Only rebuild
aliasing if we changed something.
* tree-ssa-alias.c (compute_may_aliases): Make non-static.  Update
SSA internally.
(pass_may_alias): Removed.
(create_structure_vars): Return TODO_rebuild_alias.
* tree-ssa-pre.c (do_pre): Return TODO_rebuild_alias.
* tree-sra.c (tree_sra): Only rebuild aliasing if something
changed.
(tree_sra_early): We never affect aliasing right now.
* tree-flow.h (compute_may_aliases): New prototype.
* passes.c: Remove pass_may_alias from the passes.
(execute_function_todo): Support TODO_rebuild_alias.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127491 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * i386.c: (legitimize_address): Move dllimported variable check
hubicka [Tue, 14 Aug 2007 18:24:48 +0000 (18:24 +0000)]
* i386.c: (legitimize_address): Move dllimported variable check
infront of legitimizing pic address of CONST symbols.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127488 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago PR tree-optimization/32941
sje [Tue, 14 Aug 2007 18:12:34 +0000 (18:12 +0000)]
PR tree-optimization/32941
* tree-eh.c (struct leh_tf_state): Add goto_queue_map field.
(goto_queue_cmp): Remove.
(find_goto_replacement): Change search method.
(maybe_record_in_goto_queue): Add assert.
(lower_try_finally): Remove qsort call, add pointer_map_destroy call.
* Makefile.in (tree-eh.o): Add pointer-set.h dependency.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127487 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * alias.c (component_uses_parent_alias_set): Constify.
ghazi [Tue, 14 Aug 2007 15:18:11 +0000 (15:18 +0000)]
* alias.c (component_uses_parent_alias_set): Constify.
* alias.h (component_uses_parent_alias_set): Likewise.
* cfgrtl.c (print_rtl_with_bb): Likewise.
* double-int.c (tree_to_double_int, double_int_fits_to_tree_p,
mpz_get_double_int): Likewise.
* double-int.h (double_int_fits_to_tree_p, tree_to_double_int,
mpz_get_double_int): Likewise.
* expr.c (is_aligning_offset, undefined_operand_subword_p,
mostly_zeros_p, all_zeros_p, safe_from_p, is_aligning_offset):
Likewise.
* expr.h (safe_from_p): Likewise.
* gimple-low.c (try_catch_may_fallthru, block_may_fallthru):
Likewise.
* gimplify.c (should_carry_locus_p, zero_sized_field_decl,
zero_sized_type, goa_lhs_expr_p): Likewise.
* omp-low.c (is_variable_sized, use_pointer_for_field): Likewise.
* rtl.h (print_rtl_with_bb): Likewise.
* sched-vis.c (print_exp, print_value, print_pattern): Likewise.
* tree-cfg.c (const_first_stmt, const_last_stmt): New.
* tree-flow-inline.h (bb_stmt_list): Constify.
(cbsi_start, cbsi_last, cbsi_end_p, cbsi_next, cbsi_prev,
cbsi_stmt): New.
* tree-flow.h (const_block_stmt_iterator, cbsi_start, cbsi_last,
const_first_stmt, const_last_stmt): New.
(block_may_fallthru, empty_block_p): Constify.
* tree-iterator.c (EXPR_FIRST_BODY, EXPR_LAST_BODY,
EXPR_ONLY_BODY): New.
(expr_first, expr_last, expr_only): Use macro for body.
(const_expr_first, const_expr_last, const_expr_only): New.
* tree-iterator.h (const_tree_stmt_iterator, ctsi_start,
ctsi_last, ctsi_end_p, ctsi_one_before_end_p, ctsi_next,
ctsi_prev, ctsi_stmt): New.
* tree-scalar-evolution.c (get_loop_exit_condition): Constify.
* tree-scalar-evolution.h (get_loop_exit_condition): Likewise.
* tree-ssa-loop-niter.c (loop_only_exit_p,
derive_constant_upper_bound): Likewise.
* tree-ssa-phiopt.c (empty_block_p): Likewise.
* tree-ssa-threadupdate.c (redirection_block_p): Likewise.
* tree-vectorizer.c (slpeel_can_duplicate_loop_p): Likewise.
* tree-vectorizer.h (slpeel_can_duplicate_loop_p): Likewise.
* tree-vrp.c (vrp_bitmap_equal_p): Likewise.
* tree.c (get_type_static_bounds): Likewise.
* tree.h (const_expr_first, const_expr_last, const_expr_only): New.
(get_type_static_bounds): Constify.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127483 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago PR target/30315
rask [Tue, 14 Aug 2007 14:39:24 +0000 (14:39 +0000)]
PR target/30315
* config/i386/i386.h (CANONICALIZE_COMPARISON): New.
* config/i386/i386.md (plusminus)(addsub)(SWI): New.
(*<addsub><mode>3_cc_overflow): New.
(*add<mode>3_cconly_overflow): New.
(*sub<mode>3_cconly_overflow): New.
(*<addsub>si3_zext_cc_overflow): New.
* config/i386/predicates.md (fcmov_comparison_operator): Accept
CCCmode for LTU, GTU, LEU and GEU.
(ix86_comparison_operator): Likewise.
(ix86_carry_flag_operator): Carry flag is set if LTU or GTU in CCCmode.
* gcc/config/i386/i386.c (put_condition_code): Support CCCmode.
(ix86_cc_mode): Use CCCmode when testing for overflow of PLUS
or MINUS expressions.

testsuite/
PR target/30315
* gcc.target/i386/pr30315.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127481 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago PR fortran/32594
fxcoudert [Tue, 14 Aug 2007 12:44:19 +0000 (12:44 +0000)]
PR fortran/32594

* trans-expr.c (gfc_conv_substring_expr): Only call
gfc_conv_substring if expr->ref is not NULL.
* expr.c (gfc_is_constant_expr): If e->ref is NULL, the substring
expression might be a constant.
(gfc_simplify_expr): Handle missing start and end, as well as
missing ref.

* gfortran.dg/substr_5.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127478 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-08-14 Andrew Pinski <pinskia@gmail.com>
pinskia [Tue, 14 Aug 2007 09:24:26 +0000 (09:24 +0000)]
2007-08-14  Andrew Pinski  <pinskia@gmail.com>

        PR c/30428
        * c-typeck.c (build_binary_op): Disallow vector float types with
        BIT_IOR_EXPR, BIT_AND_EXPR, and BIT_XOR_EXPR.

2007-08-14  Andrew Pinski  <pinskia@gmail.com>

        PR c++/30428
        * typeck.c (build_binary_op): Disallow vector float types with
        BIT_IOR_EXPR, BIT_AND_EXPR, and BIT_XOR_EXPR.

2007-08-14  Andrew Pinski  <pinskia@gmail.com>

        PR c/30428
        * gcc.dg/vector-2.c: New test.

        PR c++/30428
        * g++.dg/ext/vector8.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127477 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoResync
charlet [Tue, 14 Aug 2007 09:19:30 +0000 (09:19 +0000)]
Resync

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127476 138bc75d-0d04-0410-961f-82ee72b054a4

17 years agoMinor reformatting.
charlet [Tue, 14 Aug 2007 09:05:23 +0000 (09:05 +0000)]
Minor reformatting.
Update comments.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127475 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago (Write_Eol): Remove trailing spaces before writing the line
charlet [Tue, 14 Aug 2007 09:04:48 +0000 (09:04 +0000)]
(Write_Eol): Remove trailing spaces before writing the line
(Write_Eol_Keep_Blanks): New procedure to write a line, including
possible trailing spaces.
(Output_Source_Line): Call Write_Eol_Keep_Blanks to output a source line
Fix problem with suppressing warning messages from back end
Improve handling of deleted warnings

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127474 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago (Task_Cont, Task_Stop): New functions, thin
charlet [Tue, 14 Aug 2007 09:03:24 +0000 (09:03 +0000)]
(Task_Cont, Task_Stop): New functions, thin
binding to the VxWorks routines which have changed between VxWorks 5
and 6.
(Int_Lock, Int_Unlock): New function, thin binding to kernel routines
which are not callable from a RTP.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127473 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago (Output_Non_Modifed_In_Out_Warnings, Warn_On_Unassigned_Out_Parameter):
charlet [Tue, 14 Aug 2007 09:01:52 +0000 (09:01 +0000)]
(Output_Non_Modifed_In_Out_Warnings, Warn_On_Unassigned_Out_Parameter):
New functions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127472 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago (Check_References.Publicly_Referenceable): A formal parameter is never
charlet [Tue, 14 Aug 2007 09:00:48 +0000 (09:00 +0000)]
(Check_References.Publicly_Referenceable): A formal parameter is never
publicly referenceable outside of its body.
(Check_References): For an unreferenced formal parameter in an accecpt
statement, use the same warning circuitry as for subprogram formal
parameters.
(Warn_On_Unreferenced_Entity): New subprogram, taken from
Output_Unreferenced_Messages, containing the part of that routine that
is now reused for entry formals as described above.
(Has_Pragma_Unreferenced_Check_Spec): New function
(Check_References): Clean up handling of unmodified IN OUT parameters

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127471 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago (lvalue_required_p): Handle N_Parameter_Association like N_Function_Call
charlet [Tue, 14 Aug 2007 08:58:31 +0000 (08:58 +0000)]
(lvalue_required_p): Handle N_Parameter_Association like N_Function_Call
and N_Procedure_Call_Statement.
(takes_address): Rename to lvalue_required_p, add third parameter
'aliased'
and adjust recursive calls.
<N_Indexed_Component>: Update 'aliased' from the array type.
<N_Selected_Component>: New case.
<N_Object_Renaming_Declaration>: New Likewise.
(Identifier_to_gnu): Adjust for above changes.
(maybe_stabilize_reference) <CONST_DECL>: New case.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127470 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago (Generic_Separately_Compiled): Rename to Generic_May_Lack_ALI, more
charlet [Tue, 14 Aug 2007 08:56:20 +0000 (08:56 +0000)]
(Generic_Separately_Compiled): Rename to Generic_May_Lack_ALI, more
descriptive of the current use of the predicate, and update
documentation.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127469 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago * exp_atag.adb (Build_Inherit_Prims): Addition of a new formal.
charlet [Tue, 14 Aug 2007 08:55:26 +0000 (08:55 +0000)]
* exp_atag.adb (Build_Inherit_Prims): Addition of a new formal.
(Build_Inherit_Predefined_Prims): Replace occurrences of Default_
Prim_Op_Count by Max_Predef_Prims.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127468 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-08-14 Geert Bosch <bosch@adacore.com>
charlet [Tue, 14 Aug 2007 08:50:51 +0000 (08:50 +0000)]
2007-08-14  Geert Bosch  <bosch@adacore.com>

* i-forbla.ads, i-forbla.adb, a-ngcoar.adb, a-ngcoar.ads, i-forlap.ads,
s-gearop.adb, s-gecobl.adb, s-gecobl.ads, s-gerela.adb, s-gerela.ads:
Add required linker pragmas for automatically linking with the gnalasup
linear algebra support library, and the systems math library.
Rename cdot to cdotu and zdot to zdotu.
Update header comment to describe purpose of package.

2007-08-14  Thomas Quinot  <quinot@adacore.com>

* exp_ch7.adb (Find_Final_List): For an anonymous access type that has
an explicitly specified Associated_Final_Chain, use that list.
(Expand_N_Package_Body): Build dispatch tables of library level tagged
types.
(Expand_N_Package_Declaration): Build dispatch tables of library level
tagged types. Minor code cleanup.

2007-08-14  Vincent Celier  <celier@adacore.com>

* gnatchop.adb (Terminate_Program): Remove exception and use
Types.Terminate_Program instead.

* osint.ads, osint.adb (Current_Exit_Status): New global variable
(Find_Program_Name): Added protection against empty name.
(OS_Exit_Through_Exception): New procedure

* s-os_lib.ads, s-os_lib.adb (OS_Exit): New procedure body
(OS_Exit_Default): New procedure that contains the previous
implementation of procedure OS_Exit.
(Final_Value): Remove obsolete Interix stuff.

2007-08-14  Thomas Quinot  <quinot@adacore.com>

* g-socket.ads: Reorganize example code so that it also works on
Windows XP.

2007-08-14  Tristan Gingold  <gingold@adacore.com>

* g-trasym.ads: AIX now supports symbolic backtraces.

2007-08-14  Ed Schonberg  <schonberg@adacore.com>

* lib-load.adb (From_Limited_With_Chain): Always scan the stack of
units being loaded to detect circularities. A circularity may be
present even if the current chain of pending units to load starts from
a limited_with_clause.

* lib-load.ads: Change profile of Load_Unit to use a with_clause
rather than a boolean flag, in order to detect circularities in
with_clauses.

* par-load.adb: Use current with_clause in calls to Load_Unit, rather
than propagating the From_Limited_With flag, in order to handle
properly circularities involving with_clauses.

2007-08-14  Nicolas Setton  <setton@adacore.com>

* link.c (FreeBSD): Add "const" keyword where needed, to eliminate
warnings.

2007-08-14  Arnaud Charlet  <charlet@adacore.com>

* Makefile.in: GNATRTL_LINEARALGEBRA_OBJS: New variable holding objects
to build for libgnala.
libgnat: Add rules to build libgnala.a
(LIBGNAT_TARGET_PAIRS for VxWorks): Remove s-osinte-vxworks.adb from
target pairs of the VxWorks 6 kernel runtime, use it only for VxWorks 5.
Add s-osinte-vxworks-kernel.adb to the target pairs of the
kernel run-time lib for VxWorks 6, which would provide a different
implementation for Task_Cont and Task_Stop than the VxWorks 5 version.
x86-solaris section (EH_MECHANISM): Set to -gcc, as this port is now
running ZCX by default.
Add g-sttsne-locking to LynxOS version.
Remove g-sttsne-vxworks.ads; use g-sttsne-locking.ads instead.
On x86/darwin, use a-numaux-x86.ad? and system-darwin-x86.ads.

* system-darwin-x86.ads: New file.

* Make-lang.in: Delete files before copying onto them, so if they are
read-only, the copy won't fail.
Update dependencies

2007-08-14  Pascal Obry  <obry@adacore.com>

* mdll-fil.adb, * mdll.adb: Implement a more consistent libraries
naming scheme.

2007-08-14  Vincent Celier  <celier@adacore.com>

* mlib-utl.adb (Gcc_Name): Change from constant String to String_Access
(Gcc): Initialize Gcc_Name at the first call

2007-08-14  Ed Schonberg  <schonberg@adacore.com>

* sem_ch7.adb (Analyze_Package_Specification): Do not install private
with_clauses of the enclosing unit when analyzing the package
specification of a nested instance.

2007-08-14  Hristian Kirtchev  <kirtchev@adacore.com>

* sinfo.ads, sinfo.adb (Is_Coextension, Set_Is_Coextension): Removed.
(Is_Dynamic_Coextension, Set_Is_Dynamic_Coextension): New routines.
Remove flag Is_Coextension. Add flag Is_Dynamic_Coextension. Update the
layout of N_Allocator.

2007-08-14  Thomas Quinot  <quinot@adacore.com>

* rtsfind.adb (Check_RPC): Add PCS version check.

* gnatvsn.ads, gnatvsn.adb: Add PCS version.
(Gnat_Free_Software): New function.

* sem_dist.ads, sem_dist.adb (Get_PCS_Version): New subprogram. Returns
the PCS_Version value from s-parint, used to check that it is consistent
with what exp_dist expects.

* s-parint.ads (PCS_Version): New entity for checking consistency
between exp_dist and PCS.

* gen-soccon.c: (SO_REUSEPORT): New constant.

2007-08-14  Hristian Kirtchev  <kirtchev@adacore.com>

* a-calfor.adb (Image (Duration; Boolean)): Change type of local
variable Sub_Second to Duration in order to accomodate a larger range
of arithmetic operations.

2007-08-14  Bob Duff  <duff@adacore.com>

* g-sttsne-locking.ads: Move comments from spec to body.
* g-sttsne-locking.adb: Move comments from spec to body.
* g-sttsne-vxworks.ads: Removed.
* g-sttsne-vxworks.adb: Removed.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127467 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-08-14 Tristan Gingold <gingold@adacore.com>
charlet [Tue, 14 Aug 2007 08:50:30 +0000 (08:50 +0000)]
2007-08-14  Tristan Gingold  <gingold@adacore.com>

* tracebak.c: Use tb-ivms.c on OpenVMS Itanium.

* tb-ivms.c: New file.

* g-trasym-vms-ia64.adb: Fixed for OpenVMS version 8.2

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127466 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-08-14 Gary Dismukes <dismukes@adacore.com>
charlet [Tue, 14 Aug 2007 08:50:18 +0000 (08:50 +0000)]
2007-08-14  Gary Dismukes  <dismukes@adacore.com>

* s-veboop.adb (SU): New named number initialized to
System.Storage_Unit.
(True_Val): The initialization expression is revised to use SU (=
Storage_Unit) rather than assuming 8 for the component size of an
unpacked Boolean array.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127465 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-08-14 Arnaud Charlet <charlet@adacore.com>
charlet [Tue, 14 Aug 2007 08:50:09 +0000 (08:50 +0000)]
2007-08-14  Arnaud Charlet  <charlet@adacore.com>

* s-tpobop.ads, s-tpobop.adb, s-tasren.ads, s-tasren.adb,
s-taskin.ads (Requeue_With_Abort): Rename field With_Abort.
(PO_Do_Or_Queue, Task_Do_Or_Queue, Requeue_Call): Remove With_Abort
parameter.

* s-tassta.adb (Task_Wrapper): Increased value of the small overflow
guard to 12K.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127464 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-08-14 Jose Ruiz <ruiz@adacore.com>
charlet [Tue, 14 Aug 2007 08:49:56 +0000 (08:49 +0000)]
2007-08-14  Jose Ruiz  <ruiz@adacore.com>

* s-tasini.adb (Get_Stack_Info): Move this function to
System.Soft_Links.Tasking because it is common to the full and the
restricted run times.
(Init_RTS): Do not set the Get_Stack_Info soft link because it is done
in SSL.Tasking.Init_Tasking_Soft_Links.

* s-solita.adb (Get_Stack_Info): Function moved from
System.Tasking.Initialization because it is common to the full and the
restricted run times.
(Init_Tasking_Soft_Links): Set the tasking soft link for Get_Stack_Info.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127463 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-08-14 Cyrille Comar <comar@adacore.com>
charlet [Tue, 14 Aug 2007 08:49:45 +0000 (08:49 +0000)]
2007-08-14  Cyrille Comar  <comar@adacore.com>

* s-finimp.adb (Detach_From_Final_List): make this procedure idempotent
since it is potentially used in cases implying double finalization of
the same object.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127462 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-08-14 Pascal Obry <obry@adacore.com>
charlet [Tue, 14 Aug 2007 08:49:36 +0000 (08:49 +0000)]
2007-08-14  Pascal Obry  <obry@adacore.com>

* s-fileio.adb (Is_Open): Add check for usability of the underlying
file stream.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127461 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-08-14 Ed Schonberg <schonberg@adacore.com>
charlet [Tue, 14 Aug 2007 08:49:26 +0000 (08:49 +0000)]
2007-08-14  Ed Schonberg  <schonberg@adacore.com>

* s-ficobl.ads: Declare AFCB as a tagged incomplete type, to prevent
obsolescent warning on application of 'Class to an incomplete type.

* s-finroo.ads: Declare Root_Controlled as a tagged incomplete type, to
prevent obsolescent warning on application of 'Class to an incomplete
type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127460 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-08-14 Javier Miranda <miranda@adacore.com>
charlet [Tue, 14 Aug 2007 08:49:15 +0000 (08:49 +0000)]
2007-08-14  Javier Miranda  <miranda@adacore.com>

* sem_disp.adb (Check_Dispatching_Operation): Do not emit warning on a
generated interface thunk.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127459 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-08-14 Javier Miranda <miranda@adacore.com>
charlet [Tue, 14 Aug 2007 08:49:06 +0000 (08:49 +0000)]
2007-08-14  Javier Miranda  <miranda@adacore.com>

* sem_ch9.adb (Check_Interfaces): New subprogram that factorizes code
that is common to Analyze_Protected_Type and Analyze_Task_Type. In case
of private types add missing check on matching interfaces in the
partial and full declarations.
(Analyze_Protected_Type): Code cleanup.
(Analyze_Task_Type): Code cleanup.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127458 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-08-14 Javier Miranda <miranda@adacore.com>
charlet [Tue, 14 Aug 2007 08:48:56 +0000 (08:48 +0000)]
2007-08-14  Javier Miranda  <miranda@adacore.com>

* par-ch6.adb (P_Formal_Part): Fix wrong error message associated with
null-excluding access types.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127457 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-08-14 Vincent Celier <celier@adacore.com>
charlet [Tue, 14 Aug 2007 08:48:45 +0000 (08:48 +0000)]
2007-08-14  Vincent Celier  <celier@adacore.com>

* output.ads, output.adb (Write_Eol): Remove trailing spaces before
writing the line.
(Write_Eol_Keep_Blanks): New procedure to write a line, including
possible trailing spaces.
(Output_Source_Line): Call Write_Eol_Keep_Blanks to output a source line

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127456 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-08-14 Gary Dismukes <dismukes@adacore.com>
charlet [Tue, 14 Aug 2007 08:48:36 +0000 (08:48 +0000)]
2007-08-14  Gary Dismukes  <dismukes@adacore.com>

* layout.adb (Layout_Type): In the case of access-to-subprogram types,
if AAMP_On_Target is True, then the size of the type encompasses two
addresses (a static link and a subprogram address), except in the case
of library-level access types.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127455 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-08-14 Paul Hilfinger <hilfinger@adacore.com>
charlet [Tue, 14 Aug 2007 08:48:27 +0000 (08:48 +0000)]
2007-08-14  Paul Hilfinger  <hilfinger@adacore.com>

* impunit.adb: Re-organize System.Random_Numbers and
GNAT.Random_Numbers and add to builds.

* Makefile.rtl: Add s-rannum.ad* and g-rannum.ad*, a-assert*

* s-rannum.ads, s-rannum.adb, g-rannum.ads, g-rannum.adb: New files.

* a-assert.ads, a-assert.adb: New files.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127454 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-08-14 Vincent Celier <celier@adacore.com>
charlet [Tue, 14 Aug 2007 08:48:16 +0000 (08:48 +0000)]
2007-08-14  Vincent Celier  <celier@adacore.com>

* gnatls.adb: (Corresponding_Sdep_Entry): Always return a value
(Output_Source): Do nothing if parameter is No_Sdep_Id

* make.adb (Gnatmake): Do not rebuild an archive simply because a
shared library it imports has a later time stamp.
(Check): Resolve the symbolic links in the path name of the object
directory.
Check that the ALI file is in the correct object directory
Check if a file name does not correspond to the mapping of units
to file names.
(Display_Version): New procedure
(Initialize): Process switches --version and --help
Use type Path_Name_Type for path name

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127453 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-08-14 Eric Botcazou <ebotcazou@adacore.com>
charlet [Tue, 14 Aug 2007 08:48:07 +0000 (08:48 +0000)]
2007-08-14  Eric Botcazou  <ebotcazou@adacore.com>

* gnatlink.adb (Gnatlink): Pass switches to the linker even if the
binder-generated file is not in Ada.
Pass -mrtp to the linker if it is GCC and --RTS=rtp has been
recorded in the ALI file.
Pass -fsjlj to the linker if it is GCC and --RTS=sjlj has been recorded.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127452 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-08-14 Emmanuel Briot <briot@adacore.com>
charlet [Tue, 14 Aug 2007 08:47:56 +0000 (08:47 +0000)]
2007-08-14  Emmanuel Briot  <briot@adacore.com>

* g-comlin.adb (Getopt): Fix handling of "*" switch when not collapsing
switches.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127451 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-08-14 Hristian Kirtchev <kirtchev@adacore.com>
charlet [Tue, 14 Aug 2007 08:47:45 +0000 (08:47 +0000)]
2007-08-14  Hristian Kirtchev  <kirtchev@adacore.com>

* g-catiio.adb (Image): For the case of %s, use Ada.Calendar.Time
values to compute the number of seconds since the Unix Epoc in order to
account for Daylight Savings Time. Perform special processing for dates
that are earlier than the Unix Epoc to obtain a negative number.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127450 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-08-14 Thomas Quinot <quinot@adacore.com>
charlet [Tue, 14 Aug 2007 08:47:36 +0000 (08:47 +0000)]
2007-08-14  Thomas Quinot  <quinot@adacore.com>

* exp_dist.adb (PolyORB_Support.Build_TypeCode_Function): When creating
typecode parameters for a union (in a variant record), remove
extraneous layer of Any wrapping for member label.
(Expand_Receiving_Stubs_Bodies): For an RCI package body that has
elabration statements, register the package with the name server
at the beginning, not at the end, of the elaboration statements so
that they can create remote access to subprogram values that designate
remote subprograms from the package.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127449 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-08-14 Javier Miranda <miranda@adacore.com>
charlet [Tue, 14 Aug 2007 08:47:24 +0000 (08:47 +0000)]
2007-08-14  Javier Miranda  <miranda@adacore.com>
    Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch9.adb (Build_Protected_Entry): Propagate the original source
location to allow the correct generation of errors in case of
restrictions applied to the expanded code.
(Expand_Entry_Barrier): Remove all generated renamings for a barrier
function if the condition does not reference them.
(Expand_Entry_Body_Declarations): Mark the index constant as having a
valid value.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127448 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-08-14 Ed Schonberg <schonberg@adacore.com>
charlet [Tue, 14 Aug 2007 08:47:12 +0000 (08:47 +0000)]
2007-08-14  Ed Schonberg  <schonberg@adacore.com>
    Hristian Kirtchev  <kirtchev@adacore.com>

* sem_res.adb (Resolve_Allocator): Propagate any coextensions that
appear in the subtree to the current allocator if it is not a static
coextension.
(Resolve_Allocator): Perform cleanup if resolution has determined that
the allocator is not a coextension.
(Resolve): Skip an interpretation hidden by an abstract operator only
when the type of the interpretation matches that of the context.
(Resolve): When looping through all possible interpretations of a node,
do not consider those that are hidden by abstract operators.
(Resolve_Actuals): When verifying that an access to class-wide object
is an actual  for a controlling formal, ignore anonymous access to
subprograms whose return type is an access to class_wide type.
(Resolve_Slice): If the prefix of the slice is a selected component
whose type depends on discriminants, build its actual subtype before
applying range checks on the bounds of the slice.
(Valid_Conversion): In an instance or inlined body, compare root types,
to prevent anomalies between private and public views.
(Resolve): Improve error message for ambiguous fixed multiplication
expressions that involve universal_fixed multiplying operations.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127447 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-08-14 Thomas Quinot <quinot@adacore.com>
charlet [Tue, 14 Aug 2007 08:46:54 +0000 (08:46 +0000)]
2007-08-14  Thomas Quinot  <quinot@adacore.com>
    Ed Schonberg  <schonberg@adacore.com>

* sem_ch8.ads, sem_ch8.adb (Find_Type, case of a 'Base attribute
reference): Use correct entity as denoted entity for the selector of
the rewritten node.
(Find_Direct_Name): Add comment about Generate_Reference incorrectly
setting the Referenced_As_LHS flag for entities that are implicitly
dereferenced.
(Find_Type): If the type is an internally generated incomplete type,
mark the full view as referenced, to prevent spurious warnings.
(Find_Selected_Component, Has_Components): Handle properly non-limited
views that are themselves incomplete types.
Handle interfaces visible through limited-with clauses.
(Analyze_Subprogram_Renaming): Disambiguate and set the entity of a
subprogram generic actual for which we have generated a renaming.
Warn when the renaming introduces a homonym of
the renamed entity, and the renamed entity is directly visible.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127446 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-08-14 Thomas Quinot <quinot@adacore.com>
charlet [Tue, 14 Aug 2007 08:46:43 +0000 (08:46 +0000)]
2007-08-14  Thomas Quinot  <quinot@adacore.com>
    Ed Schonberg  <schonberg@adacore.com>

* sem_cat.ads, sem_cat.adb (Has_Stream_Attribute_Definition): New
formal At_Any_Place indicating, when True, that we want to test for
availability of the stream attribute at any place (as opposed to the
current visibility context only).
(Missing_Read_Write_Attributes): A stream attribute is missing for the
purpose of enforcing E.2.2(8) only if it is not available at any place.
Take into account the Ada2005 pragma Has_Preelaborable_Initialization
when checking the legality of an extension aggregate in a preelaborable
package. Treat the literal null as a valid default expression in a
component declaration for a type with preelaborable initialization.
A limited interface is a legal progenitor for the designated type of a
remote access to class-wide type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127445 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-08-14 Ed Schonberg <schonberg@adacore.com>
charlet [Tue, 14 Aug 2007 08:46:31 +0000 (08:46 +0000)]
2007-08-14  Ed Schonberg  <schonberg@adacore.com>

* sem_ch4.adb (Try_Class_Wide_Operation): use base type of first
parameter to determine whether operation applies to the prefix.
(Complete_Object_Operation): If actual has an access type and
controlling formal is not an in_parameter, reject the actual if it is
an access_to_constant type.
(Try_Primitive_Operation): If the type of the prefix is a formal tagged
type, the candidate operations are found in the scope of declaration of
the type, because the type has no primitive subprograms.
(Analyze_Selected_Component): If prefix is class-wide, and root type is
a private extension, only examine visible components before trying to
analyze as a prefixed call.
Change Entity_List to Type_To_Use, for better readability.
(Has_Fixed_Op): Use base type when checking whether the type of an
operator has a user-defined multiplication/division
(Check_Arithmetic_Pair): Use Ada 2005 rules to remove ambiguities when
user-defined operators are available for fixed-point types.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127444 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-08-14 Ed Schonberg <schonberg@adacore.com>
charlet [Tue, 14 Aug 2007 08:46:18 +0000 (08:46 +0000)]
2007-08-14  Ed Schonberg  <schonberg@adacore.com>
    Gary Dismukes  <dismukes@adacore.com>
    Thomas Quinot  <quinot@adacore.com>

* sem_ch12.ads, sem_ch12.adb (Instantiate_Type): If the formal is a
derived type with interface progenitors use the analyzed formal as the
parent of the actual, to create renamings for all the inherited
operations in Derive_Subprograms.
(Collect_Previous_Instances): new procedure within of
Load_Parent_Of_Generic, to instantiate all bodies in the compilation
unit being loaded, to ensure that the generation of global symbols is
consistent in different compilation modes.
(Is_Tagged_Ancestor): New function testing the ancestor relation that
takes progenitor types into account.
(Validate_Derived_Type_Instance): Enforce the rule of 3.9.3(9) by
traversing over the primitives of the formal and actual types to locate
any abstract subprograms of the actual type that correspond to a
nonabstract subprogram of the formal type's ancestor type(s), and issue
an error if such is found.
(Analyze_Package_Instantiation, Analyze_Subprogram_Instantiation,
Instantiate_Package_Body, Instantiate_Subprogram_Body):
Remove bogus guard around calls to Inherit_Context.
(Reset_Entity): If the entity is the selector of a selected component
that denotes a named number, propagate constant-folding to the generic
template only if the named number is global to the generic unit.
(Set_Instance_Env): Only reset the compilation switches when compiling
a predefined or internal unit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127443 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-08-14 Thomas Quinot <quinot@adacore.com>
charlet [Tue, 14 Aug 2007 08:46:03 +0000 (08:46 +0000)]
2007-08-14  Thomas Quinot  <quinot@adacore.com>

* table.adb, g-table.adb, g-dyntab.adb (Append): Reimplement in terms
of Set_Item.
(Set_Item): When the new item is an element of the currently allocated
table passed by reference, save a copy on the stack if we're going
to reallocate. Also, in Table.Set_Item, make sure we test the proper
variable to determine whether to call Set_Last.

* sinput-d.adb, sinput-l.adb, stringt.adb, switch-m.adb,
symbols-vms.adb, symbols-processing-vms-alpha.adb,
symbols-processing-vms-ia64.adb, sem_elab.adb, repinfo.adb: Replace
some occurrences of the pattern
   T.Increment_Last;
   T.Table (T.Last) := Value;
with a cleaner call to
   T.Append (Value);

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127442 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-08-14 Bob Duff <duff@adacore.com>
charlet [Tue, 14 Aug 2007 08:45:48 +0000 (08:45 +0000)]
2007-08-14  Bob Duff  <duff@adacore.com>

* a-cihama.ads, a-cidlli.ads, a-chtgop.ads, a-chtgop.adb, a-cdlili.ads,
a-cihase.adb, a-cihase.ads, a-cohase.adb, a-cohase.ads, a-ciorma.ads,
a-coorma.ads, a-ciormu.ads, a-coormu.ads, a-ciorse.ads, a-cohama.ads,
a-cohata.ads, a-convec.adb, a-coinve.ads, a-coinve.adb, a-convec.ads,
a-coorse.ads (Next): Applied pragma Inline.
Make all Containers packages Remote_Types (unless they are already
Pure).
(Previous): applied pragma Inline
(Elements_Type): is now a record instead of an array

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127441 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-08-14 Robert Dewar <dewar@adacore.com>
charlet [Tue, 14 Aug 2007 08:45:25 +0000 (08:45 +0000)]
2007-08-14  Robert Dewar  <dewar@adacore.com>

* s-intman-irix.adb, s-osinte-irix.adb, s-osinte-irix.ads,
s-proinf-irix-athread.ads, s-osinte-hpux-dce.adb, s-osinte-hpux-dce.ads,
s-parame-hpux.ads, s-intman-dummy.adb, s-tasinf-solaris.adb,
s-tasinf-solaris.ads, s-asthan-vms-alpha.adb, s-inmaop-vms.adb,
s-intman-vms.adb, s-intman-vms.ads, s-osprim-mingw.adb,
s-parame-vms-restrict.ads, s-parame-ae653.ads, s-intman-vxworks.ads,
s-intman-vxworks.ads, s-intman-vxworks.adb, s-parame-vxworks.ads,
s-tfsetr-vxworks.adb, s-interr.adb, s-interr.ads, a-tasatt.adb,
exp_ch13.adb, s-htable.ads, s-imgboo.ads, s-imglli.ads, s-imgllu.ads,
s-imguns.ads, g-eacodu.adb, par-ch12.adb, s-stache.ads, s-stausa.adb,
s-poosiz.adb, s-parame.ads, s-mastop.ads, s-osinte-darwin.ads,
a-chtgke.adb, s-asthan-vms-alpha.adb, s-parame-vms-alpha.ads,
s-parame-vms-ia64.ads, s-parame-vxworks.adb, s-except.ads,
g-altcon.adb: Minor reformatting

ada-tree.h: Delete empty line.

ali.ads: Minor reformatting
Clarification of comments.
Minor spelling correction

* exp_dbug.adb: Add Warnings Off to suppress new warning

* a-witeio.adb (Write): Add Warnings (Off) for unneeded IN OUT mode
formal

* a-strunb.adb (Set_Unbounded_String): Avoid memory leak by freeing old
value

* a-textio.adb (Write): Remove an unnecessary IN OUT mode from

* a-textio.ads: Reorder the standard input/output/error declarations
for consistency.

* g-dirope.adb, g-dirope.ads: Change Dir to mode IN for Open call

* par-ch2.adb: Recognize RM specially in errout
Change 'R'M to RM in all error messages

* scng.adb: Recognize RM specially in errout

* sem.ads, sem.adb, exp_strm.adb, exp_ch5.ads, expander.adb: Rename
N_Return node to be N_Simple_Return, to reflect Ada 2005 terminology.

* s-direio.adb: Add missing routine header box.

* sem_attr.ads: Add ??? comments

* sem_eval.adb: Recognize RM specially in errout
Change 'R'M to RM in all error messages

* sem_maps.adb, sem_maps.ads: Remove some unnecessary IN OUT modes

* s-tasinf.ads: Fix minor comment typo.

* a-cihama.adb: Minor comment addition

* a-ztexio.adb (Write): Add Warnings (Off) for unneeded IN OUT mode
formal

* s-tasinf-tru64.ads: Fix minor comment typo.

* itypes.ads: Comment update.

* ali-util.adb: Remove Generic_Separately_Compiled guard, not needed
anymore.

* argv.c: Added protection against null gnat_argv and gnat_envp.

* bcheck.adb (Check_Consistency): Use correct markup character ({) in
warning message when Tolerate_Consistency_Errors is True.

* cstand.adb (Create_Standard): Do not call Init_Size_Alignment for
Any_Id, as this subprogram is only applicable to *type* entities (it
sets RM_Size). Instead initialize just Esize and Alignment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127440 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-08-14 Thomas Quinot <quinot@adacore.com>
charlet [Tue, 14 Aug 2007 08:45:05 +0000 (08:45 +0000)]
2007-08-14  Thomas Quinot  <quinot@adacore.com>
    Vincent Celier  <celier@adacore.com>

* binde.adb (Elab_All_Links): Remove unnecessary call to
Generic_Separately_Compiled (if a unit satisfies this predicate, there
won't be an associated Afile).
(Elab_All_Links): Fail if a referenced unit cannot be found

* bindgen.adb:
Fix comments in bindgen regarding consistency checks done in Bcheck:
the checks are made across units within a partition, not across several
partitions.
Fix generation of C binder file for VxWorks.

* lib.adb (Generic_Separately_Compiled): Rename to
Generic_May_Lack_ALI, more descriptive of the current use of the
predicate, and update documentation.

* lib-writ.ads, lib-writ.adb (Write_With_Lines): Minor code
reorganization and documentation update for the case of predefined
library generics (for which we do not reference an Afile).

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127439 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-08-14 Javier Miranda <miranda@adacore.com>
charlet [Tue, 14 Aug 2007 08:44:53 +0000 (08:44 +0000)]
2007-08-14  Javier Miranda  <miranda@adacore.com>

* a-tags.ads,
a-tags.adb (Displace): Associate a message with the raised CE
exception.
(To_Addr_Ptr, To_Address, To_Dispatch_Table_Ptr,
To_Object_Specific_Data_Ptr To_Predef_Prims_Ptr,
To_Tag_Ptr, To_Type_Specific_Data_Ptr): Moved here from the package
spec.
(Default_Prim_Op_Count): Removed.
(IW_Membership, Get_Entry_Index, Get_Offset_Index, Get_Prim_Op_Kind,
Register_Tag, Set_Entry_Index, Set_Offset_To_Top, Set_Prim_Op_Kind):
Remove pragma Inline_Always.

* rtsfind.ads (Default_Prim_Op_Count): Removed
(Max_Predef_Prims): New entity
(RE_Expanded_Name): Removed
(RE_HT_Link): Removed
(RE_Iface_Tag): Remmoved
(RE_Ifaces_Table): Removed
(RE_Interfaces_Array): Removed
(RE_Interface_Data_Element): Removed
(RE_Nb_Ifaces): Removed
(RE_RC_Offset): Removed
(RE_Static_Offset_To_Top): Removed

* exp_atag.ads (Build_Inherit_Prims): Addition of a new formal.
(Build_Inherit_Predefined_Prims): Replace occurrences of Default_
Prim_Op_Count by Max_Predef_Prims.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127438 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-08-14 Jose Ruiz <ruiz@adacore.com>
charlet [Tue, 14 Aug 2007 08:44:42 +0000 (08:44 +0000)]
2007-08-14  Jose Ruiz  <ruiz@adacore.com>

* adaint.c (__gnat_is_absolute_path): For VxWorks systems we accept
dir/file, device:/dir/file, and device:drive_letter:/dir/file as
representing absolute path names.
__gnat_set_file_time_name [VMS]: Fix some 64/32 bit issues.

* cstreams.c (__gnat_full_name for VxWorks): Use
__gnat_is_absolute_path to detect whether we need to add the current
directory to normalize the path.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127437 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-08-14 Ed Schonberg <schonberg@adacore.com>
charlet [Tue, 14 Aug 2007 08:44:31 +0000 (08:44 +0000)]
2007-08-14  Ed Schonberg  <schonberg@adacore.com>

* sem_ch10.adb: Create a limited view of an incomplete type, to make
treatment of limited views uniform for all visible declarations in a
limited_withed package.
Set flag indicating that a subprogram body for a child unit has a
generated spec.
(Analyze_Compilation_Unit): If unit is a subprogram body that has no
separate declaration, remove the unit name from visibility after
compilation, so that environment is clean for subsequent compilations.
(Install_Limited_Context_Clauses): Do not install a
limited_private_with_clause unless the current unit is a body or a
private child unit.
(Analyze_Subunit, Install_Parents): Treat generic and non-generic units
in the same fashion.
(Install_Limited_Withed_Unit): Do not install a limited with clause if
it applies to the declaration of the current package body.
(Remove_Private_With_Clauses): If there is a regular with_clause for
the unit, delete Private_With_Clause from context, to prevent improper
hiding when processing subsequent nested packages and instantiations.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127436 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-08-14 Olivier Hainque <hainque@adacore.com>
charlet [Tue, 14 Aug 2007 08:44:14 +0000 (08:44 +0000)]
2007-08-14  Olivier Hainque  <hainque@adacore.com>

* s-taprop-linux.adb (Get_Stack_Attributes): New subprogram. Fetch the
stack size and initial stack pointer value for a given task.
(Enter_Task): Get the stack attributes of the task we are entering and
let the stack checking engine know about them.

* s-stchop.adb, s-stchop.ads (Notify_Stack_Attributes): New subprogram.
Let the stack-checking engine know about the initial sp value and stack
size associated with the current task.
(Set_Stack_Info): If a stack base has been notified for the current
task, honor it. Fallback to the previous less accurate method otherwise.

* s-stchop-vxworks.adb (Notify_Stack_Attributes): Dummy body.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127435 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-08-14 Pascal Obry <obry@adacore.com>
charlet [Tue, 14 Aug 2007 08:44:02 +0000 (08:44 +0000)]
2007-08-14  Pascal Obry  <obry@adacore.com>

* s-osinte-mingw.ads: Add support for Ada.Execution_Time on Windows.
(SYSTEM_INFO): New record.
(SetThreadIdealProcessor): New imported routine needed for supporting
task_info pragma on Windows.

* s-taprop-mingw.adb (Enter_Task): Check if CPU number given in task
info can be applied to the current host.
(Create_Task): Set the ideal processor if information is present.

* s-tasinf-mingw.adb, s-tasinf-mingw.ads,
a-exetim-mingw.adb, a-exetim-mingw.ads: New files.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127434 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-08-14 Olivier Hainque <hainque@adacore.com>
charlet [Tue, 14 Aug 2007 08:43:46 +0000 (08:43 +0000)]
2007-08-14  Olivier Hainque  <hainque@adacore.com>

* system-solaris-x86.ads (ZCX_By_Default): Switch to True.
(GCC_ZCX_Support): Switch to True.

* s-intman-solaris.adb (Notify_Exception): Call
Adjust_Context_For_Raise before raising, as expected for signal
handlers in general.

* s-intman-posix.adb (Notify_Exception): Remove declaration of
Adjust_Context_For_Raise, moved to the spec of this unit to be visible
to other implementation bodies.

* s-intman.ads (Adjust_Context_For_Raise): Declare and import here, to
be visible by multiple implementation bodies.

* init.c [VMS section] (__gnat_handle_vms_condition): Adjust context
only for conditions coming from hardware.
[alpha-tru64 section] (__gnat_adjust_context_for_raise): Implement,
adjustments to signal context prior to exception raise from signal
handler.
(__gnat_map_signal for VxWorks): Map SIGSEGV to Storage_Error in RTP
mode.
Solaris section: (__gnat_adjust_context_for_raise): New function.
Implementation of the machine context adjustments to perform prior to
raise from a signal handler. Version for both sparc and x86.
(HAVE_GNAT_ADJUST_CONTEXT_FOR_RAISE): Define.
(__gnat_error_handler): Expect a third argument, ucontext_t *. Adjust it
prior to raising as expected for any handler, before possible nested
faults to make sure all the contexts in a chain have been adjusted by
the time we propagate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127433 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-08-14 Vincent Celier <celier@adacore.com>
charlet [Tue, 14 Aug 2007 08:43:34 +0000 (08:43 +0000)]
2007-08-14  Vincent Celier  <celier@adacore.com>

* clean.adb, fmap.adb, sinput-p.adb, sinput-p.ads, gnatcmd.adb,
gnatname.adb, makeutl.ads, makeutl.adb, makegpr.adb, mlib-tgt-vms.adb
mlib-tgt-darwin.adb, mlib-tgt-lynxos.adb, mlib-prj.adb, mlib-tgt.adb,
mlib-tgt.ads, mlib-tgt-irix.adb mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb, mlib-tgt-aix.adb,
mlib-tgt-tru64.adb, mlib.ads, mlib.adb (Create_Sym_Links): New
procedure.
(Major_Id_Name): New function.
mlib-tgt.ads/mlib.tgt.adb:
(Library_Major_Minor_Id_Supported): New function, default returns True
Most mlib-tgt-*.adb that support shared libraries and symbolic links:
(Build_Dynamic_Library): Add support for major/minor ids for shared libs
Other mlib-tgt-*.adb (aix, mingw, vms, vxworks, xi):
Implementation of Library_Major_Minor_Id_Supported returns False
clean.adb:
(Clean_Library_Directory): If major/minor ids are supported, clean all
library files.
Major update of the Project Manager and of the project aware tools,
including gprmake, so that the same sources in the GNAT repository
can be used by gprbuild.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127432 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-08-14 Jerome Guitton <guitton@adacore.com>
charlet [Tue, 14 Aug 2007 08:42:09 +0000 (08:42 +0000)]
2007-08-14  Jerome Guitton  <guitton@adacore.com>

* s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb,
s-taprop-hpux-dce.adb, s-taprop-dummy.adb, s-taprop-solaris.adb,
s-taprop-vms.adb, s-taprop-posix.adb (Continue_Task, Stop_All_Tasks):
New functions; dummy implementations.

* s-osinte-vxworks.ads (Task_Stop, Task_Cont, Int_Lock, Int_Unlock): New
functions, used to implement the multi-tasks mode routines on VxWorks.

* s-osinte-vxworks.adb (Task_Cont, Task_Stop): New functions, thin
binding to the VxWorks routines which have changed between VxWorks 5
and 6.
(Int_Lock, Int_Unlock): New function, thin binding to kernel routines
which are not callable from a RTP.

* s-taprop-vxworks.adb (Stop_All_Tasks, Continue_Task): New functions,
implemented for the multi-tasks mode on VxWorks 5 and 6.

* s-taprop.ads (Stop_All_Tasks, Continue_Task): New functions.

* s-tasdeb.ads, s-tasdeb.adb (Continue_All_Tasks, Stop_All_Tasks): New
functions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127431 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-08-14 Ed Schonberg <schonberg@adacore.com>
charlet [Tue, 14 Aug 2007 08:41:57 +0000 (08:41 +0000)]
2007-08-14  Ed Schonberg  <schonberg@adacore.com>

* exp_ch5.adb (Expand_Assign_Array): If source or target of assignment
is a variable that renames a slice, use the variable itself in the
expannsion when the renamed expression itself may be modified between
the declaration of the renaming and the array assignment.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127430 138bc75d-0d04-0410-961f-82ee72b054a4

17 years ago2007-08-14 Ed Schonberg <schonberg@adacore.com>
charlet [Tue, 14 Aug 2007 08:41:44 +0000 (08:41 +0000)]
2007-08-14  Ed Schonberg  <schonberg@adacore.com>
    Gary Dismukes  <dismukes@adacore.com>

* exp_aggr.ads,
exp_aggr.adb (Convert_Aggr_In_Allocator): Use Insert_Actions to place
expanded aggregate code before allocator, and ahead of declaration for
temporary, to prevent access before elaboration when the allocator is
an actual for an access parameter.
(Is_Static_Dispatch_Table_Aggregate): Handle aggregates initializing
the TSD and the table of interfaces.
(Convert_To_Assignments): Augment the test for delaying aggregate
expansion for limited return statements to include the case of extended
returns, to prevent creation of an unwanted transient scope.
(Is_Static_Dispatch_Table_Aggregate): New subprogram.
(Expand_Array_Aggregate): Handle aggregates associated with
statically allocated dispatch tables.
(Expand_Record_Aggregate): Handle aggregates associated with
statically allocated dispatch tables.
(Gen_Ctrl_Actions_For_Aggr): Generate a finalization list for allocators
of anonymous access type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127429 138bc75d-0d04-0410-961f-82ee72b054a4