gcc.git
17 years agovms_conv.adb (Process_Argument): Ensure that project related options are not put...
Vincent Celier [Thu, 16 Aug 2007 12:21:20 +0000 (14:21 +0200)]
vms_conv.adb (Process_Argument): Ensure that project related options are not put in the -cargs section when...

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

* vms_conv.adb (Process_Argument): Ensure that project related options
are not put in the -cargs section when using GNAT COMPILE.

From-SVN: r127551

17 years agosem_res.adb (Comes_From_Predefined_Lib_Unit): New.
Hristian Kirtchev [Thu, 16 Aug 2007 12:21:07 +0000 (14:21 +0200)]
sem_res.adb (Comes_From_Predefined_Lib_Unit): New.

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.

From-SVN: r127550

17 years agosem_disp.adb (Check_Dispatching_Operation): If the operation implements an operation...
Ed Schonberg [Thu, 16 Aug 2007 12:20:50 +0000 (14:20 +0200)]
sem_disp.adb (Check_Dispatching_Operation): If the operation implements an operation inherited from a progenitor interface...

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.

From-SVN: r127549

17 years agosem_ch5.adb (Analyze_Assignment): Make sure we still note update in exception case
Robert Dewar [Thu, 16 Aug 2007 12:20:32 +0000 (14:20 +0200)]
sem_ch5.adb (Analyze_Assignment): Make sure we still note update in exception case

2007-08-16  Robert Dewar  <dewar@adacore.com>

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

From-SVN: r127548

17 years agosem_ch3.adb (OK_For_Limited_Init_In_05): Allow calls to 'Input to initialize a limite...
Gary Dismukes [Thu, 16 Aug 2007 12:20:13 +0000 (14:20 +0200)]
sem_ch3.adb (OK_For_Limited_Init_In_05): Allow calls to 'Input to initialize a limited object.

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.

From-SVN: r127547

17 years agosem_ch12.adb (Copy_Generic_Node): A reference to a child unit of the generic for...
Ed Schonberg [Thu, 16 Aug 2007 12:20:00 +0000 (14:20 +0200)]
sem_ch12.adb (Copy_Generic_Node): A reference to a child unit of the generic for an enclosing instance is a...

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.

From-SVN: r127546

17 years agosem_ch10.adb (Has_With_Clause): If the name of the with clause currently inspected...
Hristian Kirtchev [Thu, 16 Aug 2007 12:19:50 +0000 (14:19 +0200)]
sem_ch10.adb (Has_With_Clause): If the name of the with clause currently inspected is a selected component...

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.

From-SVN: r127545

17 years agoprj.ads (Project_Data): Add comments.
Vincent Celier [Thu, 16 Aug 2007 12:19:39 +0000 (14:19 +0200)]
prj.ads (Project_Data): Add comments.

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

From-SVN: r127544

17 years agoMakefile.in (gnatlib): Propagate FORCE_DEBUG_ADAFLAGS value to sub makefiles
Nicolas Roche [Thu, 16 Aug 2007 12:19:24 +0000 (14:19 +0200)]
Makefile.in (gnatlib): Propagate FORCE_DEBUG_ADAFLAGS value to sub makefiles

2007-08-16  Nicolas Roche  <roche@adacore.com>

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

* Make-lang.in: Update dependencies

From-SVN: r127543

17 years agomake.adb (Collect_Arguments): Call Test_If_Relative_Path with Including_Non_Switch...
Vincent Celier [Thu, 16 Aug 2007 12:19:13 +0000 (14:19 +0200)]
make.adb (Collect_Arguments): Call Test_If_Relative_Path with Including_Non_Switch set to False.

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.

From-SVN: r127542

17 years agog-dyntab.adb, [...]: (Set_Item): Suppress Range_Check on Allocated_Table.
Thomas Quinot [Thu, 16 Aug 2007 12:19:02 +0000 (14:19 +0200)]
g-dyntab.adb, [...]: (Set_Item): Suppress Range_Check on Allocated_Table.

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

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

