DECset________________________________________ Release Notes for DIGITAL SCA Version 4.5-4 August 1997 These release notes for DIGITAL Source Code Analyzer Version 4.5-4 for DIGITAL OpenVMS VAX and DIGITAL OpenVMS Alpha contain important general information, new and changed features, current restrictions and documentation notes. Operating System and Version: OpenVMS VAX, Version 6.1 - Version 7.1 OpenVMS Alpha, Version 6.1 - Version 7.1 DECwindows Motif, Version 1.1 - Version 1.2 Software Version: DECset for OpenVMS, Version 12.2 Software Version: DIGITAL Source Code Analyzer for OpenVMS Systems, Version 4.5-4 Digital Equipment Corporation Maynard, Massachusetts __________________________________________________________ August 1997 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 All rights reserved. © Electronic Data Systems Limited 1994, 1995, 1996, 1997. The following are trademarks of Digital Equipment Corporation: DEC Ada, DEC BASIC, DEC C, DEC COBOL, DECdocument, DECnet, DEC Pascal, DECset, DECwindows, DIGITAL, DIGITAL Fortran, eXcursion, OpenVMS, VAX, VAX BLISS-32, VAXcluster, VAX COBOL, 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 Installation Requirements....................... 1-1 2 New Features 2.1 C++ Support..................................... 2-1 2.1.1 Import Command ............................... 2-1 2.1.2 New Symbol/Occurrence Classes ................ 2-2 2.1.3 Class Browser ................................ 2-2 2.1.4 Problems and Restrictions .................... 2-3 2.2 DECnet/OSI Phase V.............................. 2-4 3 Problems Fixed 4 Known Problems 4.1 General......................................... 4-1 4.2 DECwindows Interface............................ 4-3 5 Reporting Problems and Suggestions iii Tables 1 Conventions .................................. vi 2-1 SCA Symbol Classes ........................... 2-2 2-2 SCA Occurrence Classes ....................... 2-2 iv ________________________________________________________________ Preface These release notes characterize the Version 4.5 release of DIGITAL Source Code Analyzer for DIGITAL OpenVMS VAX and DIGITAL 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 how to report problems. v Associated Documents For more information on DIGITAL Source Code Analyzer, refer to the following documents o DECset OpenVMS V12.2 Software Product Description o DECset Guide to Detailed Program Design for OpenVMS Systems o Using DECset for VMS Systems o Guide to DEC Language-Sensitive Editor for OpenVMS Systems o Guide to DEC Source Code Analyzer for OpenVMS Systems o DEC Language-Sensitive Editor/Source Code Analyzer for OpenVMS Reference Manual Sending DIGITAL Your Comments We welcome your comments on these release notes or any other pieces of documentation. See Chapter 5 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. (continued on next page) vi Table_1_(Cont.)_Conventions_______________________________ Convention__________description___________________________ 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._______________________ vii 1 ________________________________________________________________ General Information The information in these release notes pertain to DIGITAL Source Code Analyzer Version 4.5. 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.5 is a maintenance release. 1.2 Installation Requirements For a new installation of SCA the following is required: OpenVMS Alpha Systems Global Pages 1000 Global Sections 15 Disk Blocks 18000 OpenVMS VAX Systems Global Pages 4600 Global Sections 15 Disk Blocks 13000 General Information 1-1 2 ________________________________________________________________ New Features The following enhancements were added to DIGITAL Source Code Analyzer Version 4.5. 2.1 C++ Support Prototype support for the C++ language has been included in this release. All the features necessary to support the language are present, including additional Symbol /Occurrence classes and a Class hierarchy browser. Please note, the SCA and OpenVMS C++ Version 5.6 enhancements necessary for supplying this support are still undergoing development, so problems and restrictions may be encountered. All problems which are known to exist are detailed below, but if you encounter others please report them to DIGITAL in the usual manner. 2.1.1 Import Command The DEC C++ compilers do not generate analysis data files that can be directly loaded into an SCA library, but instead generate XREF data files, using the /XREF qualifier, that must be converted into analysis data files. This conversion is performed using the SCA IMPORT command. The IMPORT command can be invoked from the DCL interface and has the following format: IMPORT input-file-specification[,input-file-specification...] /[NO]LOG /OUTPUT[=output-file-specification] Where input-file-specification specifies the XREF files to be converted to SCA analysis data files, wildcards can be used with the input-file-specification parameter. The default file type is that used by the compilers for XREF files (.XREF). New Features 2-1 2.1.2 New Symbol/Occurrence Classes The following Symbol and Occurrence Classes have been added to support the C++ language. Table_2-1_SCA_Symbol_Classes______________________________ SCA_Term_______Explanation________________________________ CLASS Any C++ class object construct defined by _______________union,_structure_or_class_statements_______ Table_2-2_SCA_Occurrence_Classes__________________________ SCA_Term_______Explanation________________________________ References________________________________________________ BASE Any base class of a C++ class FRIEND Any friend of a C++ class MEMBER Any member of a C++ class __________________________________________________________ Other_Occurrence_Classes__________________________________ PRIVATE Any private C++ object PROTECTED Any protected C++ object PUBLIC Any public C++ object VIRTUAL________Any_virtual_C++_object_____________________ 2.1.3 Class Browser A class browser has been added to the DECwindows interface, that can be used to display the inheritance hierarchy of C++ classes. The class browser can be accessed by selecting the "Class Browser..." menu item from the "Query" menu on any window, or the "Used By" or "Using" menu item from the Name Browser query menu, or by clicking the "Class Browser..." button on the main SCA window. Further information can be obtained from the "Help" menu on the Class Browser Query or Class Browser Result window. 2-2 New Features 2.1.4 Problems and Restrictions The following problems and restrictions apply to the C++ language support. o The IMPORT command will only work with XREF files generated by a DEC C++ Version 5.6 compiler. o Queries using the Symbol Class terms Exception, Generic, or Label will not identify any occurrences within a program. o Template constructs or multiple includes of a file, but not 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: -SCA-W-BADANAFOR, library contains module(s) with Old ANA format The command SHOW MODULE can be used to identify all invalid "Old 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 and, in the case of include file references, the incorrect line and file can be selected. 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 New Features 2-3 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. 2.2 DECnet/OSI Phase V The commands that support full file specifications have been enhanced to function under DECnet/OSI Phase V. 2-4 New Features 3 ________________________________________________________________ Problems Fixed The following bugs were fixed and restrictions were removed in DIGITAL Source Code Analyzer Version 4.5. o Bug 593 - Portable command language help missing The portable command language help is missing from the character-cell interface. Problems Fixed 3-1 4 ________________________________________________________________ Known Problems 4.1 General The following known problems exist for DIGITAL Source Code Analyzer Version 4.5: o Bug 580 - SCA claims "Old ANA format" for concatenated source files. Source files may be concatenated on the compile line and the resulting .ANA file can be loaded into the SCA library successfully. However, certain operations, such as finding all symbols in a particular module result in an error suggesting "Old ANA format". The workaround is not to concatenate source files on the compile line. 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. There is no known workaround other than querying each individual program. o Bug 585 - SCA INSPECT generates errors for C enum and array typedefs. Known Problems 4-1 If the command $ SCA INSPECT SYMBOL=ROUTINE is issued on C modules containing enum and or array typedefs (including the SCA example library SCA$EXAMPLE:), errors state that some of the modules have the wrong passing mechanism. There is currently no known workaround. 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. o Bug 588 - %SCA-F-BADLOGIC, internal logic error: Extra super-symbol field. Issuing the SCA command INSPECT SYMBOL=ROUTINE /CHAR=TYPE can cause the error. The workaround is not to use a wildcard in the query. o Bug 589 - Some Ada types may have incomplete typing information. SCA may fail to report the complete Ada typing when part of the type is defined in a separate package from the type definition (for example, array index types) or when private types are not completely defined in predefined packages (for example, type ADDRESS in package SYSTEM). o Bug 590 - Fatal V4.2 (or earlier) error with V4.3 (or later) loaded modules. Modules loaded into an SCA library using SCA version V4.3-04 (and later versions) are incompatible with SCA version V4.2-134 (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-04 (or a later version) and V4.2-134 (or an earlier version), you MUST load the SCA library using SCA V4.2-134 (or an earlier version). 4-2 Known Problems 4.2 DECwindows Interface The following DECwindows interface known problems exist for DIGITAL Source Code Analyzer Version 4.5: 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 structure 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. Known Problems 4-3 o Bug 587 - ACCVIO 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. 4-4 Known Problems 5 ________________________________________________________________ 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 5-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. 5-2 Reporting Problems and Suggestions