JavaScript is not currently enabled, but is required for full CodeSonar manual search and browse functionality.
If you are viewing this file in your hub's Web GUI, enable JavaScript in your browser: you will also need it for GUI functionality.
If you opened this file directly from disk, your browser may be directly suppressing JavaScript functionality: certain browsers perform this suppression on local files (but not files delivered by web servers) for security reasons.
| CodeSonar® 9.0p0 Hot Tips | CONFIDENTIAL | CodeSecure Inc |
Official release date: September 4, 2008.
CodeSecure is pleased to announce that CodeSonar now includes charting features.
CodeSonar is now available for OS X (x86 and x86-64) 10.4 or later.
| Hub Command | URL | Effect |
|---|---|---|
| info | /command/info/ | Display basic information about the hub. |
| log | /command/log/ | Display the hub log (non-streaming). |
| most_expensive_sql.txt | /most_expensive_sql.txt | Display information about the SQL query with the largest (in bytes) result set in the hub process lifetime. |
| shutdown | /command/shutdown/ | Shut down the hub. |
| sql.txt | /command/sql.txt | Display the SQL query log. |
| sql_memory.txt | /command/sql_memory.txt | Display the recent SQL queries that returned result sets. |
| traffic.txt | /command/traffic.txt | Display the HTTP request log. |
| userlog.txt | /command/userlog.txt | Display the user event log. |
| New Option | Effect |
|---|---|
| --cs_ext_asm_endasm | Allows code that includes the #asm...#endasm construct. |
| --cs_ext_incomplete_enum_type | Allows code that uses enum types that have been declared but not defined. |
| --cs_ext_zero_size_array | Allows code that declares arrays of size zero. |
| New Parameter | Notes |
|---|---|
| EDG_FRONTEND_OPTIONS_APPEND | Replace FRONTEND_OPTIONS |
| EDG_FRONTEND_OPTIONS_PREPEND | |
| ERROR_SUBMISSION_LIMIT_PER_COMPILATION | Specifies the maximum number of parse errors that will be submitted to the hub for a compilation. |
| IGNORED_COMPILATIONS | Compilations whose path is matched by the given regular expression will be ignored. |
| MAX_MATCH_LENGTH | Support regular expression based replacement, to be carried out over the source code being analyzed (before preprocessing occurs). |
| SOURCE_PATTERN | |
| SOURCE_REPLACEMENT | |
| SOURCE_MODIFIERS | |
| SOURCE_PATTERN_REPLACEMENT | |
| SOURCE_REPLACE_COMMAND | |
| PREPROCESS_ALWAYS | Specifies whether or not preprocessed versions of all compilation units will be saved. |
| PREPROCESS_IF_FAIL | |
| ZFRAG_POOL_MINIMUM_CAPACITY | Specifies amount of memory to eagerly reserve for defragmentable allocations. |
| ZFRAG_POOL_SMALL_THRESHOLD | Specifies a minimum size for allocations that can use defragmentable memory. |
| Deleted Parameter | Notes |
|---|---|
| FRONTEND_OPTIONS | Replaced by EDG_FRONTEND_OPTIONS_APPEND and EDG_FRONTEND_OPTIONS_PREPEND |
Changes to Scheme AST API functions, types, and patterns.
| New Function | Notes |
|---|---|
| (ast-all-classes) | Gets a list of all available AST classes. |
| (ast-all-families) | Gets a list of all available AST families. |
| (ast-all-ordinals) | Gets a list of all available AST ordinals. |
| (ast-attributes-ordinals) | Gets a list containing the ordinals (names) of the attributes of an AST. (This was previously the behavior of (ast-attributes).) |
| (ast-children-ordinals) | Gets a list containing the ordinals (names) of the children of an AST. (This was previously the behavior of (ast-children).) |
| (ast-close) | Close the specified AST. |
| (ast-create) | Create a new AST, given a class name and optional list of fields. |
| (ast-fields-ordinals) | Gets a list containing the ordinals (names) of the fields of an AST. (This was previously the behavior of (ast-fields).) |
| (ast-set-field) | Sets the specified field of an AST. |
| (file-ast) | Get the AST of the specified family for a specified compilation unit. |
| (file-asts-at) | Get all ASTs of the specified classes that occur at the specified location. |
| (file-set-ast!) | Set the AST of the specified family for a specified compilation unit. |
| (pdg-set-ast!) | Set the AST of the specified family for a specified PDG. |
| (pdg-vertex-ast) | Get the AST of the specified family for a specified PDG_VERTEX. |
| (pdg-vertex-set-ast!) | Set the AST of the specified family for a specified PDG_VERTEX. |
| Modified Function | Notes |
|---|---|
| (abs-loc-ast) | Now takes an additional family argument. |
| (ast-attributes) | Now returns all the attributes of an AST as list of ordinal-field pairs. (Previously returned only a list of ordinals - new function (ast-attributes-ordinals) has this behavior.) |
| (ast-children) | Now returns all the children of an AST as list of ordinal-field pairs. (Previously returned only a list of ordinals - new function (ast-children-ordinals) has this behavior.) |
| (ast-dig) | Signature change: returned value is now always a field (unless there is an error), first argument is always an AST (never a list of AST). |
| (ast-fields) | Now returns all the fields of an AST as list of ordinal-field pairs. (Previously returned only a list of ordinals - new function (ast-fields-ordinals) has this behavior.) |
| (pdg-ast) | Now takes an additional family argument; which means it can cover the cases previously covered by both (pdg-ast) and (pdg-expr). |
| New Name | Previous Name |
|---|---|
| (ast-class-is-subclass?) | (ast-class-is-a?) |
| (ast-class-superclass) | (ast-class-direct-superclass) |
| Deleted Function | Notes |
|---|---|
| (ast-attribute) | Use (ast-field). |
| (ast-child) | Use (ast-field). |
| (ast-for-uid) | Use (file-ast). |
| (ast-get-pos) | If source position information is available for a given AST, it is stored in the AST's :position attribute. |
| (ast-has-attribute?) | Use (ast-has-field?). |
| (ast-has-child?) | Use (ast-has-field?). |
| (ast-uid) | No replacement. |
| (pdg-expr) | Use (pdg-ast) with 'normalized as the family argument. |
| (pdg-vertex-asts) | Use (pdg-vertex-ast) with 'unnormalized as the family argument. |
| (pdg-vertex-expr) | Use (pdg-vertex-ast) with 'normalized as the family argument. |
| Unnormalized | |
|---|---|
| Fixed-point values and operations |
|
| Integer-shift operations |
|
| Pragmas |
|
| Lists |
|
| Finer resolution of arrays |
|
| Literals |
|
| Other new unnormalized classes |
|
| Normalized | |
| Fixed-point values and operations | c:fixed-point |
| Class | New Superclass | Previous Superclass(es) |
|---|---|---|
| c:args | none | c:ast |
| c:base-class | c:ast | c:leaf |
| c:bit-or | c:bitwise | c:binary-bitwise |
| c:dynamic-cast | c:lvalue | c:rvalue |
| c:field | c:ast | c:leaf |
| c:fullcall | none | c:rvalue |
| c:incdec | c:arithmetic | c:unary-arithmetic |
| c:label | c:leaf only | c:leaf and c:rvalue |
| c:literal | c:leaf only | c:leaf and c:rvalue |
| c:or-assign | c:X= | c:x= (renamed) |
| c:routine | c:rvalue only | c:symbol and c:rvalue |
| c:string | c:lvalue | c:literal |
| c:unary+ | c:arithmetic | c:unary-arithmetic |
| c:unary- | c:arithmetic | c:unary-arithmetic |
| c:variable | c:rvalue only | c:symbol and c:rvalue |
| c:% | c:arithmetic | c:binary-arithmetic |
| c:* | c:arithmetic | c:binary-arithmetic |
| c:+ | c:arithmetic | c:binary-arithmetic |
| c:- | c:arithmetic | c:binary-arithmetic |
| c:/ | c:arithmetic | c:binary-arithmetic |
| c:x= | c:arithmetic | c:binary-arithmetic |
| c:& | c:bitwise | c:binary-bitwise |
| c:>> | c:bitwise | c:binary-bitwise |
| c:<< | c:bitwise | c:binary-bitwise |
| c:^ | c:bitwise | c:binary-bitwise |
| c:~ | c:bitwise | c:unary-bitwise |
| c:!= | c:logical | c:binary-logic |
| c:< | c:logical | c:binary-logic |
| c:<= | c:logical | c:binary-logic |
| c:== | c:logical | c:binary-logic |
| c:> | c:logical | c:binary-logic |
| c:>= | c:logical | c:binary-logic |
| c:! | c:logical | c:unary-logic |
| c:%= | c:X= | c:x= (renamed) |
| c:&= | c:X= | c:x= (renamed) |
| c:>>= | c:X= | c:x= (renamed) |
| c:<<= | c:X= | c:x= (renamed) |
| c:*= | c:X= | c:x= (renamed) |
| c:+= | c:X= | c:x= (renamed) |
| c:-= | c:X= | c:x= (renamed) |
| c:/= | c:X= | c:x= (renamed) |
| c:^= | c:X= | c:x= (renamed) |
| Unnormalized | |
|---|---|
| Deleted Class | Handling |
|
No replacements. |
| cc:binary-question | No replacement. |
| Normalized | |
| Deleted Class | Handling |
| c:binary-arithmetic | Subclasses now inherit directly from c:arithmetic. |
| c:binary-bitwise | Subclasses now inherit directly from c:bitwise. |
| c:binary-logic | Subclasses now inherit directly from c:logical. |
| c:leaf |
|
| c:symbol | no replacement |
| c:symbol |
|
| c:unary-arithmetic | Subclasses now inherit directly from c:arithmetic. |
| c:unary-bitwise | Subclasses now inherit directly from c:bitwise. |
| c:unary-logic | Subclasses now inherit directly from c:logical. |
| Old Class Name | New Class Name |
|---|---|
| c:logic | c:logical |
| c:X= | c:x= |
| Unnormalized | |
|---|---|
| Class | Field Changes |
| cc:aggregate | Child previously labeled :constants is now labeled :constant-list |
| cc:array | Now covers fixed-length arrays only (cc:vla is for variable length ones) and no longer has an :element-type child or :is-vla attribute. |
|
Now all have a :position attribute. |
| cc:class-struct-union | Attribute previously labeled :is-interface now labeled :ms-interface. |
| cc:complex-value | Type of :real-value and :imag-value children is now cc:float-literal. |
| cc:constant-template-param | No longer has a :ctp-coordinates attribute |
| cc:expr-type | Child previously labeled :type is now labeled :represented-type |
| cc:float-value | Type of :value child is now cc:float-literal |
| cc:imaginary-value | Type of :value child is now cc:float-literal. |
| cc:integer | Now has an :is-unsigned attribute. |
| cc:integer-value | Type of :value child is now cc:integer-literal. |
| cc:routine | No longer has an :overriding-function-for-covariant-return-type attribute. |
| cc:routine-type | Now has an :exception-specification child. |
| cc:scope | No longer has a :vla-dimensions attribute. |
| cc:source-correspondence | Now has a :mangled-name attribute. |
| Normalized | |
| Class | Field Changes |
| c:class-struct-union | Now has a :size-is-incomplete attribute. |
| c:field | Now has an :is-last-field attribute. |
| c:id | replaced by c:variable, c:routine, c:field, c:base-class, c:label |
| C Function | Scheme Function | Summary |
|---|---|---|
| cs_pdg_friendly_name() | (pdg-friendly-name) | Retrieves the user-friendly name of the procedure associatedwith a PDG. |