From-SVN: r127541

17 years agoexp_ch9.adb (Build_Protected_Entry): Undo previous change because it is not really...
Javier Miranda [Thu, 16 Aug 2007 12:18:37 +0000 (14:18 +0200)]
exp_ch9.adb (Build_Protected_Entry): Undo previous change because it is not really required and can introduce...

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.

From-SVN: r127540

17 years agoexp_attr.adb (Attribute_Priority): Add missing support for entries and entry barriers.
Javier Miranda [Thu, 16 Aug 2007 12:18:26 +0000 (14:18 +0200)]
exp_attr.adb (Attribute_Priority): Add missing support for entries and entry barriers.

2007-08-16  Javier Miranda  <miranda@adacore.com>

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

From-SVN: r127539

17 years agoexp_aggr.adb (Build_Record_Aggr_Code): Extend the test for an ancestor part given...
Gary Dismukes [Thu, 16 Aug 2007 12:18:16 +0000 (14:18 +0200)]
exp_aggr.adb (Build_Record_Aggr_Code): Extend the test for an ancestor part given by an aggregate to test for an...

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.

From-SVN: r127538

17 years agocstand.adb (Create_Standard): Create an entity for a zero-sized type associated with...
Gary Dismukes [Thu, 16 Aug 2007 12:17:54 +0000 (14:17 +0200)]
cstand.adb (Create_Standard): Create an entity for a zero-sized type associated with...

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.

From-SVN: r127537

17 years agore PR middle-end/32897 (Invalid rematerialisation of subregs)
Richard Sandiford [Thu, 16 Aug 2007 10:16:15 +0000 (10:16 +0000)]
re PR middle-end/32897 (Invalid rematerialisation of subregs)

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.

From-SVN: r127536

17 years agore PR c++/31132 (ICE on inconsistent friend declaration)
Paolo Carlini [Thu, 16 Aug 2007 09:05:17 +0000 (09:05 +0000)]
re PR c++/31132 (ICE on inconsistent friend declaration)

/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.

From-SVN: r127535

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

From-SVN: r127534

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

From-SVN: r127533

17 years agors6000.c (rs6000_rtx_costs): Add CLZ, CTZ, and POPCOUNT.
David Edelsohn [Thu, 16 Aug 2007 00:40:27 +0000 (00:40 +0000)]
rs6000.c (rs6000_rtx_costs): Add CLZ, CTZ, and POPCOUNT.

        * config/rs6000/rs6000.c (rs6000_rtx_costs): Add CLZ, CTZ, and
        POPCOUNT.

From-SVN: r127532

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

From-SVN: r127530

17 years agoconfigure.host (gnu*): Set use_libgcj_bc to yes.
Samuel Thibault [Wed, 15 Aug 2007 22:49:49 +0000 (22:49 +0000)]
configure.host (gnu*): Set use_libgcj_bc to yes.

2007-08-16  Samuel Thibault  <samuel.thibault@ens-lyon.org>

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

From-SVN: r127527

17 years agors6000.c (rs6000_file_start): Output a .gnu_attribute directive for the current vecto...
Daniel Jacobowitz [Wed, 15 Aug 2007 22:29:25 +0000 (22:29 +0000)]
rs6000.c (rs6000_file_start): Output a .gnu_attribute directive for the current vector ABI.

* config/rs6000/rs6000.c (rs6000_file_start): Output a .gnu_attribute
directive for the current vector ABI.

From-SVN: r127526

17 years agore PR target/32963 (ICE in failed_reload, could not find a spill register)
Steve Ellcey [Wed, 15 Aug 2007 20:08:43 +0000 (20:08 +0000)]
re PR target/32963 (ICE in failed_reload, could not find a spill register)

PR target/32963
caller-save.c (reg_save_code): Set invalide status on restore code.

From-SVN: r127523

17 years agotarget-supports.exp (check_effective_target_arm32): Use check_no_compiler_messages.
Daniel Jacobowitz [Wed, 15 Aug 2007 17:44:51 +0000 (17:44 +0000)]
target-supports.exp (check_effective_target_arm32): Use check_no_compiler_messages.

