Posted by & filed under Build Notes.

(Build b772-b773) – 2 Apr 2015


  • For Coldfire 64K Assembly, made unknown include files referenced with a relative or absolute filename have a shortname and longname value. Also, made change to allow quote characters around filenames in include statements.


  • Added the compare right click context menu to non-project files.


  • Updated discardedReturnValues.upl to be more robust.
  • Updated MISRA 2008 rule 3-3-1 to eliminate various reporting errors and added All Check script objectsOrFunctionsWithExternalLinkageShallBeDeclaredInAHeaderFile.upl to Code Check.
  • Add several MISRA 2012 Code Checks.


  • Und fix that allows the “-l somedir\somefile.dat” to be before the create command instead of always trailing/last.


  • Added language specific editor styles to themes, and updated predefined themes to stylize function, class, and variable names. Added a classics theme for the original Understand theme.
  • Editor Styles, remove old .ini keys so that old values don’t override new ones. This makes Editor Styles not backwards compatible (if you open Understand 4.0 and then open an earlier version, the earlier version will not have the styles).


  • Make the keyboard icons in tools->options consistent with the editor icons in the same view (one keyboard icon for the main page and no icons for sub pages).


  • Add a show virtual edges option to cluster call graphs that show override/overriddenby edges. Override edges are light blue by default, to change go to tools->options and enter a custom edge style for “overrides,overriddenby” and make sure that “Use Custom Styles on Cluster Call Graphs” is checked.
  • Cluster Call Graphs, Fix aggregate by architecture to work instead of vanishing nodes or doing nothing.
  • Added relationship graphs between two entities. From the UI, a dialog appears to select the second entity, and the second entity can be changed using the sync option of the graph window. From the API, specify the second entity in the option string as “secondent=entityUniqueName”.
  • Cluster Call Graphs, Show c pure virtual methods in cluster call graphs (previously excluded because they were technically unknown).
  • Cluster Call Graphs, Made available from api.
  • Allow c# properties to be clusters in cluster call graphs to improve get/set names.
  • Fix graph window reuse checkbox to work across all graph types. So, all graphs whether architecture, global, or entity will reuse the same window. This fixes errors where reuse checkbox being checked caused a graph of a different type to not be generated at all.
  • Cluster Call Graphs, Improve parent determination so that references don’t appear twice in the graph and known entities with unknown parents still appear.


  • Added the ability for the c api to point to a specific build/installation for licensing purposes. This is accomplished by calling udbSetLicense(installedDir) before calling udbDbOpen(dbFilename). The installedDir needs to be the directory above the conf folder. For example: the prioritylicense.dat file that I want the c api to use is in “C:\sti\conf\license” so my installedDir would be “C:\\sti\\”.
  • Updated to check for maintenance expiration and license expiration.


  • For web php, added support for using ‘list’ in foreach statements.
  • For web php, added support for Php 5.4 callable typehint and binary numeric literals.
  • For web php, fixed problem causing invalid syntax errors parsing nowdoc strings that contain variable references.
  • For web php, added support for ‘yield’ statement.
  • For web php, made change to allow expressions in ’empty’ check.
  • For web php, added support for ‘finally’ statement.
  • For web php, made ‘self’ and ‘parent’ keywords non case sensitive for Php 5.5.


  • Changed empty macro definitions to match fuzzy. They now expand to nothing instead of being implicitly converted to 1. Buildspy and CMake command line argument parsing have been changed to interpret -DMACRO flags (i.e. without any =) as a macro definition with value 1. Projects that use these mechanisms may need to be regenerated.
  • Fixed incorrect executable statement count for some functions.


  • Fix crash processing MSVC project files with quoted include directories.