Switch branches/tags
Nothing to show
Commits on Aug 13, 2014
  1. Retire Project

    fundamental committed Aug 13, 2014
Commits on Aug 8, 2014
Commits on Aug 7, 2014
  1. Add Test Which Shows How Implicit Calls Are Missed

    fundamental committed Aug 7, 2014
    It is looking more and more practical to change this tool to operate on
    the IR by the hour
  2. More cleanup

    fundamental committed Aug 7, 2014
  3. More Build System Fixes

    fundamental committed Aug 7, 2014
  4. Fix Compile for llvm 3.5

    fundamental committed Aug 7, 2014
Commits on Jun 26, 2014
  1. Fix README extension

    fundamental committed Jun 26, 2014
  2. Update README

    fundamental committed Jun 26, 2014
Commits on Jan 20, 2014
  1. Misc Updates For LLVM 3.5

    fundamental committed Jan 20, 2014
    I really wish that there was a more sane way to get the clang linker flags
    setup, but they seem to change with every release and due to single pass
    linkers, the ordering is a PITA to get right.
    None the less, it should work with llvm 3.5 as compiled from scratch.
Commits on May 26, 2013
Commits on Jan 31, 2013
  1. Fixes compile issues with clang 3.2

    fundamental committed Jan 31, 2013
    Apparently the old API is no longer valid and some memory management has changed
    in the bowels of libclang.
    Thus to stop the fires from some refcounting gone wrong in TargetOptions or an
    associated class cleanup is simply not done.
    All the memory is reclaimed by the OS, but is still quite annoying that this
    commit had to be made.
Commits on Jan 18, 2013
  1. Adds man page

    fundamental committed Jan 18, 2013
Commits on Dec 5, 2012
  1. Valgrind: Fixes memory leaks

    fundamental committed Dec 5, 2012
    - Calls and Callees were never deallocated before
      This commit fixes that without appearing to introduce any issues
Commits on Nov 24, 2012
  1. sfpf: it builds once again

    fundamental committed Nov 24, 2012
    - Updated all rotting sfpf files
    - Tested by hand and it appears to work
  2. Tests: fixed compile bug

    fundamental committed Nov 24, 2012
Commits on Jul 31, 2012
  1. Removes debugging code

    fundamental committed Jul 31, 2012
  2. Fixes Unpredictable Test

    fundamental committed Jul 31, 2012
    The test now passes with different orders of output errors, which appear
    to vary based upon clang version
Commits on Jul 4, 2012
  1. Adds tracking of function pointers through calls

    fundamental committed Jul 4, 2012
    Now if a function pointer is passed into a function, it is tracked.
    The current implementation is rather simplistic and it will fail when names
    conflict, but the basic behavior is now there. In order to test this
    functionality function pointers now have their attributes checked (ie. they can
    be marked realtime or non-realtime). This support should be able to
    pessimistically track functions through callbacks.
    - Adds tracking of function pointers through function calls
    - Adds annotation checking for function pointer
    - Adds test for annotated function pointers
Commits on Jul 3, 2012
  1. Adds basic support for function pointer tracking

    fundamental committed Jul 3, 2012
    Function pointers are now analyzed, making this project track direct, indirect,
    and virtual calls. In order to do this some of the hacks to allow the lookup of
    particular callees were undone and the underlying system was made to be a bit
    more general. This amounted to useing a large number of pointers to Callee
    objects rather than accessing them based upon their fully qualified names.
    Unfortuantly this does introduce the possiblilty of unexpected segfaults, though
    the test suite appears to work properly and deallocation is not handled in the
    current revision (aka non of the objects are deleted after being newed).
    - Function pointers are now recorded and the possible calls that they contain
      are stored
    - sfpf was broken in this rework, though it should not be difficult to fix in
      another commit
    - Test added to check that function pointers are added to the callgraph
Commits on Jun 24, 2012
  1. Adds verbose flag and defaults to non-verbose mode

    fundamental committed Jun 24, 2012
    - Also moves the version flag from -v to -V
Commits on Jun 18, 2012
  1. Adds basic blacklist files

    fundamental committed Jun 18, 2012
    This commit adds simple blacklisting with reasons. This should be later enhanced
    with specific blacklists for operators (ie new/delete/delete[]) with an @new
    style syntax. A basic blacklist file can be found in data/ and it is run through
    one test.
    - Adds blacklist parsing
    - Adds blacklist file
    - Adds blacklist test
    - Adds blacklist reasons
    - Removes blacklist file from TODO list
Commits on Jun 5, 2012
  1. Adds basic sfpf binary

    fundamental committed Jun 5, 2012
    sfpf is the Static Function Property Finder and it utilizes a modified deduction
    engine, which propigates information from library functions through defined
    functions. This is the reverse direction compared to the deductions used in
    sfpv, thus the ReverseDedutions class. The ideal use of sfpf would be to quickly
    obtain whitelists and blacklists from a library.
    - Adds basic sfpf binary
    - Moves main.cpp to sfpv.cpp
    - Adds simple internal blacklist in sfpf
Commits on Jun 3, 2012
  1. Adds Operator Delete Support

    fundamental committed Jun 3, 2012
    - Mostly a copy/paste of operator new support
    - Updates test to verify delete is detected
  2. Adds Support for operator new calls

    fundamental committed Jun 3, 2012
    Operator new is now detected using CXXNewExpr. All instances of operator new are
    registered under a single instance of the FunctionDecl generated from the first
    expression encountered. In order to let the function call registry support this
    its storage was generalized from clang::CallExpr to clang::Expr.
    - Adds Operator new to valid function calls
    - Adds test to verify operator new is detected
    - Modifies test to avoid warnings from this new feature
Commits on May 29, 2012
  1. Whitelists fmod/jack_get_port_get_buffer functions

    fundamental committed May 29, 2012
    - Just adds functions to the whitelist.txt
Commits on May 28, 2012
  1. Refactors Codebase

    fundamental committed May 28, 2012
    Most of the cruft of earlier designs should be eliminated by this commit.
    - Moves deduction system out of main
    - Splits Types.h/cpp into FuncCalls and FuncEntries
    - Removes Debugging printfs, such that in quiet mode no debugging
      information should be seen
    - Removes unneeded header includes; As a side effect the header-include test is
      now only subjected to stl headers and not llvm headers, making it run
      considerably faster (though it may miss some edge cases)
  2. Fixes broken clang_complete file

    fundamental committed May 28, 2012
    The clang_complete file operates on arguments to be passed to clang, NOT code to
    be prepended. This commit changes any #define to a -D option.
Commits on May 27, 2012
  1. Adds basic manual for program and adds GPLv3+

    fundamental committed May 27, 2012
    In order for this software to make sense to others, some basic documentation is
    needed. This has been started in the doc directory with a basic user manual
    written in asciidoc.
    - Removes detail from README
    - Adds somewhat detailed description to the user manual
    - Adds basic GPLv3+ documents