* lib/target-supports.exp (check_effective_target_arm32): Use
check_no_compiler_messages.

From-SVN: r127522

17 years agotree-ssa-alias.c (compute_memory_partitions): Use alias_bitmap_obstack to allocate...
Diego Novillo [Wed, 15 Aug 2007 17:37:33 +0000 (13:37 -0400)]
tree-ssa-alias.c (compute_memory_partitions): Use alias_bitmap_obstack to allocate bitmaps.

* 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.

From-SVN: r127520

17 years agoClass.java (internalGetFields): Use LinkedHashSet.
Tom Tromey [Wed, 15 Aug 2007 16:56:17 +0000 (16:56 +0000)]
Class.java (internalGetFields): Use LinkedHashSet.

* java/lang/Class.java (internalGetFields): Use LinkedHashSet.
* classpath/lib/java/lang/Class.class: Rebuilt.

From-SVN: r127518

17 years agomips.c (vr4130_swap_insns_p): Use new interface to scheduler dependencies.
Maxim Kuvyrkov [Wed, 15 Aug 2007 13:42:55 +0000 (13:42 +0000)]
mips.c (vr4130_swap_insns_p): Use new interface to scheduler dependencies.

* config/mips/mips.c (vr4130_swap_insns_p): Use new interface to
scheduler dependencies.

From-SVN: r127516

17 years agoi386.md (subsi3_carry_zext): Remove "m" constraint for "register_operand".
Rask Ingemann Lambertsen [Wed, 15 Aug 2007 13:36:21 +0000 (15:36 +0200)]
i386.md (subsi3_carry_zext): Remove "m" constraint for "register_operand".

* 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.

From-SVN: r127515

17 years agore PR target/32765 (Testsuite failures due to undefined symbol ___emutls_get_address)
Jack Howarth [Wed, 15 Aug 2007 13:11:40 +0000 (13:11 +0000)]
re PR target/32765 (Testsuite failures due to undefined symbol ___emutls_get_address)

PR target/32765
* testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
* testsuite/libgomp.fortran/crayptr2.f90: Likwise.

From-SVN: r127514

17 years agore PR fortran/29459 (Spurious warnings about anonymous variables)
Francois-Xavier Coudert [Wed, 15 Aug 2007 12:39:18 +0000 (12:39 +0000)]
re PR fortran/29459 (Spurious warnings about anonymous variables)

PR fortran/29459
* trans.c (gfc_create_var_np): Do not emit warnings for
anonymous variables.

From-SVN: r127513

17 years agore PR fortran/33077 (RANDOM_SEED failure for integer(kind=8))
Francois-Xavier Coudert [Wed, 15 Aug 2007 12:35:57 +0000 (12:35 +0000)]
re PR fortran/33077 (RANDOM_SEED failure for integer(kind=8))

PR fortran/33077
* intrinsics/random.c (random_seed_i8): Fix code logic.
* gfortran.dg/random_7.f90: Initialize variable.

From-SVN: r127512

17 years agore PR middle-end/33074 (ICE in copy_insn_1, at emit-rtl.c:4925)
Jakub Jelinek [Wed, 15 Aug 2007 12:11:38 +0000 (14:11 +0200)]
re PR middle-end/33074 (ICE in copy_insn_1, at emit-rtl.c:4925)

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.

From-SVN: r127511

17 years agore PR c++/32992 (Incorrect code generated for anonymous union and return)
Jakub Jelinek [Wed, 15 Aug 2007 12:08:42 +0000 (14:08 +0200)]
re PR c++/32992 (Incorrect code generated for anonymous union and return)

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.

From-SVN: r127510

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

From-SVN: r127509

17 years agore PR c++/33035 (ICE on local class destructor)
Paolo Carlini [Wed, 15 Aug 2007 09:06:42 +0000 (09:06 +0000)]
re PR c++/33035 (ICE on local class destructor)

/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.

