Permalink
Commits on Aug 13, 2014
  1. Retire Project

    committed Aug 13, 2014
Commits on Aug 8, 2014
  1. It compiles with svn again, but it dies horribly

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

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

    committed Aug 7, 2014
  3. More Build System Fixes

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

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

    committed Jun 26, 2014
  2. Update README

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

    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.
    committed Jan 20, 2014
Commits on May 26, 2013
Commits on Jan 31, 2013
  1. Fixes compile issues with clang 3.2

    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.
    committed Jan 31, 2013
Commits on Jan 18, 2013
  1. Adds man page

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

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

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

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

    committed Jul 31, 2012
  2. Fixes Unpredictable Test

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

    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
    committed Jul 4, 2012
Commits on Jul 3, 2012
  1. Adds basic support for function pointer tracking

    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
      correctly
    committed Jul 3, 2012
Commits on Jun 24, 2012
  1. Adds verbose flag and defaults to non-verbose mode

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

    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
    committed Jun 18, 2012
Commits on Jun 5, 2012
  1. Adds basic sfpf binary

    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
    committed Jun 5, 2012
Commits on Jun 3, 2012
  1. Adds Operator Delete Support

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

    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
    committed Jun 3, 2012
Commits on May 29, 2012
  1. Whitelists fmod/jack_get_port_get_buffer functions

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

    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)
    committed May 28, 2012
  2. Fixes broken clang_complete file

    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.
    committed May 28, 2012
Commits on May 27, 2012
  1. Adds basic manual for program and adds GPLv3+

    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
    committed May 27, 2012