DECset________________________________________ Release Notes for DIGITAL SCA Version 4.6 November 1998 These release notes for DIGITAL Source Code Analyzer Version 4.6 for OpenVMS VAX and OpenVMS Alpha contain important general information, new and changed features, current restrictions and documentation notes. Operating System and Version: OpenVMS Versions 6.2, 7.1, 7.2 DECwindows Motif Versions 1.2-3, 1.2- 4, 1.2-5 Software Version: DECset for OpenVMS, Version 12.3 Software Version: DIGITAL Source Code Analyzer for OpenVMS Systems, Version 4.6 Digital Equipment Corporation Maynard, Massachusetts __________________________________________________________ November 1998 While DIGITAL or EDS believes the information included in this publication is correct as of the date of publication, it is subject to change without notice. Possession, use, or copying of the software described in this documentation is authorized only pursuant to a valid written license from DIGITAL, an authorized sublicensor, or the identified licensor. Digital Equipment Corporation or EDS makes no repre- sentations that the interconnection of its products in the manner described in this document will not infringe existing or future patent rights, nor do the descriptions contained in this document imply the granting of licenses to make, use, or sell equipment or software in accordance with the description. © Digital Equipment Corporation 1994, 1995, 1996, 1997, 1998 All rights reserved. © Electronic Data Systems Limited 1994, 1995, 1996, 1997, 1998. The following are trademarks of Digital Equipment Corporation: DEC Ada, DEC BASIC, DEC C, DIGITAL COBOL, DECdocument, DECnet, DEC Pascal, DECset, DECwindows, DIGITAL, DIGITAL Fortran, eXcursion, OpenVMS, OpenVMS Cluster, VAX, VAX BLISS-32, VAX DOCUMENT, and the DIGITAL logo. All other trademarks and registered trademarks are the property of their respective holders. This document was prepared using VAX DOCUMENT, Version 2.1. ________________________________________________________________ Contents Preface.................................................. v 1 General Information 1.1 Introduction.................................... 1-1 1.2 Documentation................................... 1-1 1.3 Installation Requirements....................... 1-2 2 New Features 2.1 SAVE QUERY Command.............................. 2-1 2.2 @File-Specification Command..................... 2-1 3 Problems Fixed 4 Known Problems 4.1 General......................................... 4-1 4.2 DECwindows Interface............................ 4-4 5 Restrictions 5.1 General Restrictions............................ 5-1 5.2 C++ Language Support............................ 5-2 iii 6 Reporting Problems and Suggestions Tables 1 Conventions .................................. vi iv ________________________________________________________________ Preface These release notes characterize the Version 4.6 release of DIGITAL Source Code Analyzer for OpenVMS VAX and OpenVMS Alpha. These notes contain information that either supplements or supersedes the information in the DECset documentation set. Intended Audience These release notes are intended for any user or system manager who needs information on DIGITAL Source Code Analyzer for the OpenVMS platform. Document Structure These release notes are organized as follows: o Chapter 1 contains general information about this release. o Chapter 2 contains a description of the new features. o Chapter 3 describes all problems resolved by the current release. o Chapter 4 describes all outstanding issues in the current release. o Chapter 5 describes restrictions in the current release. o Chapter 6 describes how to report problems. v Sending DIGITAL Your Comments We welcome your comments on these release notes or any other pieces of documentation. See Chapter 6 for details of how to contact DIGITAL with your comments. Conventions Table 1 lists the conventions used in these notes. Table_1_Conventions_______________________________________ Convention__________description___________________________ $ A dollar sign ($) represents the OpenVMS DCL system prompt. Ctrl/x The key combination Ctrl/x indicates that you must hold down the key labeled Ctrl while you press another key, for example, Ctrl/Y or Ctrl/Z or a pointing device button. boldface text Boldface text represents the introduction of a new term. monospace boldface Boldface monospace text represents text user input in interactive examples. italic text Italic text represents book titles, parameters, arguments, and information that can vary in system messages (for example, Internal error number). UPPERCASE Uppercase indicates the name of a command, routine, the name of a file, the name of a file protection code, or the abbreviation of a system privilege. lowercase Lowercase in examples indicates that you are to substitute a word or value ____________________of_your_choice._______________________ vi 1 ________________________________________________________________ General Information The information in these release notes pertain to DIGITAL Source Code Analyzer Version 4.6. DIGITAL suggests that you upgrade your environment incrementally with each new release, but there is no technical requirement to do so. It is recommended that you review the release notes for each version because they capture important release- oriented information and advise you of changes between versions. 1.1 Introduction DIGITAL Source Code Analyzer Version 4.6 is a minor release. 1.2 Documentation The documentation of DIGITAL Source Code Analyzer and of DECset has been revised for this release. This revision corrects errors, enhances descriptions, and describes all new functionality. The documents associated with DIGITAL Source Code Analyzer are: o Guide to DIGITAL Source Code Analyzer for OpenVMS Systems o DIGITAL Language-Sensitive Editor/Source Code Analyzer for OpenVMS Reference Manual The revised installation guide for all DECset components is: o DECset Installation Guide for OpenVMS Systems Also applicable are the general DECset documents: o DECset OpenVMS V12.3 Software Product Description General Information 1-1 o DECset Guide to Detailed Program Design for OpenVMS Systems o Using DECset for OpenVMS Systems o Guide to DIGITAL Language-Sensitive Editor for OpenVMS Systems New with this release is the "DECset Cookbook". This document contains technical articles giving instructions on the use of DECset components in particular situations. This document is provided online, in PostScript format, and can be found in: SYS$SYSROOT:[SYSHLP.EXAMPLES.DECSET]DECSET_COOKBOOK.PS 1.3 Installation Requirements For a new installation of SCA the following is required: OpenVMS Alpha Systems Global Pages 10000 Global Sections 15 Disk Blocks 18000 OpenVMS VAX Systems Global Pages 4600 Global Sections 15 Disk Blocks 13000 1-2 General Information 2 ________________________________________________________________ New Features The following enhancements were added to DIGITAL Source Code Analyzer Version 4.6. 2.1 SAVE QUERY Command This feature saves queries from the SCA query list into a command file. The saved queries can then be read into any SCA session by means of the new @file-specification command which is described in Section 2.2. For details see the description of the SAVE QUERY command in the DIGITAL Language-Sensitive Editor/Source Code Analyzer for OpenVMS Reference Manual. 2.2 @File-Specification Command This feature allows SCA commands contained in a specified file to be executed. For details see the description of the @File-Specification command in the DIGITAL Language-Sensitive Editor/Source Code Analyzer for OpenVMS Reference Manual. New Features 2-1 3 ________________________________________________________________ Problems Fixed The following bugs were fixed and restrictions were removed in DIGITAL Source Code Analyzer Version 4.6. o Bug 598 - SCA on-line HELP for REPORT no longer says the command is for the VAX/VMS platform only. o Bug 600 - The DECwindows SHOW QUERY command query expression and description fields are no longer set incorrectly. o Bug 604 - SHOW QUERY/FULL no longer fails when showing information for a query that is dependent on a deleted or modified query. o Bug 605 - The portable syntax HELP command no longer gives the wrong help information. o Bug 612 - The portable help no longer contains documentation index tags. o Bug 613 - The initialization fault that caused the IMPORT command to fail with an access violation has been fixed. Problems Fixed 3-1 4 ________________________________________________________________ Known Problems 4.1 General The following known problems exist for DIGITAL Source Code Analyzer Version 4.6: o Bug 582 - SCA only recognizes first call statement in COBOL copylib. SCA is inconsistent in finding calls to subprograms using COBOL and Copy Library files. If the call to a subprogram exists in the main program, SCA finds all occurrences of the call. However, if the call to a subprogram appears in code included with a Copy statement in a copy library, SCA will only find the first occurrence of the call. Performing a find on each of the other programs does show that the call exists. SCA ignores the 'redundant' information from the several inclusions, and presents just one occurrence of the CALL found in "copylib.txt". A workaround is to issue the "set duplicate inclusions visible" command (available only in SCA's portable-style command interface). o Bug 586 - Virtual memory leaks issuing queries from callable interface. When queries are performed on the library using the callable interface, SCA appears to leak virtual memory. If queries are performed repeatedly this will eventually lead to the process stopping with "%LIB-F- INSVIRMEM, insufficient virtual memory". There is currently no known workaround. Known Problems 4-1 o Bug 588 - SCA INSPECT SYMBOL=ROUTINE/CHAR=TYPE may result in an error. One of the following errors may occur: o %SCA-F-BADLOGIC, internal logic error: Extra super- symbol field o %SCA-F-BADREQ, invalid argument detected: attempt to create a relationship between same node There is currently no known workaround. o Bug 590 - Fatal SCA V4.2 (or earlier) error with SCA V4.3 (or later) loaded modules. Modules loaded into an SCA library using SCA V4.3 (and later versions) are incompatible with SCA version V4.2 (and earlier versions) and result in a fatal internal logic error (BADLOGIC) being reported. If you wish to use systems with both SCA V4.3 (or a later version) and V4.2 (or an earlier version), you MUST load the SCA library using SCA V4.2 (or an earlier version). o Bug 595 - SCA-F-BADMEM after CTRL/C. Entering CTRL/C during an EXTRACT MODULE command may result in SCA failing with an internal memory management error. o Bug 596 - Access violation on help -output command. In the portable command language, the command 'HELP -output file topic' may result in SCA failing with an access violation. o Bug 599 - FIND/MODIFY=/NAME= may result in an internal error. FIND/MODIFY=/NAME= may result in the following error: %SCA-F-BADLOGIC, internal logic error: Attempt to modify a non-modifiable graph o Bug 603 - SHOW QUERY "" does not show the current query. SHOW QUERY "" results in an error instead of showing the current query. 4-2 Known Problems o Bug 606 - Different command syntax defaults. The command syntax defaults are not consistent, in DECwindows mode the default is portable and in character-cell mode the default is VMS. o Bug 607 - LSE can display the wrong version of a file. LSE can display the wrong version of a file. For example if LSE and SCA are being used in DECwindows mode with an SCA library containing information for source file a.b;1 then if the following steps are performed LSE will end up displaying an incorrect version of file a.b: 1. Use SCA to goto a selected occurrence's location in source code file a.b. LSE displays the source for a.b;1. 2. Exit from SCA but not from LSE. 3. Generate version 2 of file a.b. 4. Load the new file into the appropriate SCA library. 5. Start up SCA. 6. Goto a location in source code file a.b. Following the above steps LSE will still be displaying the old version a.b;1 instead of the new version a.b;2. The error still occurs if a goto a location in a different source file is performed prior to step 6. o Bug 617 - Check needed for uniqueness of UICs. The installation of SCA incorrectly allows the SCA$DEFAULT and SCA$SERVER accounts to be set to the same UIC. These UICs need to be unique from each other and not already present on the system (unless they're from a previous SCA installation). Known Problems 4-3 4.2 DECwindows Interface The following DECwindows interface problems exist for DIGITAL Source Code Analyzer Version 4.6: o Bug 581 - Motif interface gives BADLOGIC error on a monochrome VXT 2000. Using the SCA DECwindows interface from a Monochrome VXT 2000 to determine the type of all data structures using a wildcard causes the reporting of the BADLOGIC error and SCA to hang. The workaround is to use different display hardware or the character-cell interface. o Bug 583 - Call Graph output file not displaying correctly in CDA viewer. If you change the default colors for the SCA DECwindows interface to have a light foreground and dark background and invoke SCA and save the output of a Call Graph, when you later attempt to display the DDIF file with the CDA viewer you will lose most of the detail. With the light foreground SCA will display the Call Graph correctly, but when you view the Call Graph file with the CDA viewer none of the connecting lines are visible and the names for the objects are truncated if they extend beyond the object circle. Workarounds include either of the following: 1. Use two colors which would show through the default window background (for example black and red, or anything other than white if you have a white background). 2. Use a dark foreground with a light background. o Bug 584 - DECwindows Call Graph gives errors and consumes resources. The SCA DECwindows interface, during production of a Call Graph for a small Fortran program, reports many Motif toolkit warnings and consumes excessive memory and CPU resources. The performance of subsequent queries are also effected - eventually resulting in the hanging of SCA. The workaround is to use the character-cell interface. 4-4 Known Problems o Bug 587 - Access violation on trying to extend a data structure. An access violation may occur when trying to expand a data structure in the SCA Data Structures window. The workaround is to use the character-cell interface. o Bug 602 - Use of continuation character in a Show Command window command. If a Show Command window command is continued, the continuation prompt goes to the window/terminal that invoked SCA (the prompt is normally hidden by an SCA window) and SCA will appear to hang until the prompt is satisfied. o Bug 608 - Data Structure Query Window failure. A Data Structure Query Window query can hang (VAX) or fail (Alpha, SCA is closed down) with the following error messages: %CMA-F-EXCCOPLOS, exception raised; some information lost -SCA-F-BADLOGIC, internal logic error: !AS o Bug 610 - Poor display from View/Show Attributes. The View/Show Attributes display is badly formatted and the first character of each line may be missing or clipped when using eXcursion. o Bug 611 - Show Command window HELP command prompts. Any prompts associated with a Show Command window HELP command go to the window/terminal that invoked SCA (the prompt is normally hidden by an SCA window) and SCA will appear to hang until the prompt is satisfied. o Bug 615 - Hangs when given invalid library and create directory. Using the New Library window an invalid library specification will cause SCA to hang if the create directory box is checked. The following message is output to the terminal from which SCA started: %LIB-F-INVFILSPE, invalid file specification Known Problems 4-5 SCA can be terminated safely, re-started and the valid library specification given. 4-6 Known Problems 5 ________________________________________________________________ Restrictions The following restrictions apply to DIGITAL Source Code Analyzer Version 4.6: 5.1 General Restrictions The following general restrictions apply to DIGITAL Source Code Analyzer Version 4.6: o ANA generated from compilation of concatenated source files. ANA files generated from compilations where source files are concatenated on the compile line are not supported. Such files can be loaded into an SCA library, however, certain operations such as finding all symbols in a particular module may result in an error. SCA can usually recognize that the ANA is 'bad' and issue a warning at load time. For example: $ sca load bad %SCA-W-BADLOAD, error loading DECSET5:[SCA]BAD.ANA;1 -SCA-W-BADANA, error loading module FOO -SCA-W-WARNING, warning: may be due to compilation of concatenated source -SCA-I-CREATEDANA, module was created by Digital Fortran V6.4-165 %SCA-S-REPLACED, module FOO replaced %SCA-S-COUNT, 1 module loaded (0 new, 1 replaced) For some compilers the SHOW MODULE/FULL command 'command line' field will indicate that source concatenation was used. If SCA recognized the ANA as 'bad' this will be indicated in the 'loaded' field. For example: Restrictions 5-1 $ sca show module/full FOO module name : FOO type : FORTRAN module identification : 01 compiler : Digital Fortran V6.4-165 command line : FORTRAN/LIST/ANALYSIS F1+F2 compiled : 24-Nov-1997 17:29 library : DECSET5:[SCA] (#1) loaded : 4-Dec-1997 14:25 (bad format) o Portable syntax command options. Many of the portable syntax commands do not implement all the options of the corresponding OpenVMS syntax commands. For example the OpenVMS syntax FIND command has nine possible qualifiers and the portable syntax FIND command only has two options. 5.2 C++ Language Support The following problems and restrictions apply to the C++ language support. o The IMPORT command will only work with XREF files generated by DIGITAL C++ compilers with a version number of 5.6 or higher. o Queries using the Symbol Class terms Exception, Generic, or Label will not identify any occurrences within a program. o Templates are not described correctly. o For DIGITAL C++ Version 5.6 template constructs or multiple includes of a file (but not normally those excluded by conditional compilation statements) may cause the following problems: o The result of a query to be incorrect. o The analysis data file is recognized as containing invalid data. This causes all relationship queries on this module to fail with the error: 5-2 Restrictions -SCA-W-BADANAFOR, library contains module(s) with Bad ANA format The command SHOW MODULE can be used to identify all invalid "Bad ANA format" modules. o References to an object may not be correctly linked to the primary declaration. o Use of Typedef statements are not recognized by queries. o The Go-To-Source feature will not always select the correct character position. For DIGITAL C++ V5.6 include file references, the line and file may also be incorrect. o Listing line numbers are not always correct. o Visible program constructs may be incorrectly marked with the hidden attribute and hidden constructs may be visible. o The scoping information of certain statements may not be correct causing incorrect results to queries. This affects the Typing and Containing relationships. For example: o Classes or Functions declared on a single line: CLASS X { int a( char *b ); }; o Comma delimited list: int a,b[4]; o Queries involving destructors should have the name in quotes. For example: FIND "~abc" o Class names may be displayed in the wrong case. o The Data Structure window fails for classes that are derived from a base class. Restrictions 5-3 6 ________________________________________________________________ Reporting Problems and Suggestions Depending on the nature of the request or problem, customers can call DIGITAL provided their software contract and warranty entitles them to telephone support. Review the SPD and Warranty Addendum for an explanation of warranty. If a problem is encountered during the warranty period, customers can report the problem using DSNlink. In the United States, customers can call the DIGITAL Customer Support Center at 1-800-354-9000. In addition, DIGITAL provides access to Web Information and Support (WIS), an Internet-based electronic services application that allows customers to submit electronic service requests, access databases, download patch kits, transfer files from DIGITAL, and connect to global notes conferences via the World Wide Web. Dial-In Access (DIA) users can access WIS by: 1. Opening http://www.service.digital.com/wis. 2. Choosing a country code. 3. Entering DIA Access ID and password. WIS and DIA use the same underlying account and directory on the DIGITAL Customer Support Center host system. Customers can register for DIA and receive a WIS account by contacting their Customer Support Center or local DIGITAL representative. This method can also be used to make requests for additional features or modifications to existing features. Reporting Problems and Suggestions 6-1 When submitting a request, please include the following information: 1. DIGITAL Source Code Analyzer version number and type of OpenVMS operating system. 2. Problem summary. 3. Stack dumps or error logs (if applicable). 4. Files in machine-readable media: magnetic tape (preferred), floppy diskette, or tape cassette. 6-2 Reporting Problems and Suggestions