* configure.ac (HAVE_AS_IX86_DIFF_SECT_DELTA): New test to determine
whether the assembler supports taking the difference of symbols in
different sections. On x86/Solaris, GAS does but Solaris as doesn't.
* configure: Regenerate.
* config.in: Regenerate.
* config/i386/sol2-10.h (JUMP_TABLES_IN_TEXT_SECTION): Define if
the assembler doesn't support taking the difference of symbols in
different sections, i.e. we're using the native solaris assembler.
From-SVN: r118405
* gcc.dg/fold-mod-1.c: Match the leading 0x for the
hexadecimal value.
* gcc.dg/tree-prof/val-prof-2.c: Likewise.
* gcc.dg/pr14796-2.c: Likewise.
From-SVN: r118394
* tree-pretty-print.c (dump_generic_node) <INTEGER_CST>: Use
HOST_WIDE_INT_PRINT to print high and low parts. Use
HOST_BITS_PER_WIDE_INT for the width of HOST_WIDE_INT. When
printing a hexadecimal number prefix it with 0x.
From-SVN: r118393
2006-11-01 Douglas Gregor <doug.gregor@gmail.com>
* include/cpplib.h (enum c_lang): Add CLK_GNUCXX0X and CLK_CXX0X
for experimental C++0x mode.
* init.c (lang_defaults): Add defaults for C++0x modes. C++0x has
adopted the preprocessor changes introduced in C99.
From-SVN: r118385
* toplev.c (compile_file): Call final_write_globals
even if there have been errors.
In gcc/cp/:
* decl2.c (cp_write_global_declarations): Rename from
cp_finish_file.
* cp-lang.c (finish_file): Don't call cp_finish_file.
* cp-tree.h (cp_write_global_declarations): Rename from
cp_finish_file.
* cp-objcp-common.h (LANG_HOOKS_WRITE_GLOBALS): Define to
cp_write_global_declarations.
From-SVN: r118362
* coverage.c (coverage_checksum_string): Update comment.
* dwarf2out.c (switch_to_eh_frame_section): Update for removal
of get_file_function_name.
* cgraphunit.c (cgraph_build_static_cdtor): Update for rename
of get_file_function_name_long.
* tree.c (get_file_function_name): Rename from
get_file_function_name_long; improve comment; handle 'I' and 'D'
specially when the target has ctor/dtor support; remove special
handling for 'F'.
(get_file_function_name): Remove.
* tree.h (get_file_function_name): Rename from
get_file_function_name_long.
(get_file_function_name): Remove prototype.
In gcc/cp/:
* name-lookup.c (get_anonymous_namespace_name): New.
(push_namespace_with_attribs): Use get_anonymous_namespace_name.
* decl2.c (start_objects): Update for rename of
get_file_function_name_long.
In gcc/fortran/:
* trans-decl.c (gfc_generate_constructors): Update for removal
of get_file_function_name.
From-SVN: r118360
* config/i386/darwin.h (PREFERRED_DEBUGGING_TYPE): Remove.
* config/darwin.h (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
* config/darwin.h (LINK_COMMAND_SPEC): Don't do weird things with -@.
Call dsymutil when compiling and linking one or more source files
in one step.
From-SVN: r118359
PR middle-end/23470
* tree.h (tree_expr_nonnegative_p): Return "bool" instead of "int".
* fold-const.c (tree_expr_nonnegative_p): Likewise. Consider
pow(x,y) and powi(x,y) to be nonnegative if either x is nonnegative
or y is an even integer.
* gcc.dg/pr23470-1.c: New test case.
From-SVN: r118355
fortran/ChangeLog:
2006-11-01 Bernhard Fischer <aldot@gcc.gnu.org>
PR fortran/29537
* trans-common.c (gfc_trans_common): If the blank common is
in a procedure or program without a name then proc_name is null, so use
the locus of the common.
(gfc_sym_mangled_common_id): Fix whitespace.
* match.c (gfc_match_common): Emit warning about blank common in
block data.
testsuite/ChangeLog:
2006-11-01 Bernhard Fischer <aldot@gcc.gnu.org>
PR fortran/29537
* gfortran.dg/blockdata_1.f90: Add warning about blank common in block
data.
* gfortran.dg/blockdata_2.f90: New testcase.
From-SVN: r118347
2006-10-31 Thomas Koenig <Thomas.Koenig@online.de>
PR libfortran/29627
* libgfortran.h: Add ERROR_SHORT_RECORD
* runtime/error.c (translate_error): Add case
for ERROR_SHORT_RECORD.
* io/transfer.c (read_block_direct): Separate codepaths
for stream and record unformatted I/O. Remove unneeded
tests for standard input, padding and formatted I/O.
If the record is short, read in as much data as possible,
then raise the error.
2006-10-31 Thomas Koenig <Thomas.Koenig@online.de>
PR libfortran/29627
* gfortran.dg/unf_short_record_1.f90: New test.
From-SVN: r118341
2006-10-31 Joseph Myers <joseph@codesourcery.com>
Richard Sandiford <richard@codesourcery.com>
* lib/target-supports.exp (get_compiler_messages): Append options
as a single list element.
(check_effective_target_arm_vfp_ok): New.
* gcc.dg/arm-vfp1.c: Use arm_vfp_ok.
Co-Authored-By: Richard Sandiford <richard@codesourcery.com>
From-SVN: r118334
2006-10-31 Eric Botcazou <ebotcazou@adacore.com>
Nicolas Setton <setton@adacore.com>
Olivier Hainque <hainque@adacore.com>
Gary Dismukes <dismukes@adacore.com>
* gigi.h: (tree_code_for_record_type): Declare.
(add_global_renaming_pointer): Rename to record_global_renaming_pointer.
(get_global_renaming_pointers): Rename to
invalidate_global_renaming_pointers.
(static_ctors): Delete.
(static_dtors): Likewise.
(gnat_write_global_declarations): Declare.
(create_var_decl): Adjust descriptive comment to indicate that the
subprogram may return a CONST_DECL node.
(create_true_var_decl): Declare new function, similar to
create_var_decl but forcing the creation of a VAR_DECL node.
(get_global_renaming_pointers): Declare.
(add_global_renaming_pointer): Likewise.
* ada-tree.h (DECL_READONLY_ONCE_ELAB): New macro.
* decl.c (gnat_to_gnu_entity) <case E_Function>: Don't copy the type
tree before setting TREE_ADDRESSABLE for by-reference return mechanism
processing.
(gnat_to_gnu_entity): Remove From_With_Type from computation for
imported_p.
<E_Access_Type>: Use the Non_Limited_View as the full view of the
designated type if the pointer comes from a limited_with clause. Make
incomplete designated type if it is in the main unit and has a freeze
node.
<E_Incomplete_Type>: Rework to treat Non_Limited_View, Full_View, and
Underlying_Full_View similarly. Return earlier if the full view already
has an associated tree.
(gnat_to_gnu_entity) <E_Record_Type>: Restore comment.
(gnat_to_gnu_entity) <E_Record_Type>: Do not use a dummy type.
(gnat_to_gnu_entity) <E_Variable>: Set TYPE_REF_CAN_ALIAS_ALL on the
reference type built for objects with an address clause.
Use create_true_var_decl with const_flag set for
DECL_CONST_CORRESPONDING_VARs, ensuring a VAR_DECL is created with
TREE_READONLY set.
(gnat_to_gnu_entity, case E_Enumeration_Type): Set TYPE_NAME
for Character and Wide_Character types. This info is read by the
dwarf-2 writer, and is needed to be able to use the command "ptype
character" in the debugger.
(gnat_to_gnu_entity): When generating a type representing
a Character or Wide_Character type, set the flag TYPE_STRING_FLAG,
so that debug writers can distinguish it from ordinary integers.
(elaborate_expression_1): Test the DECL_READONLY_ONCE_ELAB flag in
addition to TREE_READONLY to assert the constantness of variables for
elaboration purposes.
(gnat_to_gnu_entity, subprogram cases): Change loops on formal
parameters to call new Einfo function First_Formal_With_Extras.
(gnat_to_gnu_entity): In type_annotate mode, replace a discriminant of a
protected type with its corresponding discriminant, to obtain a usable
declaration
(gnat_to_gnu_entity) <E_Access_Protected_Subprogram_Type>: Be prepared
for a multiple elaboration of the "equivalent" type.
(gnat_to_gnu_entity): Adjust for renaming of add_global_renaming_pointer
into record_global_renaming_pointer.
(gnat_to_gnu_entity) <E_Array_Type>: Do not force
TYPE_NONALIASED_COMPONENT to 0 if the element type is an aggregate.
<E_Array_Subtype>: Likewise.
(gnat_to_gnu_entity) <E_Incomplete_Subtype>: Add support for regular
incomplete subtypes and incomplete subtypes of incomplete types visible
through a limited with clause.
(gnat_to_gnu_entity) <E_Array_Subtype>: Take into account the bounds of
the base index type for the maximum size of the array only if they are
constant.
(gnat_to_gnu_entity, renaming object case): Do not wrap up the
expression into a SAVE_EXPR if stabilization failed.
* utils.c (create_subprog_decl): Turn TREE_ADDRESSABLE on the type of
a result decl into DECL_BY_REFERENCE on this decl, now what is expected
by lower level compilation passes.
(gnat_genericize): New function, lowering a function body to GENERIC.
Turn the type of RESULT_DECL into a real reference type if the decl
has been marked DECL_BY_REFERENCE, and adjust references to the latter
accordingly.
(gnat_genericize_r): New function. Tree walking callback for
gnat_genericize.
(convert_from_reference, is_byref_result): New functions. Helpers for
gnat_genericize_r.
(create_type_decl): Call gnat_pushdecl before calling
rest_of_decl_compilation, to make sure that field TYPE_NAME of
type_decl is properly set before calling the debug information writers.
(write_record_type_debug_info): The heuristics which compute the
alignment of a field in a variant record might not be accurate. Add a
safety test to make sure no alignment is set to a smaller value than
the alignment of the field type.
(make_dummy_type): Use the Non_Limited_View as the underlying type if
the type comes from a limited_with clause. Do not loop on the full view.
(GET_GNU_TREE, SET_GNU_TREE, PRESENT_GNU_TREE): New macros.
(dummy_node_table): New global variable, moved from decl.c.
(GET_DUMMY_NODE, SET_DUMMY_NODE, PRESENT_DUMMY_NODE): New macros.
(save_gnu_tree): Use above macros.
(get_gnu_tree): Likewise.
(present_gnu_tree): Likewise.
(init_dummy_type): New function, moved from decl.c. Use above macros.
(make_dummy_type): Likewise.
(tree_code_for_record_type): New function extracted from make_dummy_type
(init_gigi_decls): Set DECL_IS_MALLOC on gnat_malloc.
(static_ctors): Change it to a vector, make static.
(static_dtors): Likewise.
(end_subprog_body): Adjust for above change.
(build_global_cdtor): Moved from trans.c.
(gnat_write_global_declarations): Emit global constructor and
destructor, and call cgraph_optimize before emitting debug info for
global declarations.
(global_decls): New global variable.
(gnat_pushdecl): Store the global declarations in global_decls, for
later use.
(gnat_write_global_declarations): Emit debug information for global
declarations.
(create_var_decl_1): Former create_var_decl, with an extra argument to
state whether the creation of a CONST_DECL is allowed.
(create_var_decl): Behavior unchanged. Now a wrapper around
create_var_decl_1 allowing CONST_DECL creation.
(create_true_var_decl): New function, similar to create_var_decl but
forcing the creation of a VAR_DECL node (CONST_DECL not allowed).
(create_field_decl): Do not always mark the field as addressable
if its type is an aggregate.
(global_renaming_pointers): New static variable.
(add_global_renaming_pointer): New function.
(get_global_renaming_pointers): Likewise.
* misc.c (gnat_dwarf_name): New function.
(LANG_HOOKS_DWARF_NAME): Define to gnat_dwarf_name.
(gnat_post_options): Add comment about structural alias analysis.
(gnat_parse_file): Do not call cgraph_optimize here.
(LANG_HOOKS_WRITE_GLOBALS): Define to gnat_write_global_declarations.
* trans.c (process_freeze_entity): Don't abort if we already have a
non dummy GCC tree for a Concurrent_Record_Type, as it might
legitimately have been elaborated while processing the associated
Concurrent_Type prior to this explicit freeze node.
(Identifier_to_gnu): Do not make a variable referenced in a SJLJ
exception handler volatile if it is of variable size.
(process_type): Remove bypass for types coming from a limited_with
clause.
(call_to_gnu): When processing the copy-out of a N_Type_Conversion GNAT
actual, convert the corresponding gnu_actual to the real destination
type when necessary.
(add_decl_expr): Set the DECL_READONLY_ONCE_ELAB flag on variables
originally TREE_READONLY but whose elaboration cannot be performed
statically.
Part of fix for F504-021.
(tree_transform, subprogram cases): Change loops on formal parameters to
call new Einfo function First_Formal_With_Extras.
(gnat_to_gnu) <N_Op_Shift_Right_Arithmetic>: Ignore constant overflow
stemming from type conversion for the lhs.
(Attribute_to_gnu) <Attr_Alignment>: Also divide the alignment by the
number of bits per unit for components of records.
(gnat_to_gnu) <N_Code_Statement>: Mark operands addressable if needed.
(Handled_Sequence_Of_Statements_to_gnu): Register the cleanup associated
with At_End_Proc after the SJLJ EH cleanup.
(Compilation_Unit_to_gnu): Call elaborate_all_entities only on the main
compilation unit.
(elaborate_all_entities): Do not retest type_annotate_only.
(tree_transform) <N_Abstract_Subprogram_Declaration>: Process the
result type of an abstract subprogram, which may be an itype associated
with an anonymous access result (related to AI-318-02).
(build_global_cdtor): Move to utils.c.
(Case_Statement_to_gnu): Avoid adding the choice of a when statement if
this choice is not a null tree nor an integer constant.
(gigi): Run unshare_save_expr via walk_tree_without_duplicates
on the body of elaboration routines instead of mark_unvisited.
(add_stmt): Do not mark the tree.
(add_decl_expr): Tweak comment.
(mark_unvisited): Delete.
(unshare_save_expr): New static function.
(call_to_gnu): Issue an error when making a temporary around a
procedure call because of non-addressable actual parameter if the
type of the formal is by_reference.
(Compilation_Unit_to_gnu): Invalidate the global renaming pointers
after building the elaboration routine.
From-SVN: r118331
2006-10-31 Robert Dewar <dewar@adacore.com>
Thomas Quinot <quinot@adacore.com>
Arnaud Charlet <charlet@adacore.com>
* fmap.adb: Put routines in alpha order
* g-boumai.ads: Remove redundant 'in' keywords
* g-cgi.adb: Minor reformatting
* g-cgi.ads: Remove redundant 'in' keywords
* get_targ.adb: Put routines in alpha order
* prj-attr.ads: Minor reformatting
* s-atacco.ads: Minor reformatting
* scn.adb: Put routines in alpha order
* sinput-l.adb: Minor comment fix
* sinput-p.adb: Minor comment fix
* s-maccod.ads: Minor reformatting
* s-memory.adb: Minor reformatting
* s-htable.adb: Fix typo in comment.
* s-secsta.adb: Minor comment update.
* s-soflin.adb: Minor reformatting
* s-stoele.ads:
Add comment about odd qualification in Storage_Offset declaration
* s-strxdr.adb:
Remove unnecessary 'in' keywords for formal parameters.
* treeprs.adt: Minor reformatting
* urealp.adb: Put routines in alpha order
* s-wchcon.ads, s-wchcon.adb (Get_WC_Encoding_Method): New version
taking string.
* s-asthan-vms-alpha.adb: Remove redundant 'in' keywords
* g-trasym-vms-ia64.adb: Remove redundant 'in' keywords
* env.c (__gnat_unsetenv): Unsetenv is unavailable on LynxOS, so
workaround as on other platforms.
* g-eacodu-vms.adb: Remove redundant 'in' keywords
* g-expect-vms.adb: Remove redundant 'in' keywords
* gnatdll.adb (Add_Files_From_List): Handle Name_Error and report a
clear error message if the list-of-files file cannot be opened.
* g-thread.adb (Unregister_Thread_Id): Add use type Thread_Id so the
equality operator is always visible.
* lang.opt: Woverlength-strings: New option.
* nmake.adt:
Update copyright, since nmake.ads and nmake.adb have changed.
* osint-b.ads, osint-b.adb (Time_From_Last_Bind): removed function .
(Binder_Output_Time_Stamps_Set): removed.
(Old_Binder_Output_Time_Stamp): idem.
(New_Binder_Output_Time_Stamp): idem.
(Recording_Time_From_Last_Bind): idem.
(Recording_Time_From_Last_Bind): Make constant.
* output.ads, output.adb (Write_Str): Allow LF characters
(Write_Spaces): New procedure
* prepcomp.adb (Preproc_Data_Table): Change Increment from 5% to 100%
* inline.adb: Minor reformatting
* s-asthan-vms-alpha.adb: Remove redundant 'in' keywords
* s-mastop-vms.adb: Remove redundant 'in' keywords
* s-osprim-vms.adb: Remove redundant 'in' keywords
* s-trafor-default.adb: Remove redundant 'in' keywords
* 9drpc.adb: Remove redundant 'in' keywords
* s-osinte-mingw.ads: Minor reformatting
* s-inmaop-posix.adb: Minor reformatting
* a-direio.ads: Remove quotes from Compile_Time_Warning message
* a-exexda.adb: Minor code reorganization
* a-filico.adb: Minor reformatting
* a-finali.adb: Minor reformatting
* a-nudira.ads: Remove quote from Compile_Time_Warning message
* a-numeri.ads: Minor reformatting
* a-sequio.ads: Remove quotes from Compile_Time_Warning message
* exp_pakd.ads: Fix obsolete comment
* a-ztenau.adb, a-ztenio.adb, a-wtenau.adb, a-tienau.adb,
a-wtenio.adb (Put): Avoid assuming low bound of string is 1.
Probably not a bug, but certainly neater and more efficient.
* a-tienio.adb: Minor reformatting
* comperr.adb (Compiler_Abort): Call Cancel_Special_Output at start
Avoid assuming low bound of string is 1.
* gnatbind.adb: Change Bindusg to package and rename procedure as
Display, which now ensures that it only outputs usage information once.
(Scan_Bind_Arg): Avoid assuming low bound of string is 1.
* g-pehage.adb (Build_Identical_Keysets): Replace use of 1 by
Table'First.
* g-regpat.adb (Insert_Operator): Add pragma Warnings (Off) to kill
warning.
(Match): Add pragma Assert to ensure that Matches'First is zero
* g-regpat.ads (Match): Document that Matches lower bound must be zero
* makeutl.adb (Is_External_Assignment): Add pragma Assert's to check
documented preconditions (also kills warnings about bad indexes).
* mdll.adb (Build_Dynamic_Library): Avoid assumption that Afiles'First
is 1.
(Build_Import_Library): Ditto;
* mdll-utl.adb: (Gnatbind): Avoid assumption that Alis'First = 1
* rtsfind.adb (RTE_Error_Msg): Avoid assuming low bound of string is 1.
* sem_case.adb (Analyze_Choices): Add pragma Assert to check that
lower bound of choice table is 1.
* sem_case.ads (Analyze_Choices): Document that lower bound of
Choice_Table is 1.
* s-imgdec.adb (Set_Decimal_Digits): Avoid assuming low bound of
string is 1.
* uintp.adb (Init_Operand): Document that low bound of Vec is always 1,
and add appropriate Assert pragma to suppress warnings.
* atree.h, atree.ads, atree.adb
Change Elist24 to Elist25
Add definitions of Field28 and Node28
(Traverse_Field): Use new syntactic parent table in sinfo.
* cstand.adb: Change name Is_Ada_2005 to Is_Ada_2005_Only
* itypes.adb: Change name Is_Ada_2005 to Is_Ada_2005_Only
* exp_tss.adb: Put routines in alpha order
* fe.h: Remove redundant declarations.
From-SVN: r118330
2006-10-31 Robert Dewar <dewar@adacore.com>
* s-osinte-tru64.adb:
Mark Asm statements Volatile to prevent warnings (seems a
reasonable change anyway)
Fixes new warnings
* s-mastop-irix.adb: Add Volatile to Asm statements
Suppresses warning, and seems appropriate in any case
* s-osinte-vms.adb: Add Volatile to Asm statement
* s-vaflop-vms-alpha.adb: Add Volatile to Asm statements
* exp_code.ads, exp_code.adb (Asm_Input_Value): Note that Error can be
returned.
Add call to Check_Code_Statement
From-SVN: r118329
2006-10-31 Robert Dewar <dewar@adacore.com>
Cyrille Comar <comar@adacore.com>
Ben Brosgol <brosgol@adacore.com>
* debug.adb: Update flags documentation
* gnat_ugn.texi: Add documentation for new -gnatwq switch
Clean up documentation for several other warning switches
Clarify how task stack size can be specified with various
versions of Windows.
Add note that -gnatVo includes ranges including loops
Add documentation for -gnatL switch
Add note on elaboration warning for initializing variables
Add documentation for new -gnatwt warning switch
Document new form of pragma Warnings (On|Off, string)
Add comment on use of pragma Warnings to control warnings
Add documentation for -gnatjnn switch
Modify section on interfacing with C for VMS 64-bit.
Add doc for -gnatVe/E
Add documentation of new warning flags -gnatww/-gnatwW
Add warnings about address clause overlays to list of warnings
(Exception Handling Control): Document that the option --RTS must be
used consistently for gcc and gnatbind.
Clarify that inlining is not always possible
Update documentation on pragma Unchecked_Union.
* gnat_rm.texi:
Add documentation for new extended version of pragma Obsolescent
Add documentation for implementation defined attribute 'Stub_Type.
Add note on use of Volatile in asm statements
Add documentation on use of pragma Unreferenced in context clause
Document new form of pragma Warnings (On|Off, pattern)
Document pragma Wide_Character_Encoding
Add note that pragma Restrictions (No_Elaboration_Code) is only fully
enforced if code generation is active.
Add section on pragma Suppress to document GNAT specific check
Alignment_Check
Clarify difference between No_Dispatching_Calls & No_Dispatch.
Add documentation for pragma Restrictions (No_Elaboration_Code)
* gnat-style.texi:
Add comments on layout of subprogram local variables in the
presence of nested subprograms.
* ug_words: Resync.
* elists.ads: Minor reformatting
Node returns Node_Or_Entity_Id (doc change only)
* xgnatugn.adb: Replace ACADEMICEDITION with GPLEDITION
* g-arrspl.ads (Create): Update comments.
* sem.ads: Add details on the handling of the scope stack.
* usage.adb: Update documentation.
* validsw.ads, validsw.adb:
Add definition of Validity_Check_Components and implement -gnatVe/E
* vms_data.ads: Add missing VMS qualifiers.
* s-addope.ads: Add documentation on overflow and divide by zero
From-SVN: r118328
2006-10-31 Pat Rogers <rogers@adacore.com>
* a-rttiev.ads, a-rttiev.adb:
This is a significant redesign primarily for the sake of automatic
timer task termination but also to fix a design flaw.
Therefore we are now using an RTS lock, instead of a protected
object, to provide mutual exclusion to the queue of pending events
and the type Timing_Event is no longer a protected type.
From-SVN: r118327
2006-10-31 Vincent Celier <celier@adacore.com>
* symbols-processing-vms-ia64.adb,
symbols-processing-vms-alpha.adb (Process): Do not include symbols
that come from generic instantiations in bodies.
From-SVN: r118326
2006-10-31 Matt Heaney <heaney@adacore.com>
* a-crbtgo.ads: Commented each subprogram
* a-crbtgo.adb: Added reference to book from which algorithms were
adapted.
* a-crbtgk.ads, a-crbtgk.adb (Generic_Insert_Post): pass flag to
indicate which child.
(Generic_Conditional_Insert): changed parameter name from "Success" to
"Inserted".
(Generic_Unconditional_Insert_With_Hint): improved algorithm
* a-coorse.adb (Replace_Element): changed parameter name in call to
conditional insert operation.
* a-convec.adb, a-coinve.adb (Insert): removed obsolete comment
* a-cohama.adb (Iterate): manipulate busy-bit here, instead of in
Generic_Iteration
* a-ciorse.adb (Replace_Element): changed parameter name in call to
conditional insert operation.
* a-cihama.adb (Iterate): manipulate busy-bit here, instead of in
Generic_Iteration.
* a-cidlli.ads, a-cidlli.adb (Splice): Position param is now mode in
instead of mode inout.
* a-chtgop.adb (Adjust): modified comments to reflect current AI-302
draft
(Generic_Read): preserve existing buckets array if possible
(Generic_Write): don't send buckets array length anymore
* a-cdlili.ads, a-cdlili.adb (Splice): Position param is now mode in
instead of mode inout.
* a-cihase.adb (Difference): iterate over smaller of Tgt and Src sets
(Iterate): manipulate busy-bit here, instead of in Generic_Iteration
* a-cohase.adb (Difference): iterate over smaller of Tgt and Src sets
(Iterate): manipulate busy-bit here, instead of in Generic_Iteration
(Replace_Element): local operation is now an instantiation
* a-chtgke.ads, a-chtgke.adb (Generic_Conditional_Insert): manually
check current length.
(Generic_Replace_Element): new operation
From-SVN: r118324
2006-10-31 Vincent Celier <celier@adacore.com>
* makegpr.adb (Check_Compilation_Needed): Take into account path names
with spaces.
(Check_Compilation_Needed): When checking a C or C++ source, do not
resolve symbolic links.
(Display_Command): New Boolean parameter Ellipse, defaulted to False.
When not in verbose mode and Ellipse is True, display "..." for the
first argument with Display set to False.
(Build_Global_Archive): Always set Display True for the first object
file. Call Display_Command with Ellipse set to True.
From-SVN: r118323