1. 01 Nov, 2006 12 commits
    • In gcc/: PR 23067 · 58182de3
      In gcc/:
      	PR 23067
      	* c-decl.c (start_struct): Don't create self-containing
      	structures.
      	* config/rs6000/rs6000.c (darwin_rs6000_special_round_type_align):
      	New.
      	* config/rs6000/rs6000-protos.h
      	(darwin_rs6000_special_round_type_align): New.
      	* config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Rewrite.
      	(ROUND_TYPE_ALIGN): Use darwin_rs6000_special_round_type_align.
      In gcc/testsuite/:
      	PR 23067
      	* gcc.target/powerpc/darwin-abi-3.c: Remove XFAIL.
      	* gcc.target/powerpc/darwin-abi-6.c: Remove XFAIL.
      	* gcc.target/powerpc/darwin-abi-7.c: Remove XFAIL.
      	* gcc.target/powerpc/darwin-abi-8.c: Remove XFAIL.
      	* gcc.target/powerpc/darwin-abi-9.c: Remove XFAIL.
      	* gcc.target/powerpc/darwin-abi-10.c: Remove XFAIL.
      	* gcc.target/powerpc/darwin-abi-11.c: Remove XFAIL.
      In libobjc/:
      	* encoding.c (darwin_rs6000_special_round_type_align): New.
      In libffi/:
      	* src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New.
      	(ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for
      	Darwin.
      	* testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL.
      	* testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL.
      
      From-SVN: r118365
      Geoffrey Keating committed
    • builtin-bswap-1.c: New. · 0e7e09dc
      2006-10-31  Eric Christopher  <echristo@apple.com>
      	    Falk Hueffner  <falk@debian.org>
      
      	* gcc.dg/builtin-bswap-1.c: New.
      	* gcc.dg/builtin-bswap-2.c: New.
      	* gcc.dg/builtin-bswap-3.c: New.
      	* gcc.dg/builtin-bswap-4.c: New.
      	* gcc.dg/builtin-bswap-5.c: New.
      	* gcc.target/i386/builtin-bswap-1.c: New.
      
      Co-Authored-By: Falk Hueffner <falk@debian.org>
      
      From-SVN: r118364
      Eric Christopher committed
    • Add missing genopinit.c change for revision 118361. · 91053e6c
      From-SVN: r118363
      Geoffrey Keating committed
    • In gcc/: · e4305460
      	* 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
      Geoffrey Keating committed
    • extend.texi (__builtin_bswap32): Document. · 167fa32c
      2006-09-07  Eric Christopher  <echristo@apple.com>
      	    Falk Hueffner  <falk@debian.org>
      
      	* doc/extend.texi (__builtin_bswap32): Document.
      	(__builtin_bswap64): Ditto.
      	* doc/libgcc.texi (bswapsi2): Document.
      	(bswapdi2): Ditto.
      	* doc/rtl.texi (bswap): Document.
      	* optabs.c (expand_unop): Don't widen a bswap.
      	(init_optabs): Init bswap. Set libfuncs explicitly
      	for bswapsi2 and bswapdi2.
      	* optabs.h (OTI_bswap): New.
      	(bswap_optab): Ditto.
      	* genopinit.c (optabs): Handle bswap_optab.
      	* tree.h (tree_index): Add TI_UINT32_TYPE and
      	TI_UINT64_TYPE.
      	(uint32_type_node): New.
      	(uint64_type_node): Ditto.
      	* tree.c (build_common_tree_nodes_2): Initialize
      	uint32_type_node and uint64_type_node.
      	* builtins.c (expand_builtin_bswap): New.
      	(expand_builtin): Call.
      	(fold_builtin_bswap): New.
      	(fold_builtin_1): Call.
      	* fold-const.c (tree_expr_nonnegative_p): Return true
      	for bswap.
      	* builtin-types.def (BT_UINT32): New.
      	(BT_UINT64): Ditto.
      	(BT_FN_UINT32_UINT32): Ditto.
      	(BT_FN_UINT64_UINT64): Ditto.
      	* builtins.def (BUILT_IN_BSWAP32): New.
      	(BUILT_IN_BSWAP64): Ditto.
      	* rtl.def (BSWAP): New.
      	* genattrtab.c (check_attr_value): New.
      	* libgcc2.c (__bswapSI2): New.
      	(__bswapDI2): Ditto.
      	* libgcc2.h (__bswapSI2): Declare.
      	(__bswapDI2): Ditto.
      	* mklibgcc.in (lib2funcs): Add _bswapsi2 and _bswapdi2.
      	* simplify-rtx.c (simplify_const_unary_operation): Return
      	0 for BSWAP.
      	* libgcc-std.ver (__bwapsi2): Add.
      	(__bswapdi2): Ditto.
      	* reload1.c (eliminate_regs_1): Add bswap.
      	(elimination_effects): Ditto.
      	* config/i386/i386.h (x86_bswap): New.
      	(TARGET_BSWAP): Use.
      	* config/i386/i386.c (x86_bswap): Set.
      
      Co-Authored-By: Falk Hueffner <falk@debian.org>
      
      From-SVN: r118361
      Eric Christopher committed
    • In gcc/: · 5880f14f
      	* 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
      Geoffrey Keating committed
    • darwin.h (PREFERRED_DEBUGGING_TYPE): Remove. · 4d04fa05
      	* 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
      Geoffrey Keating committed
    • re PR target/15834 (NO_IMPLICIT_EXTERN_C should be gotten rid of) · 7eb0a43c
      	PR 15834
      	* config/darwin.h (NO_IMPLICIT_EXTERN_C): Define.
      
      From-SVN: r118358
      Geoffrey Keating committed
    • re PR c/16622 ([C99] extern inline is handled wrong in C99 mode) · 0a052b16
      	* c-decl.c (grokdeclarator): Don't set DECL_EXTERNAL on
      	inline static functions in c99 mode.
      
      	PR 16622
      	* doc/extend.texi (Inline): Update.
      	* c-tree.h (struct language_function): Remove field 'extern_inline'.
      	* c-decl.c (current_extern_inline): Delete.
      	(pop_scope): Adjust test for an undefined nested function.
      	Add warning about undeclared inline function.
      	(diagnose_mismatched_decls): Update comments.  Disallow overriding
      	of inline functions in a translation unit in C99.  Allow inline
      	declarations in C99 at any time.
      	(merge_decls): Boolize variables.  Handle C99 'extern inline'
      	semantics.
      	(grokdeclarator): Set DECL_EXTERNAL here for functions.  Handle
      	C99 inline semantics.
      	(start_function): Don't clear current_extern_inline.  Don't set
      	DECL_EXTERNAL.
      	(c_push_function_context): Don't push current_extern_inline.
      	(c_pop_function_context): Don't restore current_extern_inline.
      
      	PR 11377
      	* c-typeck.c (build_external_ref): Warn about static variables
      	used in extern inline functions.
      	* c-decl.c (start_decl): Warn about static variables declared
      	in extern inline functions.
      
      From-SVN: r118357
      Geoffrey Keating committed
    • re PR c/16622 ([C99] extern inline is handled wrong in C99 mode) · 71113fcd
      	* c-decl.c (grokdeclarator): Don't set DECL_EXTERNAL on
      	inline static functions in c99 mode.
      
      	PR 16622
      	* doc/extend.texi (Inline): Update.
      	* c-tree.h (struct language_function): Remove field 'extern_inline'.
      	* c-decl.c (current_extern_inline): Delete.
      	(pop_scope): Adjust test for an undefined nested function.
      	Add warning about undeclared inline function.
      	(diagnose_mismatched_decls): Update comments.  Disallow overriding
      	of inline functions in a translation unit in C99.  Allow inline
      	declarations in C99 at any time.
      	(merge_decls): Boolize variables.  Handle C99 'extern inline'
      	semantics.
      	(grokdeclarator): Set DECL_EXTERNAL here for functions.  Handle
      	C99 inline semantics.
      	(start_function): Don't clear current_extern_inline.  Don't set
      	DECL_EXTERNAL.
      	(c_push_function_context): Don't push current_extern_inline.
      	(c_pop_function_context): Don't restore current_extern_inline.
      
      	PR 11377
      	* c-typeck.c (build_external_ref): Warn about static variables
      	used in extern inline functions.
      	* c-decl.c (start_decl): Warn about static variables declared
      	in extern inline functions.
      
      From-SVN: r118356
      Geoffrey Keating committed
    • re PR middle-end/23470 (a*a (for floats) is not considered always postive (-ffast-math only)) · 682d0395
      
      	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
      Roger Sayle committed
    • Daily bump. · a3a1ebb5
      From-SVN: r118353
      GCC Administrator committed
  2. 31 Oct, 2006 28 commits
    • re PR fortran/29537 (ICE in gfc_match_common for blank common in BLOCK DATA unit) · 41433497
      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
      Bernhard Fischer committed
    • 20061031-1.c: New test. · af9d0993
              * gcc.c-torture/execute/20061031-1.c: New test.
      
      From-SVN: r118344
      Eric Botcazou committed
    • inclhack.def (hpux11_extern_sendfile): New. · be645fd9
      	* inclhack.def (hpux11_extern_sendfile): New.
      	(hpux11_extern_sendpath): New.
      	* fixincl.x: Regenerate.
      
      From-SVN: r118343
      Steve Ellcey committed
    • re PR libfortran/29627 ([4.1 only] partial unformatted reads shouldn't succeed) · 8a7f7fb6
      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
      Thomas Koenig committed
    • Fix typo. · 401c8e80
      From-SVN: r118340
      Arnaud Charlet committed
    • re PR fortran/29067 (gfc_resolve_expr(): Bad expression type) · 150675a8
      	PR fortran/29067
      
      	* decl.c (gfc_set_constant_character_len): NULL-terminate the
      	character constant string.
      	* data.c (create_character_intializer): Likewise.
      	* expr.c (gfc_simplify_expr): NULL-terminate the substring
      	character constant.
      	* primary.c (match_hollerith_constant): NULL-terminate the
      	character constant string.
      
      	* gfortran.dg/pr29067.f: New test.
      
      From-SVN: r118338
      Francois-Xavier Coudert committed
    • Resync. · 70198b9f
      From-SVN: r118337
      Arnaud Charlet committed
    • target-supports.exp (get_compiler_messages): Append options as a single list element. · c03b9206
      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
      Joseph Myers committed
    • Resync. · b5ace3b7
      From-SVN: r118333
      Arnaud Charlet committed
    • Add new Ada test cases. · ea7339d1
      From-SVN: r118332
      Arnaud Charlet committed
    • gigi.h: (tree_code_for_record_type): Declare. · c8945d56
      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
      Eric Botcazou committed
    • fmap.adb: Put routines in alpha order · bfc8aa81
      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
      Robert Dewar committed
    • s-osinte-tru64.adb: Mark Asm statements Volatile to prevent warnings (seems a reasonable change... · e0ae4e94
      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
      Robert Dewar committed
    • debug.adb: Update flags documentation · ba1cbfb9
      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
      Robert Dewar committed
    • a-rttiev.ads, [...]: This is a significant redesign primarily for the sake of… · ab31b1a6
      a-rttiev.ads, [...]: This is a significant redesign primarily for the sake of automatic timer task...
      
      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
      Pat Rogers committed
    • symbols-processing-vms-ia64.adb, [...] (Process): Do not include symbols that… · 7440d86c
      symbols-processing-vms-ia64.adb, [...] (Process): Do not include symbols that come from generic instantiations in bodies.
      
      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
      Vincent Celier committed
    • g-trasym-vms-alpha.adb: Dummy_User_Act_Proc: New function. · c5e2b716
      2006-10-31  Doug Rupp  <rupp@adacore.com>
      
      	* g-trasym-vms-alpha.adb: Dummy_User_Act_Proc: New function.
      	Call TBK$SYMBOLIZE without omitting parameters.
      
      From-SVN: r118325
      Doug Rupp committed
    • a-crbtgo.ads: Commented each subprogram · 3837bc7f
      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
      Matt Heaney committed
    • makegpr.adb (Check_Compilation_Needed): Take into account path names with spaces. · 31a33125
      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
      Vincent Celier committed
    • a-direct.ads, [...] (Search): New procedure in Ada 2005 · 57d9e177
      2006-10-31  Vincent Celier  <celier@adacore.com>
      
      	* a-direct.ads, a-direct.adb (Search): New procedure in Ada 2005
      
      From-SVN: r118322
      Vincent Celier committed
    • a-dirval-vms.adb (Invalid_Character): Specify that digits are allowed in file names. · 271ae089
      2006-10-31  Vincent Celier  <celier@adacore.com>
      
      	* a-dirval-vms.adb (Invalid_Character): Specify that digits are allowed
      	in file names.
      
      From-SVN: r118321
      Vincent Celier committed
    • s-stchop.ads: make this unit preelaborate. · 99f50329
      2006-10-31  Olivier Hainque  <hainque@adacore.com>
      
      	* s-stchop.ads: make this unit preelaborate. This is desirable in
      	general and made mandatory by the use of this unit by s-taprop which
      	is itself preelaborate.
      
      	* s-stchop-vxworks.adb (Set_Stack_Info, Task_Descriptor type): Add
      	Td_Events component.
      
      From-SVN: r118320
      Olivier Hainque committed
    • widechar.adb (Is_Start_Of_Wide_Char): In case of brackets encoding... · 86e16c56
      2006-10-31  Robert Dewar  <dewar@adacore.com>
      
      	* widechar.adb (Is_Start_Of_Wide_Char): In case of brackets encoding,
      	add more precise check for the character sequence that follows '[' to
      	avoid possible confusion in case if '[' is the last character of a
      	string literals.
      	(Scan_Wide): Always allow brackets encoding
      
      From-SVN: r118319
      Robert Dewar committed
    • s-tpobop.adb (Requeue_Call): Introduce a dispatching point when requeuing to the… · c0297c47
      s-tpobop.adb (Requeue_Call): Introduce a dispatching point when requeuing to the same protected object to...
      
      2006-10-31  Jose Ruiz  <ruiz@adacore.com>
      
      	* s-tpobop.adb (Requeue_Call): Introduce a dispatching point when
      	requeuing to the same protected object to give higher priority tasks
      	the opportunity to execute.
      
      From-SVN: r118318
      Jose Ruiz committed
    • 2006-10-31 Javier Miranda <miranda@adacore.com> · 15b540be
      	* s-tpoben.ads, s-tpoben.adb, s-taprob.ads, s-taprob.adb
      	(Get_Ceiling): New subprogram that returns
      	the ceiling priority of the protected object.
      	(Set_Ceiling): New subprogram that sets the new ceiling priority of
      	the protected object.
      
      	* s-tarest.adb: (Create_Restricted_Task): Fix potential CE.
      
      	* s-taskin.ads, s-taskin.adb: (Storage_Size): New function.
      
      From-SVN: r118317
      Javier Miranda committed
    • s-scaval.adb (Initialize): Add new Boolean flag AFloat that is set True when... · d5ef47fb
      2006-10-31  Gary Dismukes  <dismukes@adacore.com>
      
      	* s-scaval.adb (Initialize): Add new Boolean flag AFloat that is set
      	True when AAMP extended floating-point is in use (48-bit). Change type
      	ByteLF to ByteLLF, add new array type ByteLF and condition the size of
      	the two byte array types on AFloat. Change type of IV_Ilf overlay
      	variable from Byte8 to ByteLF. Add appropriate initializations of
      	floating-point overlays for AAMP cases.
      
      From-SVN: r118316
      Gary Dismukes committed
    • s-restri.ads, [...]: Mark this package as Preelaborate. · f7753fbb
      2006-10-31  Arnaud Charlet  <charlet@adacore.com>
      
      	* s-restri.ads, s-restri.adb: Mark this package as Preelaborate.
      	Remove elaboration code, now done in the binder.
      
      	* s-rident.ads: Make this unit Preelaborate.
      	(No_Restrictions): New constant used to clean up code and follow
      	preelaborate constraints.
      
      	* s-stalib.adb: 
      	Add System.Restrictions dependence, referenced directly from the
      	binder generated file.
      
      From-SVN: r118315
      Arnaud Charlet committed