2001-12-03 Robert Dewar * sinfo.ads: Minor reformatting. N_Freeze_Entity node does not have Associated_Node. 2001-12-03 Robert Dewar * prj-proc.adb: Minor reformatting * make.adb: Minor reformatting 2001-12-03 Geert Bosch * make.adb: Minor reformatting. 2001-12-03 * sem_ch12.adb: Minor reformatting 2001-12-03 Ed Schonberg * sem_ch12.adb (Inline_Instance_Body): Use Save_Scope_Stack and push Standard on the stack before analyzing the instance body, in order to have a clean visibility environment. * sem_ch12.adb (Inline_Instance_Body): Remove redundant code. 2001-12-03 Ed Schonberg * sem_ch12.adb (Instantiate_Package_Body): Protect against double instantiation of a body that contains an inlined body. 2001-12-03 Ed Schonberg * sem_ch12.adb: (Analyze_generic_subprogram_Declaration): Set outer_generic_scope, to prevent freezing within formal packages. (Freeze_Subprogram_Body): If body comes from another instance that appeared before its own body, place freeze node at end of current declarative part, to prevent a back-end crash. (Inline_Instance_Body): Handle properly a package instance within a subprogram instance that is a child unit. 2001-12-01 Graham Stott * Makefile.in (misc.o): Add missing $(srcdir) prefix and add optabs.h dependency. * misc.c: Include optabs.h (gnat_tree_code_type): Make static and const. (gnat_tree_code_length): Likewise. (gnat_tree_code_name): Likewise. (update_setjmp_buf): Obtain operands mode from insn_data. 2001-11-29 Richard Henderson * init.c: Remove obsolete dwarf2 frame.h section. 2001-11-29 Joseph S. Myers * Make-lang.in (ada.generated-manpages): New dummy target. 2001-11-29 Ed Schonberg * g-os_lib.adb (Add_To_Command): use explicit loop to move string into Command, an array conversion is illegal here. Uncovered by ACATS B460005. 2001/11/28 Geert Bosch * init.c: Minor whitespace changes. 2001-11-28 Doug Rupp * init.c: (__gnat_install_handler,VMS): Increase size of alternate signal stack. 2001-11-28 Zack Weinberg * misc.c (gnat_expand_constant): Move declaration above definition of lang_hooks. (LANG_HOOKS_EXPAND_CONSTANT): Set to gnat_expand_constant. (gnat_init): lang_expand_constant no longer exists. (internal_error_function): Remove #ifdef HAVE_VPRINTF. We always have vprintf. (gnat_init): Always call set_internal_error_function. 2001-11-27 Andreas Jaeger * Makefile.in (stamp-tool_src_dir): Use symbolic link. 2001-11-27 Laurent Guerby * Makefile.in: Regenerate Ada dependencies. 2001-11-26 Richard Henderson * Make-lang.in (gnatbind, gnatmake, gnatbl, gnatchop, gnatcmd, gnatlink, gnatkr, gnatls, gnatmem, gnatprep, gnatpsta, gnatpsys, gnatxref, gnatfind, gnatlbr): Depend on CONFIG_H and prefix.o. 2001-11-25 Laurent Guerby * sysdep.c (rts_get_*): Fix style. 2001-11-19 Laurent Guerby * Makefile.in (INCLUDES_FOR_SUBDIR): Remove redundant system include since it is of no apparent use and cause warnings. 2001-11-18 Neil Booth * misc.c (gnat_decode_option, gnat_init_options): Make definitions static too. (gnat_init): Don't return NULL. (finish_parse): Remove. 2001-11-17 Laurent Guerby * Make-lang.in (GNATLIBFLAGS): Add -W -Wall. * gigi.h (init_decl_processing): Rename to gnat_init_decl_processing. * io-aux.c: Provide K&R prototypes to all functions, reformat code. * lang-spec.h: Add missing struct field to silence warnings. * sysdep.c (rts_get_*): Provide K&R prototype. * sysdep.c (Unlock_Task, Lock_Task): Move to K&R prototype. * traceback.c (Unlock_Task, Lock_Task): Likewise. * tracebak.c (__gnat_backtrace): Remove unused variable. * utils.c (end_subprog_body): Move to K&R style. Thu Nov 15 18:16:17 2001 Richard Kenner * trans.c, utils2.c: Remove PALIGN parameter to get_inner_reference. 2001-11-15 Neil Booth * misc.c (gnat_init): Change prototype. Include the functionality of the old init_parse and init_decl_processing. (gnat_init_decl_processing): New prototype. (init_parse): Remove. * utils.c (init_decl_processing): Rename gnat_init_decl_processing. 2001-11-09 Neil Booth * misc.c (gnat_print_decl, gnat_print_type): Renamed. (LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE): Override. (print_lang_statistics, lang_print_xnode, print_lang_identifier, set_yydebug): Remove. 2001-11-09 Neil Booth * misc.c (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): Override. (struct lang_hooks): Constify. (language_string, lang_identify): Remove. * utils.c (init_decl_processing): Update. 2001-11-06 Neil Booth * misc.c: Include langhooks-def.h. * Makefile.in: Update. 2001-10-30 Robert Dewar * style.adb: (Check_Identifier): Rewrite circuit to be compatible with use of letters in the upper half of ASCII. (Check_Identifier): Minor reformatting 2001-10-30 Geert Bosch * (Associated_Node, Set_Associated_Node): Do not check for Freeze_Entity. 2001-10-30 Robert Dewar * a-reatim.ads: Minor reformatting 2001-10-30 Robert Dewar * gnatdll.adb: Minor reformatting throughout. Many ??? added for undocumented declarations. 2001-10-30 Pascal Obry * gnatdll.adb (Parse_Command_Line): handle -g option to be passed to the binder and linker. Minor style fix. * mdll.ads: Fix layout. Update copyright notice. * mdll.adb: Fix layout. Update copyright notice. 2001-10-30 Robert Dewar * usage.adb: Minor fix to output for -gnaty. 2001-10-30 Ed Schonberg * a-reatim.ads: Makes Seconds_Count into a 64-bit integer, to accommodate all its possible values. * a-reatim.adb (Split): Special-case handling of Time_Span_First and of small absolute values of T. 2001-10-30 Richard Kenner * misc.c (gnat_expand_expr, case NULL_EXPR): Remove call to set_mem_attributes since not needed and wrong if RESULT if a REG; fixes ACATS failures. 2001-10-30 Geert Bosch * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, fname-sf.ads, g-traceb.ads, s-tasdeb.ads, sem_maps.ads: Add 2001 to copyright notice. 2001-10-30 Robert Dewar * bindusg.adb: Undocument -f switch. * gnatcmd.adb: Remove /FULL_ELABORATION. * opt.ads (Force_RM_Elaboration_Order): Document that this is obsolescent. * gnatbind.adb: Output new warning for use of obsolescent -f switch. * gnatbind.adb: Minor update of warning msg. 2001-10-30 Vincent Celier * gnatcmd.adb (MAKE, BIND, LINK, LIST, FIND, XREF): Add translations for project file switches (-P (/PROJECT_FILE=), -X (/EXTERNAL_REFERENCE=) and -vPx (/PROJECT_FILE_VERBOSITY=DEFAULT or MEDIUM or HIGH) 2001-10-30 Geert Bosch * decl.c: Minor whitespace fixes. 2001-10-30 Richard Kenner * utils2.c (build_allocator): Test for SIZE overflow in array case too 2001-10-30 Geert Bosch * ali-util.adb (Initialize_Checksum): Use out-mode instead of in out. Found due to GCC 3.0 warning of using uninitialized value. * layout.adb: (Get_Max_Size): Use variant record for tracking value/expression. Makes logic clearer and prevents warnings for uninitialized variables. (Layout_Array_Type): Use variant record for tracking value/expression. Makes logic clearer and prevents warnings for uninitialized variables. 2001-10-30 Robert Dewar * lib.adb: Minor reformatting * s-taprop.ads: Minor reformatting 2001-10-29 Laurent Guerby * init.c: (Raise_From_Signal_Handler, Propagate_Signal_Exception): Make arg const. (_gnat_error_handler): Make MSG const. 2001-10-29 Richard Kenner * sysdep.c: Fix localtime_r problem on LynxOS. Also remove #elif to avoid warnings. * misc.c (yyparse): Don't set up and register jmpbuf; remove decls used by this. * decl.c (annotate_value): Make SIZE unsigned to avoid warning. 2001-10-28 Joseph S. Myers * 86numaux.adb, a-tigeau.ads, a-wtgeau.ads, decl.c, exp_ch6.adb, exp_ch9.adb, exp_util.adb, fname-sf.ads, freeze.ads, g-awk.adb, g-comlin.ads, g-dirope.adb, g-dyntab.ads, g-socket.ads, g-table.ads, g-traceb.ads, gnat-style.texi, gnatchop.adb, init.c, layout.adb, layout.ads, mdllfile.ads, mlib-fil.ads, osint.ads, s-fatgen.adb, s-imgrea.adb, s-taprop.ads, s-tasdeb.ads, sem_aggr.adb, sem_attr.adb, sem_case.ads, sem_ch13.adb, sem_ch3.adb, sem_elab.adb, sem_maps.ads, sem_res.adb, sem_util.ads, sinfo.ads, sinput.ads, table.adb, table.ads, types.ads, urealp.adb: Fix spelling errors. 2001-10-27 Laurent Guerby * trans.c (gigi): Fix non determinism leading to bootstrap comparison failures for debugging information. 2001-10-26 Florian Weimer * gnat_rm.texi: Use @./@: where appropriate. 2001-10-26 Robert Dewar * sinfo.adb: Define Associated_Node to overlap Entity field. Cleanup. 2001-10-26 Richard Kenner * gmem.c (__gnat_gmem_read_next): Properly check for EOF 2001-10-26 Richard Kenner * decl.c (validate_size): Modify message for bad size to avoid implication that compiler is modifying the size. 2001-10-26 Robert Dewar * prj-util.adb: Minor reformatting. Fix bad header format. 2001-10-26 Robert Dewar * sinfo.ads: Define Associated_Node to overlap Entity field. Cleanup. * sinfo.ads: Clarify use of Associated_Node (documentation only). * sem_ch12.adb: Change Node4 to Associated_Node. Change Associated_Node to Get_Associated_Node. Put use of Unchecked_Access much more narrowly in places where needed. These are cleanups. 2001-10-26 Joel Brobecker * 5zosinte.ads (null_pthread): new constant. * 5ztaprop.adb: (Initialize_TCB): Initialize thread ID to null, to be able to verify later that this field has been set. (Finalize_TCB): ditto. (Suspend_Task): Verify that the thread ID is not null before using it. (Resume_Task): ditto. * s-tasdeb.adb: (Resume_All_Tasks): Lock the tasks list before using it. (Suspend_All_Tasks): ditto. 2001-10-26 Richard Kenner * decl.c (gnat_to_gnu_entity, case E_General_Access_Type): Make constant variant of designated type for Is_Access_Constant. Call update_pointer_to with main variant. * trans.c (process_freeze_entity, process_type): Call update_pointer_to on main variant. * utils.c (update_pointer_to): Make corresponding variant for NEW_TYPE. If main variant, update all other variants. * utils2.c (build_unary_op, case INDIRECT_REF): No longer set TREE_STATIC. 2001-10-26 Robert Dewar * prj-util.adb: Minor reformatting 2001-10-26 Robert Dewar * prj-util.adb: Minor reformatting 2001-10-26 Robert Dewar * prj-attr.adb: Minor reformatting throughout 2001-10-26 Robert Dewar * prj-attr.ads: Minor reformatting Add ??? comment (this whole spec has almost no comments) 2001-10-26 Vincent Celier * g-os_lib.adb (Normalize_Pathname): Preserve the double slash ("//") that precede the drive letter on Interix. 2001-10-26 Geert Bosch * gnat_rm.texi: Add GNAT Reference Manual. 2001-10-25 Robert Dewar * sem_ch8.adb (Analyze_Package_Renaming): Skip analysis if Name is Error. Similar change for other renaming cases. 2001-10-25 Robert Dewar * s-atacco.ads: Add pragma Inline_Always for functions. Fix header format. Add copyright 2001 2001-10-25 Ed Schonberg * par-ch3.adb (P_Subtype_Mark_Resync): for an anonymous array return Error rather than Empty so that analysis can proceed. 2001-10-25 Ed Schonberg * sem_util.adb (Enter_Name): better handling of cascaded error messages when a unit appears in its own context. 2001-10-25 Ed Schonberg * sem_util.adb (Defining_Entity): in case of error, attach created entity to specification, so that semantic analysis can proceed. 2001-10-25 Robert Dewar * sem_util.adb (Defining_Entity): Deal with Error. (Process_End_Label): Deal with bad end label for. 2001-10-25 Ed Schonberg * sem_elab.adb (Check_A_Call): refine message when call is in an instance but callee is not declared in the generic unit. 2001-10-25 Ed Schonberg * sem_elab.adb (Check_A_Call): check for renaming before finding the enclosing unit, which may already be different from the calling unit. 2001-10-25 Geert Bosch * 4gintnam.ads: fix header format. 2001-10-25 Ed Schonberg * sem_res.adb (Resolve_Call): if the call is actually an indexing operation on the result of a parameterless call, perform elaboration check after the node has been properly rewritten. * sem_ch12.adb (Copy_Generic_Node): after the proper body has been inlined within the generic tree, the defining identifier is not a compilation_unit. 2001-10-25 Ed Schonberg * sem_res.adb (Resolve): special-case resolution of Null in an instance or an inlined body to avoid view conflicts. * sem_ch12.adb (Copy_Generic_Node): for allocators, check for view compatibility by retrieving the access type of the generic copy. 2001-10-25 Robert Dewar * sem_ch3.adb: (Analyze_Number_Declaration): Handle error expression. (Signed_Integer_Type_Declaration): Handle error bound. (Analyze_Subtype_Indication): Handle error range. * sem_util.adb (Get_Index_Bounds): Check for Error. 2001-10-25 Robert Dewar * restrict.adb (Set_No_Run_Time_Mode): Set Discard_Names as default in no run time mode. 2001-10-25 Pascal Obry * gnatmem.adb (Read_Next): fix Curs2 value to properly handle quiet mode case for ALLOC case. * gnatmem.adb (Read_Next): correctly fix parsing in Quiet mode on all platforms. Improvement of last change. 2001-10-25 Robert Dewar * exp_ch4.adb (Expand_N_Allocator): Minor reformatting. 2001-10-25 Geert Bosch * osint.adb (Is_Relative): Remove duplicate. 2001-10-25 Pascal Obry * osint.adb (Read_Default_Search_Dirs): correctly detect relative pathnames in UNIX and DOS style with drive letter. (Is_Relative): new routine. * osint.adb: Minor reformatting * osint.adb (Is_Relative): implementation using GNAT.OS_Lib.Is_Absolute_Path. Better fix. 2001-10-25 Pascal Obry * g-dirope.adb (Basename): correctly compute offset between the original Path and the translated one. * g-dirope.adb: (Base_Name): add some comments. 2001-10-25 Robert Dewar * exp_imgv.adb (Expand_Image_Attribute): Defend against bad use in HIE mode, avoids compilation abandoned message * exp_imgv.adb: Correct typo in previous change * exp_imgv.adb: Correct typo in previous change (not my day!) 2001-10-25 Robert Dewar * s-tpinop.ads: Add 2001 to copyright notice. Fix header format. 2001-10-25 Pascal Obry * g-awk.ads: Move all pragma inlines next to the routine declarations. This is more uniform with other GNAT spec. 2001-10-22 Geert Bosch * Make-lang.in (gnattools, cross-gnattools): Remove gnatmem. 2001-10-19 Geert Bosch * Makefile.in (tools, gnattools): Remove gnatmem. 2001-10-17 Richard Henderson * Makefile.in (misc.o): Depend on langhooks.h. * misc.c: Include it. (LANG_HOOKS_INIT, LANG_HOOKS_INIT_OPTIONS): New. (LANG_HOOKS_DECODE_OPTION): New. (lang_hooks): Use LANG_HOOKS_INITIALIZER. 2001-10-16 Florian Weimer * trans.c (tree_transform): Adjust to recent change in expand_asm_operands to implement named asm operands. 2001-10-11 Ed Schonberg * exp_ch8.adb (Expand_N_Object_Renaming_Declaration): Bugfix in renaming of discriminant for mutable record type. 2001-10-11 Robert Dewar * validsw.adb: Properly save -gnatVn status. 2001-10-11 Robert Dewar * usage.adb: Add lines for V switch. * gnatcmd.adb (COMPILE): Revise translations for -gnatV (/VALIDITY_CHECKING). 2001-10-11 Ed Schonberg * sem_type.adb (Add_One_Interp): an operator for a type declared in an extension of System is known to be visible. 2001-10-11 Ed Schonberg * sem_eval.adb (Compare_Fixup): get the bounds of a String_Literal properly. Fixes regression on ACATS C34005G. 2001-10-11 Robert Dewar * sem_ch5.adb (Analyze_Iteration_Scheme): Suppress warning on null loop in generic instance, since this is likely not very useful. 2001-10-11 Robert Dewar * restrict.adb (Disallow in No_Run_Time_Mode): Properly specialize the error message for high integrity mode. * rtsfind.adb (RTE): Give message if we try to find an entity that is not available in high integrity mode. * rtsfind.ads: (OK_To_Use_In_HIE_Mode): New array. (RTE): May return Empty in high integrity mode. * rtsfind.ads (OK_To_Use_In_No_Run_Time_Mode): New name for OK_To_Use_In_HIE_Mode, now includes System_FAT_xxx. * sem_ch6.adb (Analyze_Subprogram_Body): Kill body in predefined unit if not inlined always and in no runtime mode. Fixes problem caused by new Rtsfind changes. * sem_ch6.adb (Analyze_Subrogram_Body): Do not Check_References if body is deleted. * rtsfind.adb (RTE): Make sure we do not try to load unit after giving message for entity not available in high integrity mode. 2001-10-11 Pascal Obry * impunit.adb: Add GNAT.CRC32. 2001-10-11 Ed Schonberg * exp_fixd.adb (Expand_Multiply_Fixed_By_Fixed_Giving_Fixed): handle properly the case where one universal operand in a non-static exponentiation of a real literal. 2001-10-11 Ed Schonberg * exp_ch7.adb (Find_Final_List): for a type appearing in a with_type clause, return the gobal finalization list, for lack of anthing else. 2001-10-11 Ed Schonberg * exp_ch7.adb (Make_Transient_Block): if statement is within exception handler, always use new transient scope to place Clean procedure. 2001-10-11 Pascal Obry * Makefile.in: (GNAT_ADA_OBJS): add g-crc32.o, a-tags.o, a-stream.o (GNATBIND_OBJS): add g-crc32.o, a-tags.o, a-stream.o (GNATLS_RTL_OBJS): add g-crc32.o (GNATMAKE_RTL_OBJS): add g-crc32.o * ali-util.adb: (CRC_Match): new function. (Get_File_Checksum): renamed Get_File_CRC. Use the GNAT.CRC32 unit instead of the previous simple checksum algorithm. (Time_Stamp_Mismatch): use CRC_Match for comparison. (Set_Source_Table): idem. * ali-util.ads: (Get_File_Checksum): renamed Get_File_CRC as now we compute CRC instead of simple checksum. (CRC_Match): new function. (CRC_Error): new constant. * ali.adb (Scan_ALI): rename variable Chk to CRC as we are handling a CRC now and not a simple checksum. A CRC uses lower-case hex letters, fixes ambiguity in parsing. * ali.ads (Sdep_Record.Checksum): renamed Sdep_Record.CRC as this is what this variable will store. * bcheck.adb: Change reference to chechsum in comments by CRC. (Check_Consistency): Rename Get_File_Checksum to Get_File_CRC. rename All_Checksum_Match to All_CRC_Match. Change due to API renaming since now GNAT does not use a simple checksum but a CRC using GNAT.CRC32. * gnatls.adb: Rename Checksum to CRC in many places, we use a CRC now and not anymore a simple checksum. * lib-load.adb: Use Source_CRC instead of Source_Checksum in many places. * lib-writ.adb (Write_ALI): Use Source_CRC instead of Source_Checksum. * scans.adb: (Restore_Scan_State): rename Checksum to CRC. (Save_Scan_State): idem. * scans.ads: With GNAT.CRC32. (Checksum): rename to CRC. (Saved_Scan_State): Save_Checksum field renamed to Save_CRC * scn-nlit.adb: Rename many Accumulate_Checksum to Update (from GNAT.CRC32). Update copyright notice. * scn-slit.adb: Rename many Accumulate_Checksum to Update (from GNAT.CRC32). Update copyright notice. * scn.adb: (Accumulate_Checksum): removed. (Update): new procedure. Add a wide-character into the CRC. * sinput-l.adb: (Complete_Source_File_Entry): use CRC32 instead of simple checksum. (Load_File): fix initialization of S (change Source_Checksum to Source_CRC) * sinput-p.adb (Load_Project_File): rename Source_Checksum to Source_CRC in S initialization. * sinput.adb (Source_Checksum): renamed to Source_CRC. * sinput.ads (Source_Checksum): renamed to Source_CRC. Update comments for the CRC. * types.adb (Hex): Use lowercase for the letter part. * types.ads (Get_Hex_String): Returns the hexadecimal representation for a word. This is currently used only for CRC. In previous version, the checksum was using a representation with all letter being upper-case. With the new implementation (using CRC) we do not remove the 32th bit of the CRC, so we can have an upper-case starting letter in the CRC. This is not possible to parse in Scan_ALI (ali.adb). It is ambigous since the CRC was optional and could be followed by options like EB, EE. So now this routines uses lower-case letter for the hexadecimal representation. Strange enough only lower case letters where checked in Scan_ALI (even if this was not a possible case). * gnatvsn.ads (Library_Version): changed to 3.15a. * s-crc32.ads: Initial version from GNAT.CRC32. This is the version for the compiler. * s-crc32.adb: Initial version from GNAT.CRC32. This is the version for the compiler. * ali-util.adb: Redo previous change to avoid using word CRC everywhere Add 2001 to copyright notice (Accumulate_Checksum): Modify to use System.CRC32. * ali-util.ads: Redo changes of previous revision to continue to use the word Checksum. Add 2001 to copyright notice. * ali.adb: Undo some of previous changes, not needed. Keep the change for lower case letters in the checksum. * ali.ads: Undo previous change not needed. * bcheck.adb: Undo most of previous change, not needed. But do use Checksums_Match for checksum comparison. * gnatls.adb: Undo most of previous change, not needed. But do use Checksums_Match for comparing checksums. * lib-load.adb: Undo previous change, not needed. * lib-writ.adb: Undo previous change, not needed. * lib-writ.ads: Document that checksums use lower case, not upper case letters. * scans.adb: Undo previous change, not needed * scans.ads: Undo previous change, not needed. * scn-nlit.adb: Undo previous changes, not needed. * scn-slit.adb: Undo previous change, not needed. Fix header format. * scn.adb: (Accumulate_Checksum): Use System.CRC32. (Initialize_Checksum): New procedure. Remove other changes of previous revision. * sinput-p.adb: Undo previous change, not needed. * sinput.adb: Undo previous change, not needed. * sinput-l.adb: Undo previous change, not needed. * sinput.ads: Undo previous change, not needed. Keep only comment on new checksum algorithm * Makefile.in: Add s-crc32 as needed, remove g-crc32. Also remove a-tags and a-stream from GNAT sources. * ali.adb (Scan_ALI): fix typo introduce in latest check-in. * Makefile.in (GNATRTL_NONTASKING_OBJS): Add g-crc32.o. 2001-10-11 Geert Bosch * einfo.h: Regenerate. * nmake.ads: Regenerate. * nmake.adb: Regenerate. * sinfo.h: Regenerate. * treeprs.adb: Regenerate. 2001-10-10 Geert Bosch * gnat-style.texi: New file describing coding guidelines for Ada. 2001-10-10 Ed Schonberg * einfo.adb (Write_Entity_Flags): Elaboration_Entity_Required is Flag174. 2001-10-10 Geert Bosch * snames.ads: Add new names for project facility. * snames.adb: Update to reflect snames.ads changes. * snames.h: Update to reflect snames.ads changes. 2001-10-10 Vincent Celier * make.adb: (Add_Switches): reflect the changes for the switches attributes Default_Switches indexed by the programming language, Switches indexed by the file name. (Collect_Arguments_And_Compile): Idem. Reflect the attribute name changes. * prj-attr.adb: (Initialisation_Data): Change the names of some packages and attributes. (Initialize): process case insensitive associative arrays. * prj-attr.ads: (Attribute_Kind): Remove Both, add Case_Insensitive_Associative_Array. * prj-dect.adb: (Parse_Attribute_Declaration): For case insensitive associative arrays, set the index string to lower case. * prj-env.adb: Reflect the changes of the project attributes. * prj-nmsc.adb: Replace Check_Naming_Scheme by Ada_Check and Language_Independent_Check. * prj-nmsc.ads: Replaced Check_Naming_Scheme by 2 procedures: Ada_Check and Language_Independent_Check. * prj-proc.adb: (Process_Declarative_Items): For case-insensitive associative arrays, set the index string to lower case. (Recursive_Check): Call Prj.Nmsc.Ada_Check, instead of Prj.Nmsc.Check_Naming_Scheme. * prj-tree.adb: (Case_Insensitive): New function (Set_Case_Insensitive): New procedure * prj-tree.ads: (Case_Insensitive): New function (Set_Case_Insensitive): New procedure (Project_Node_Record): New flag Case_Insensitive. * prj-util.adb: (Value_Of): new function to get the string value of a single string variable or attribute. * prj-util.ads: (Value_Of): new function to get the string value of a single string variable or attribute. * prj.adb: (Ada_Default_Spec_Suffix): New function (Ada_Default_Impl_Suffix): New function Change definitions of several constants to reflect new components of record types. * prj.ads: (Naming_Data): Change several components to reflect new elements of naming schemes. (Project_Data): New flags Sources_Present and Language_Independent_Checked. (Ada_Default_Spec_Suffix): New function. (Ada_Default_Impl_Suffix): New function. * snames.ads: Modification of predefined names for project manager: added Implementation, Specification_Exceptions, Implementation_Exceptions, Specification_Suffix, Implementation_Suffix, Separate_Suffix, Default_Switches, _Languages, Builder, Cross_Reference, Finder. Removed Body_Part, Specification_Append, Body_Append, Separate_Append, Gnatmake, Gnatxref, Gnatfind, Gnatbind, Gnatlink. * prj.ads: (Ada_Default_Spec_Suffix, Ada_Default_Impl_Suffix): Add comments. * prj-nmsc.adb (Ada_Check): Test that Separate_Suffix is defaulted, not that it is Nil_Variable_Value. * prj.ads: Add ??? for uncommented declarations 2001-10-10 Ed Schonberg * sem_prag.adb: (Analyze_Pragma, case External): If entity is a constant, do not indicate possible modification, so that gigi can treat it as a bona fide constant. 2001-10-10 Robert Dewar * sem_prag.adb: Add processing for pragma External. * snames.ads: Add entry for pragma External. * par-prag.adb: Add pragma External. * snames.adb: Updated to match snames.ads. 2001-10-10 Ed Schonberg * exp_ch4.adb (Expand_N_Allocator): Generate meaningful names for a dynamic task if the allocator appears in an indexed assignment or selected component assignment. * exp_util.adb (Build_Task_Array_Image, Build_Task_Record_Image): For a dynamic task in an assignment statement, use target of assignment to generate meaningful name. 2001-10-10 Ed Schonberg * einfo.adb (Write_Field19_Name): Body_Entity is also defined for a generic package. * einfo.ads: Body_Entity is also defined for generic package. Documentation change only * exp_aggr.adb (Build_Array_Aggr_Code): When expanding an others_choice for a discriminated component initialization, convert discriminant references into the corresponding discriminals. * exp_ch3.adb (Get_Simple_Init_Val): Add qualification to aggregate only if original type is private and expression has to be wrapped in a conversion. * checks.adb: (Apply_Constraint_Check): Do not perform length check if expression is an aggregate with only an others_choice. (Length_N_Cond): two references to the same in_parameter (typically the discriminal in an init_proc) denote the same value. Two useful optimization uncovered by bugfixes above. 2001-10-10 Robert Dewar * xeinfo.adb: Change int to char in translation of enumeration types. This fixes a problem in the C representation of component alignment. Add 2001 to copyright notice 2001-10-10 Richard Kenner * decl.c: (validate_size): Do check size of object of integral type if it is a packed array type. 2001-10-10 Richard Kenner * decl.c: (gnat_to_gnu_entity, case object): Also materialize VAR_DECL for constant if not Is_Public but -O0. 2001-10-10 Richard Kenner * misc.c (struct lang_hooks): Add new initializer to match GCC change. 2001-10-10 Geert Bosch * xnmake.adb (XNmake): Fix handling of -s/-b options. No longer use '/' as switch character, allowing for absolute file names. 2001-10-09 Joseph S. Myers * 4gintnam.ads, Make-lang.in, Makefile.in, config-lang.in: Update FSF address. 2001-10-08 Geert Bosch * Makefile.in (treeprs.ads, einfo.h, sinfo.h, nmake.adb, nmake.ads): Automatically build utilities when files need to be regenerated. 2001-10-08 Geert Bosch * xsnames.adb: New utility for updating snames.ads and snames.adb 2001-10-08 Zack Weinberg * Make-lang.in (ADAFLAGS): Add -W -Wall. (ADA_FLAGS_TO_PASS): Set ADA_CFLAGS=$(CFLAGS) also. (gnat1): Also depend on attribs.o. (gnatlib, gnatlib-shared): Set CC and ADAC in recursive make. * Makefile.in (X_ADAFLAGS, T_ADAFLAGS): New. (ADAC): Set to @ADAC@ in stage1, $(CC) later. (ADAFLAGS): Add -W -Wall. (ALL_ADAFLAGS, MOST_ADAFLAGS): Add X_ADAFLAGS and T_ADAFLAGS; take out CFLAGS. (.adb.o, .ads.o, a-numaux.o, a-teioed.o, s-interr.o, s-taskin.o, sdefault.o, s-tasdeb.o, s-vaflop.o, a-except.o, s-assert.o, s-stalib.o, s-memory.o, memtrack.o, mlib-tgt.o): Use $(ADAC), not $(CC), as compilation command. (gnattools): Depend directly on tools to build, don't use recursive make. (gnatlib): Set ADA_CFLAGS=$(GNATLIBCFLAGS) in recursive make. * einfo.h, sinfo.h: New files (autogenerated). 2001-10-08 Richard Henderson * comperr.adb (Abort_In_Progress): New. (Compiler_Abort): Use it to prevent recursion. 2001-10-08 Robert Dewar * atree.adb: Set Error_Posted in Error node, helps error recovery. * par-endh.adb (Output_End_Expected): We should also not test Error_Posted on the Error node, since now it is always set. * cstand.adb (Create_Standard): Set Etype of Error to Any_Type to help error recovery. Part of general work on 9407-004. * par.adb: Add ??? for misuse of error * sem_res.adb: (Resolve): Defend against Error, fixes 9407-003. (Resolve_Discrete_Subtype_Indication): Defend against Error. * sinfo.ads (N_Error): Now has Etype field (which will be set to Any_Type to help error recovery). 2001-10-08 Richard Kenner (kenner@gnat.com) * misc.c (gnat_expand_expr, case UNCHECKED_CONVERT_EXPR): Consistently set MEM attributes from expression; fixes bootstrap failure on x86. 2001-10-08 Geert Bosch (bosch@gnat.com) * 5oosinte.adb: Add 2001 to copyright notice. 2001-10-08 Geert Bosch (bosch@gnat.com) * ceinfo.adb: Add utility for consistency checking of einfo.ad[bs]. * csinfo.adb: Add utility for consistency checking of sinfo.ad[bs]. 2001-10-07 Joseph S. Myers * 5oosinte.adb: Fix spelling error of "separate" as "seperate". 2001-10-05 Geert Bosch (bosch@gnat.com) * adaint.h: Small formatting fix. 2001-10-04 Geert Bosch * sysdep.c (__gnat_set_binary_mode, __gnat_set_text_mode): Arg is int, not FILE *, in dummy version of functions. * adaint.h (__gnat_set_binary_mode, __gnat_set_text_mode): Arg is int, not FILE *. 2001-10-04 Geert Bosch * 3lsoccon.ads: Added file, missed with initial check ins. * 4lintnam.ads: Fix header format. Change Linux to GNU/Linux. * 5iosinte.adb: Change Linux to GNU/Linux. * 5iosinte.ads: Change Linux to GNU/Linux. * 5itaprop.adb: Change Linux to GNU/Linux. * 5itaspri.ads: Change Linux to GNU/Linux. Update copyright notice. * 5lintman.adb: Change Linux to GNU/Linux. * 5lml-tgt.adb: Change Linux to GNU/Linux. * 5losinte.ads: Change Linux to GNU/Linux. * 5lsystem.ads: Change Linux to GNU/Linux. * 5qosinte.adb: Change Linux to GNU/Linux. * 5qosinte.ads: Change Linux to GNU/Linux. * 5qparame.ads: Change Linux to GNU/Linux. * 5qtaprop.adb: Change Linux to GNU/Linux. * 5qtaspri.ads: Change Linux to GNU/Linux. Add 2001 to copyright notice. * 5vintman.ads: Change Linux to GNU/Linux. Fix header format. Add 2001 to copyright notice. * g-soccon.ads: Change Linux to GNU/Linux. * g-trasym.ads: Change Linux to GNU/Linux. Add 2001 to copyright notice. * memtrack.adb: Change Linux to GNU/Linux. * s-intman.ads: Change Linux to GNU/Linux. Add 2001 to copyright notice. Fix header format. * s-stache.adb: Change Linux to GNU/Linux. * adaint.c: Change Linux to GNU/Linux. * cio.c: Change Linux to GNU/Linux. * cstreams.c: Change Linux to GNU/Linux. * init.c: Change Linux to GNU/Linux. * gmem.c: Change Linux to GNU/Linux. * tracebak.c: Change Linux to GNU/Linux. 2001-10-02 Geert Bosch * misc.c (insert_default_attributes): Add dummy version.