dsw / oink-stack

Oink is a collaboration of C++ static analysis tools.
http://danielwilkerson.com/oink/index.html
154 stars 34 forks source link

Checked in initial version of "wrap" transformation. #2

Open sears opened 13 years ago

sears commented 13 years ago

The transformation is working reasonably well at at this point, but it seems to be being hit by some oink bugs. (See XXX comments in most recent commit).

I want to change this so that, instead of creating a function called _wrapperfoo() that calls foo(), it will rename foo() to original_foo() and generate a new foo() that will call the original version. This should reduce the size of the resulting patches, and automatically handle corner cases, such as invocations via function pointers. My intuition is that it's a cleaner way to handle C++ constructs, but I haven't thought through all of the cases.