2001-12-05 Robert Dewar * prj-dect.ads: Add ??? comment Add 2001 to copyright notice (was not done in after all) * prj-part.adb: Minor reformatting. Reword one awkward error message. * prj.ads: Minor reformatting throughout, and add some ??? comments * snames.ads: Minor reformatting 2001-12-05 Geert Bosch * snames.adb: Autoupdate 2001-12-05 Vincent Celier * prj-dect.adb (Parse): Rename parameter Modifying to Extends. * prj-dect.ads (Parse): Rename parameter Modifying to Extends. * prj-env.adb: Minor comment changes (modifying -> extends). * prj-nmsc.adb: Minor comment changes (modifying -> extends). * prj-part.adb (Parse_Single_Project): Change Tok_Modifying to Tok_Extends. * prj.adb (Initialize): Change Modifying to Extends. * scans.ads (Token_Type): Change Tok_Modifying to Tok_Extends. * prj.ads: Minor comment change (Modifying -> extending). * snames.ads: Change modifying to extends. 2001-12-05 Robert Dewar * sem_warn.adb: Remove stuff for conditionals, we are not going to do this after all. * sem_warn.ads: Remove stuff for conditionals, we are not going to do this after all. Add 2001 to copyright notice 2001-12-04 Geert Bosch * einfo.h, sinfo.h, treeprs.ads: Regenerate. 2001-12-04 Robert Dewar * errout.adb (Error_Msg): Ignore attempt to put error msg at junk location if we already have errors. Stops some cases of cascaded errors. * errout.adb: Improve comment. 2001-12-04 Robert Dewar * sem_ch12.adb: (Analyze_Formal_Type_Definition): Defend against Error. (Analyze_Formal_Subprogram): Defend against Error. * par-ch12.adb (F_Formal_Type_Declaration): In case of error, remove following semicolon if present. Removes cascaded error. 2001-12-04 Douglas B. Rupp * bindgen.adb: (Gen_Exception_Table_Ada): Write "begin" and then return if Num exceptions equals 0. (Gen_Exception_Table_C): Return if Num exceptions equals 0. Fixes PIWG E tests (which have to be run with -gnatL). 2001-12-04 Robert Dewar * einfo.ads: Minor reformatting 2001-12-04 Ed Schonberg * einfo.ads: Block_Node points to the identifier of the block, not to the block node itself, to preserve the link when the block is rewritten, e.g. within an if-statement with a static condition. * inline.adb (Cleanup_Scopes): recover block statement from block entity using new meaning of Block_Node. * sem_ch5.adb (Analyze_Block_Statement): set Block_Node to point to identifier of block node, rather than to node itself. 2001-12-04 Gary Dismukes * layout.adb: (Get_Max_Size): Fix "start of processing" comment to say Get_Max_Size. (Discrimify): Go back to setting the Etypes of the selected component because the Vname component does not exist at this point and will fail name resolution. Also set Analyzed. Remove with and use of Sem_Res. 2001-12-04 Arnaud Charlet * Makefile.in: (HIE_SOURCES): add s-fat*. 2001-12-04 Robert Dewar * sem_attr.adb: (Compile_Time_Known_Attribute): New procedure. (Eval_Attribute, case Size): Use Compile_Time_Known_Attribute to ensure proper range check. 2001-12-04 Ed Schonberg * sem_ch7.adb (New_Private_Type): Set Is_Tagged_Type flag before processing discriminants to diagnose illegal default values. 2001-12-04 Ed Schonberg * sem_attr.adb (Resolve_Attribute): Handle properly an non-classwide access discriminant within a type extension that constrains its parent discriminants. 2001-12-04 Ed Schonberg * sem_ch3.adb (Find_Type_Of_Subtype_Indic): If subtype indication is malformed, use instance of Any_Id to allow analysis to proceed. * par-ch12.adb (P_Formal_Type_Declaration): Propagate Error if type definition is illegal. (P_Formal_Derived_Type_Definition): Better recovery when TAGGED is misplaced. 2001-12-04 Ed Schonberg * sem_warn.adb (Output_Unreferenced_Messages): Extend previous fix to constants. 2001-12-04 Robert Dewar * errout.adb: Minor reformatting 2001-12-04 Robert Dewar * exp_util.adb: Minor reformatting from last change * errout.adb (Check_For_Warning): For a Raised_Constraint_Error node which is a rewriting of an expression, traverse the original expression to remove warnings that may have been posted on it. 2001-12-04 Ed Schonberg * exp_util.adb (Must_Be_Aligned): Return false for a component of a record that has other packed components. 2001-12-04 Douglass B. Rupp * adaint.c: Minor cleanups. 2001-12-04 Douglass B. Rupp * adaint.c: Do not use utime.h on vxworks. 2001-12-04 Arnaud Charlet * Makefile.adalib: Clarify step 3 (use of gnat.adc) as it causes more confusion than it solves. 2001-12-04 Geert bosch * einfo.h, nmake.adb, nmake.ads, sinfo.h treeprs.ads: Regenerate. 2001-12-04 Geert Bosch * Makefile.in (update-sources): New target. For use by gcc_release script. 2001-12-04 Ed Schonberg * sem_prag.adb (Analyze_Pragma, case Validity_Checks): do not treat as a configuration pragma, it is now legal wherever a pragma can appear. 2001-12-04 Zack Weinberg * Makefile.in: Don't set ALL. Delete @cross_defines@, @cross_overrides@, @build_overrides@ stanzas. INTERNAL_CFLAGS is now @CROSS@ -DIN_GCC; update comment. 2001-12-04 Robert Dewar * einfo.adb (Has_Pragma_Pure_Function): New flag. Fix problem that stopped ceinfo from working * einfo.ads (Has_Pragma_Pure_Function): New flag. * sem_prag.adb (Pure_Function): Set new flag Has_Pragma_Pure_Function. 2001-12-04 Douglas B. Rupp * gnatchop.adb: (File_Time_Stamp): New procedure. (Preserve_Mode): New boolean. (Write_Unit): Pass time stamp. Implement -p switch (preserve time stamps). * gnatcmd.adb (CHOP): Add translation for -p (/PRESERVE). * gnatchop.adb: Do usage info for -p switch * adaint.h (__gnat_set_file_time_name): New function * adaint.c (__gnat_set_file_time_name): Implement * adaint.h: Fix typo 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.