From-SVN: r127508

17 years agonatPosixProcess.cc (sigchld_handler): Remove 'si' and 'third' parameters.
Samuel Thibault [Wed, 15 Aug 2007 08:19:32 +0000 (08:19 +0000)]
natPosixProcess.cc (sigchld_handler): Remove 'si' and 'third' parameters.

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.

From-SVN: r127507

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

From-SVN: r127506

17 years agosibcall-3.c: Remove m68k from XFAIL list.
Maxim Kuvyrkov [Wed, 15 Aug 2007 04:15:31 +0000 (04:15 +0000)]
sibcall-3.c: Remove m68k from XFAIL list.

* gcc.dg/sibcall-3.c: Remove m68k from XFAIL list.
* gcc.dg/sibcall-4.c: Ditto.

From-SVN: r127505

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

From-SVN: r127504

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

From-SVN: r127502

17 years agosemantics.c (finish_omp_clauses): Strip a NOP_EXPR if constructors and destructors...
Mark Mitchell [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.

* semantics.c (finish_omp_clauses): Strip a NOP_EXPR if
constructors and destructors return this.

From-SVN: r127499

17 years agore PR fortran/33066 ("type, bind(C) t": Diagnose missing "::")
Francois-Xavier Coudert [Tue, 14 Aug 2007 23:26:23 +0000 (23:26 +0000)]
re PR fortran/33066 ("type, bind(C) t": Diagnose missing "::")

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.

From-SVN: r127497

17 years agore PR fortran/33073 (Type mismatch in build_fixbound_expr())
Francois-Xavier Coudert [Tue, 14 Aug 2007 22:40:00 +0000 (22:40 +0000)]
re PR fortran/33073 (Type mismatch in build_fixbound_expr())

PR fortran/33073
* trans-intrinsic.c (build_fixbound_expr): Convert to result type
in all cases.

From-SVN: r127494

17 years agore PR c++/27211 (Bogus error "template definition of non-template" when there is...
Paolo Carlini [Tue, 14 Aug 2007 22:13:45 +0000 (22:13 +0000)]
re PR c++/27211 (Bogus error "template definition of non-template" when there is no non-template)

/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.

From-SVN: r127493

17 years agore PR c++/27211 (Bogus error "template definition of non-template" when there is...
Paolo Carlini [Tue, 14 Aug 2007 22:07:31 +0000 (22:07 +0000)]
re PR c++/27211 (Bogus error "template definition of non-template" when there is no non-template)

/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.

From-SVN: r127492

17 years agotree-pass.h (PROP_pta): Removed.
Daniel Berlin [Tue, 14 Aug 2007 20:52:47 +0000 (20:52 +0000)]
tree-pass.h (PROP_pta): Removed.

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.

From-SVN: r127491

17 years agoi386.c: (legitimize_address): Move dllimported variable check infront of legitimizing...
Kai Tietz [Tue, 14 Aug 2007 18:24:48 +0000 (18:24 +0000)]
i386.c: (legitimize_address): Move dllimported variable check infront of legitimizing...

* i386.c: (legitimize_address): Move dllimported variable check
infront of legitimizing pic address of CONST symbols.

From-SVN: r127488

17 years agore PR tree-optimization/32941 (Bootstrap comparison failure)
Steve Ellcey [Tue, 14 Aug 2007 18:12:34 +0000 (18:12 +0000)]
re PR tree-optimization/32941 (Bootstrap comparison failure)

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.

From-SVN: r127487

17 years agoalias.c (component_uses_parent_alias_set): Constify.
Kaveh R. Ghazi [Tue, 14 Aug 2007 15:18:11 +0000 (15:18 +0000)]
alias.c (component_uses_parent_alias_set): Constify.

* 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.

From-SVN: r127483

17 years agore PR target/30315 (optimize unsigned-add overflow test on x86 to use cpu flags from...
Rask Ingemann Lambertsen [Tue, 14 Aug 2007 14:39:24 +0000 (16:39 +0200)]
re PR target/30315 (optimize unsigned-add overflow test on x86 to use cpu flags from addl)

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.

From-SVN: r127481

17 years agore PR fortran/32594 (substring simplification leads to ICE)
Francois-Xavier Coudert [Tue, 14 Aug 2007 12:44:19 +0000 (12:44 +0000)]
re PR fortran/32594 (substring simplification leads to ICE)

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.

From-SVN: r127478

17 years agore PR c/30428 (vector float | vector float is accepted)
Andrew Pinski [Tue, 14 Aug 2007 09:24:26 +0000 (02:24 -0700)]
re PR c/30428 (vector float | vector float is accepted)

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.

From-SVN: r127477

17 years agoResync
Arnaud Charlet [Tue, 14 Aug 2007 09:19:30 +0000 (11:19 +0200)]
Resync

From-SVN: r127476

17 years agoMinor reformatting.
Arnaud Charlet [Tue, 14 Aug 2007 09:05:23 +0000 (11:05 +0200)]
Minor reformatting.

Update comments.

From-SVN: r127475

17 years ago(Write_Eol): Remove trailing spaces before writing the line
Arnaud Charlet [Tue, 14 Aug 2007 09:04:48 +0000 (11:04 +0200)]
(Write_Eol): Remove trailing spaces before writing the line

(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

From-SVN: r127474

17 years ago(Task_Cont, Task_Stop): New functions, thin binding to the VxWorks routines which...
Arnaud Charlet [Tue, 14 Aug 2007 09:03:24 +0000 (11:03 +0200)]
(Task_Cont, Task_Stop): New functions, thin binding to the VxWorks routines which have changed between VxWorks 5 and 6.

(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.

From-SVN: r127473

17 years ago(Output_Non_Modifed_In_Out_Warnings, Warn_On_Unassigned_Out_Parameter):
Arnaud Charlet [Tue, 14 Aug 2007 09:01:52 +0000 (11:01 +0200)]
(Output_Non_Modifed_In_Out_Warnings, Warn_On_Unassigned_Out_Parameter):

New functions.

From-SVN: r127472

17 years ago(Check_References.Publicly_Referenceable): A formal parameter is never publicly refer...
Arnaud Charlet [Tue, 14 Aug 2007 09:00:48 +0000 (11:00 +0200)]
(Check_References.Publicly_Referenceable): A formal parameter is never publicly referenceable outside of its body.

(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

From-SVN: r127471

17 years ago(lvalue_required_p): Handle N_Parameter_Association like N_Function_Call and N_Proced...
Arnaud Charlet [Tue, 14 Aug 2007 08:58:31 +0000 (10:58 +0200)]
(lvalue_required_p): Handle N_Parameter_Association like N_Function_Call and N_Procedure_Call_Statement.

(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.

From-SVN: r127470

17 years ago(Generic_Separately_Compiled): Rename to Generic_May_Lack_ALI...
Arnaud Charlet [Tue, 14 Aug 2007 08:56:20 +0000 (10:56 +0200)]
(Generic_Separately_Compiled): Rename to Generic_May_Lack_ALI...

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

From-SVN: r127469

17 years agoexp_atag.adb (Build_Inherit_Prims): Addition of a new formal.
Arnaud Charlet [Tue, 14 Aug 2007 08:55:26 +0000 (10:55 +0200)]
exp_atag.adb (Build_Inherit_Prims): Addition of a new formal.

* 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.

From-SVN: r127468

17 years ago[multiple changes]
Arnaud Charlet [Tue, 14 Aug 2007 08:50:51 +0000 (10:50 +0200)]
[multiple changes]

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.

From-SVN: r127467

17 years agotracebak.c: Use tb-ivms.c on OpenVMS Itanium.
Tristan Gingold [Tue, 14 Aug 2007 08:50:30 +0000 (10:50 +0200)]
tracebak.c: Use tb-ivms.c on OpenVMS Itanium.

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

From-SVN: r127466

17 years agos-veboop.adb (SU): New named number initialized to System.Storage_Unit.
Gary Dismukes [Tue, 14 Aug 2007 08:50:18 +0000 (10:50 +0200)]
s-veboop.adb (SU): New named number initialized to System.Storage_Unit.

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.

From-SVN: r127465

17 years agos-tpobop.ads, [...] (Requeue_With_Abort): Rename field With_Abort.
Arnaud Charlet [Tue, 14 Aug 2007 08:50:09 +0000 (10:50 +0200)]
s-tpobop.ads, [...] (Requeue_With_Abort): Rename field With_Abort.

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.

From-SVN: r127464

17 years agos-tasini.adb (Get_Stack_Info): Move this function to System.Soft_Links.Tasking becaus...
Jose Ruiz [Tue, 14 Aug 2007 08:49:56 +0000 (10:49 +0200)]
s-tasini.adb (Get_Stack_Info): Move this function to System.Soft_Links.Tasking because it is common to the...

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.

From-SVN: r127463

17 years agos-finimp.adb (Detach_From_Final_List): make this procedure idempotent since it is...
Cyrille Comar [Tue, 14 Aug 2007 08:49:45 +0000 (10:49 +0200)]
s-finimp.adb (Detach_From_Final_List): make this procedure idempotent since it is potentially used in cases implying...

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.

From-SVN: r127462

17 years agos-fileio.adb (Is_Open): Add check for usability of the underlying file stream.
Pascal Obry [Tue, 14 Aug 2007 08:49:36 +0000 (10:49 +0200)]
s-fileio.adb (Is_Open): Add check for usability of the underlying file stream.

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

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

From-SVN: r127461

17 years agos-ficobl.ads: Declare AFCB as a tagged incomplete type...
Ed Schonberg [Tue, 14 Aug 2007 08:49:26 +0000 (10:49 +0200)]
s-ficobl.ads: Declare AFCB as a tagged incomplete type...

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.

From-SVN: r127460

17 years agosem_disp.adb (Check_Dispatching_Operation): Do not emit warning on a generated interf...
Javier Miranda [Tue, 14 Aug 2007 08:49:15 +0000 (10:49 +0200)]
sem_disp.adb (Check_Dispatching_Operation): Do not emit warning on a generated interface thunk.

2007-08-14  Javier Miranda  <miranda@adacore.com>

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

From-SVN: r127459

17 years agosem_ch9.adb (Check_Interfaces): New subprogram that factorizes code that is common...
Javier Miranda [Tue, 14 Aug 2007 08:49:06 +0000 (10:49 +0200)]
sem_ch9.adb (Check_Interfaces): New subprogram that factorizes code that is common to Analyze_Protected_Type...

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.

From-SVN: r127458

17 years agopar-ch6.adb (P_Formal_Part): Fix wrong error message associated with null-excluding...
Javier Miranda [Tue, 14 Aug 2007 08:48:56 +0000 (10:48 +0200)]
par-ch6.adb (P_Formal_Part): Fix wrong error message associated with null-excluding access types.

2007-08-14  Javier Miranda  <miranda@adacore.com>

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

From-SVN: r127457

17 years agooutput.ads, output.adb (Write_Eol): Remove trailing spaces before writing the line.
Vincent Celier [Tue, 14 Aug 2007 08:48:45 +0000 (10:48 +0200)]
output.ads, output.adb (Write_Eol): Remove trailing spaces before writing the line.

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

From-SVN: r127456

17 years agolayout.adb (Layout_Type): In the case of access-to-subprogram types...
Gary Dismukes [Tue, 14 Aug 2007 08:48:36 +0000 (10:48 +0200)]
layout.adb (Layout_Type): In the case of access-to-subprogram types...

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.

From-SVN: r127455

17 years agoimpunit.adb: Re-organize System.Random_Numbers and GNAT.Random_Numbers and add to...
Paul Hilfinger [Tue, 14 Aug 2007 08:48:27 +0000 (10:48 +0200)]
impunit.adb: Re-organize System.Random_Numbers and GNAT.Random_Numbers and add to builds.

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.

From-SVN: r127454

17 years agognatls.adb: (Corresponding_Sdep_Entry): Always return a value
Vincent Celier [Tue, 14 Aug 2007 08:48:16 +0000 (10:48 +0200)]
gnatls.adb: (Corresponding_Sdep_Entry): Always return a value

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

From-SVN: r127453

17 years agognatlink.adb (Gnatlink): Pass switches to the linker even if the binder-generated...
Eric Botcazou [Tue, 14 Aug 2007 08:48:07 +0000 (10:48 +0200)]
gnatlink.adb (Gnatlink): Pass switches to the linker even if the binder-generated file is not in Ada.

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.

From-SVN: r127452

17 years agog-comlin.adb (Getopt): Fix handling of "*" switch when not collapsing switches.
Emmanuel Briot [Tue, 14 Aug 2007 08:47:56 +0000 (10:47 +0200)]
g-comlin.adb (Getopt): Fix handling of "*" switch when not collapsing switches.

2007-08-14  Emmanuel Briot  <briot@adacore.com>

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

From-SVN: r127451

17 years agog-catiio.adb (Image): For the case of %s...
Hristian Kirtchev [Tue, 14 Aug 2007 08:47:45 +0000 (10:47 +0200)]
g-catiio.adb (Image): For the case of %s...

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.

From-SVN: r127450

17 years agoexp_dist.adb (PolyORB_Support.Build_TypeCode_Function): When creating typecode parame...
Thomas Quinot [Tue, 14 Aug 2007 08:47:36 +0000 (10:47 +0200)]
exp_dist.adb (PolyORB_Support.Build_TypeCode_Function): When creating typecode parameters for a union (in a variant record)...

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.

From-SVN: r127449

17 years agoexp_ch9.adb (Build_Protected_Entry): Propagate the original source location to allow...
Javier Miranda [Tue, 14 Aug 2007 08:47:24 +0000 (10:47 +0200)]
exp_ch9.adb (Build_Protected_Entry): Propagate the original source location to allow the correct generation of...

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.

From-SVN: r127448

17 years agosem_res.adb (Resolve_Allocator): Propagate any coextensions that appear in the subtre...
Ed Schonberg [Tue, 14 Aug 2007 08:47:12 +0000 (10:47 +0200)]
sem_res.adb (Resolve_Allocator): Propagate any coextensions that appear in the subtree to the current allocator...

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.

From-SVN: r127447

17 years agosem_ch8.ads, [...] (Find_Type, [...]): Use correct entity as denoted entity for the...
Thomas Quinot [Tue, 14 Aug 2007 08:46:54 +0000 (10:46 +0200)]
sem_ch8.ads, [...] (Find_Type, [...]): Use correct entity as denoted entity for the selector of the rewritten node.

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.

From-SVN: r127446

17 years agosem_cat.ads, [...] (Has_Stream_Attribute_Definition): New formal At_Any_Place indicat...
Thomas Quinot [Tue, 14 Aug 2007 08:46:43 +0000 (10:46 +0200)]
sem_cat.ads, [...] (Has_Stream_Attribute_Definition): New formal At_Any_Place indicating...

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.

From-SVN: r127445

17 years agosem_ch4.adb (Try_Class_Wide_Operation): use base type of first parameter to determine...
Ed Schonberg [Tue, 14 Aug 2007 08:46:31 +0000 (10:46 +0200)]
sem_ch4.adb (Try_Class_Wide_Operation): use base type of first parameter to determine whether operation applies to the...

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.

From-SVN: r127444

17 years agosem_ch12.ads, [...] (Instantiate_Type): If the formal is a derived type with interfac...
Ed Schonberg [Tue, 14 Aug 2007 08:46:18 +0000 (10:46 +0200)]
sem_ch12.ads, [...] (Instantiate_Type): If the formal is a derived type with interface progenitors use the analyzed...

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.

From-SVN: r127443

17 years agotable.adb, [...] (Append): Reimplement in terms of Set_Item.
Thomas Quinot [Tue, 14 Aug 2007 08:46:03 +0000 (10:46 +0200)]
table.adb, [...] (Append): Reimplement in terms of Set_Item.

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);

From-SVN: r127442

17 years agoa-cihama.ads, [...] (Next): Applied pragma Inline.
Bob Duff [Tue, 14 Aug 2007 08:45:48 +0000 (10:45 +0200)]
a-cihama.ads, [...] (Next): Applied pragma Inline.

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

From-SVN: r127441

17 years agos-intman-irix.adb, [...]: Minor reformatting
Robert Dewar [Tue, 14 Aug 2007 08:45:25 +0000 (10:45 +0200)]
s-intman-irix.adb, [...]: Minor reformatting

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.

From-SVN: r127440

17 years agobinde.adb (Elab_All_Links): Remove unnecessary call to Generic_Separately_Compiled...
Thomas Quinot [Tue, 14 Aug 2007 08:45:05 +0000 (10:45 +0200)]
binde.adb (Elab_All_Links): Remove unnecessary call to Generic_Separately_Compiled (if...

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).

From-SVN: r127439

17 years agoa-tags.ads, a-tags.adb (Displace): Associate a message with the raised CE exception.
Javier Miranda [Tue, 14 Aug 2007 08:44:53 +0000 (10:44 +0200)]
a-tags.ads, a-tags.adb (Displace): Associate a message with the raised CE exception.

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.

From-SVN: r127438

17 years agoadaint.c (__gnat_is_absolute_path): For VxWorks systems we accept dir/file...
Jose Ruiz [Tue, 14 Aug 2007 08:44:42 +0000 (10:44 +0200)]
adaint.c (__gnat_is_absolute_path): For VxWorks systems we accept dir/file...

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.

From-SVN: r127437

17 years agosem_ch10.adb: Create a limited view of an incomplete type...
Ed Schonberg [Tue, 14 Aug 2007 08:44:31 +0000 (10:44 +0200)]
sem_ch10.adb: Create a limited view of an incomplete type...

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.

From-SVN: r127436

17 years agos-taprop-linux.adb (Get_Stack_Attributes): New subprogram.
Olivier Hainque [Tue, 14 Aug 2007 08:44:14 +0000 (10:44 +0200)]
s-taprop-linux.adb (Get_Stack_Attributes): New subprogram.

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.

From-SVN: r127435

17 years agos-osinte-mingw.ads: Add support for Ada.Execution_Time on Windows.
Pascal Obry [Tue, 14 Aug 2007 08:44:02 +0000 (10:44 +0200)]
s-osinte-mingw.ads: Add support for Ada.Execution_Time on Windows.

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.

From-SVN: r127434

17 years agosystem-solaris-x86.ads (ZCX_By_Default): Switch to True.
Olivier Hainque [Tue, 14 Aug 2007 08:43:46 +0000 (10:43 +0200)]
system-solaris-x86.ads (ZCX_By_Default): Switch to True.

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.

From-SVN: r127433

17 years agoclean.adb, [...] (Create_Sym_Links): New procedure.
Vincent Celier [Tue, 14 Aug 2007 08:43:34 +0000 (10:43 +0200)]
clean.adb, [...] (Create_Sym_Links): New procedure.

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.

From-SVN: r127432

17 years agos-taprop-lynxos.adb, [...] (Continue_Task, [...]): New functions; dummy implementations.
Jerome Guitton [Tue, 14 Aug 2007 08:42:09 +0000 (10:42 +0200)]
s-taprop-lynxos.adb, [...] (Continue_Task, [...]): New functions; dummy implementations.

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.

From-SVN: r127431

17 years agoexp_ch5.adb (Expand_Assign_Array): If source or target of assignment is a variable...
Ed Schonberg [Tue, 14 Aug 2007 08:41:57 +0000 (10:41 +0200)]
exp_ch5.adb (Expand_Assign_Array): If source or target of assignment is a variable that renames a slice...

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.

From-SVN: r127430