Furthermore, a new option controls the depth of function and macro
call graphs, which are now fully browsable in SVG-enabled browsers.
In addition, the web front-end provides support for hand-editing
of files, source code directory browsing, and functionality to
interactively explore the tree of a function's calling and called
functions. Finally, the processing engine includes support for
gcc's include_next and preprocessor conditionals within macro
invocations directives.
Reviewed by: bf <bf2006a at yahoo.com>
Version 2.2 includes numerous fixes and the following enahncements.
- All query results are presented through a page selection interface.
- Identical files in different locations are identified and presented
in the file information page and through the file metrics.
- Identifiers occuring at the same place in identical files are considered
to be the same.
- Facility to display the call path from one function to another.
- New option to display call graphs as GIF images avoiding the need for
an SVG plugin for medium-sized graphs.
- The SQL backend supports four additional tables: STRINGS, COMMENTS,
FILEPOS, FILECOPIES.
- Allow attribute declarations to follow labels (gcc extension).
- Support indirect goto labels (gcc extension).
- Support (ANSI-style) nested function definitions (gcc extension).
- The macro expansion algorithm follows more closely the C standard
specification.
- Allow braces around scalar initializers (common extension).
- Macro calls in function arguments now get recorded as calls from the
enclosing function, rather than the function being called.
- Significantly faster file post-processing for the web and the SQL
interface in large projects.
- Array designators can be denoted through a range (gcc extension).
- Support for symbolic operands in gcc asm constructs.
- Allow __typeof__ declarations to be preceded by type qualifiers.
- Correctly handle __typeof__ of objects with a storage class within
typedef declarations.
- The order of include file searching now matches more closely that of
other compilers: absolute file names are never searched in the include
file path, and non-system files are first searched relative to the
directory of the including file.
- Allow empty initializers and compound literals. (gcc extension)
- Support for the alignof operator (gcc extension)
- The equals sign following an initializer designator is optional
(gcc extension).
- A declaration expression can be used as the first expression of a for
statement. (C99)
- __typeof can also have as its argument a type name
- Support for designators in compound literals. (C99)
refactoring browser for collections of C programs.
I coordinated the creation of the port with him, he will maintain the
port himself in the future.
I think this is the first binary only program (at least in the ports
collection) which supports FreeBSD on alpha, amd64, i386, ia64 and
sparc64.
Reviewed by: dds