[PATCH] D9600: Add scan-build python implementation

Devin Coughlin via cfe-commits cfe-commits at lists.llvm.org
Wed Dec 9 12:18:36 PST 2015


dcoughlin added a comment.

In http://reviews.llvm.org/D9600#305980, @rizsotto.mailinglist wrote:

> > Also, what do you think about renaming intercept-build to "log-build" or some of the other alternatives I proposed above? I think it is important for the name of the executable to communicate its purpose.
>
>
> ... and to be honest, the executable name scan-build just as bad as intercept-build. :)


There are many things about the original scan-build that are bad. As you have seen, the perl-based scan-build is poorly named, poorly factored, insufficiently documented and poorly tested. This has made it very difficult to fix bugs, support new platforms, and extend scan-build's functionality -- and is exactly the reason why we are so excited about a scan-build reimplementation. With this reimplementation, we have the opportunity to do so much better! If we live up to the high standards in the rest of the clang/llvm codebase about naming, factoring, documentation, and testing then the new scan-build will be much easier to maintain and can serve as a solid foundation to add new features.


================
Comment at: tools/scan-build-py/README.md:84
@@ +83,3 @@
+The 2. mode is available only on FreeBSD, Linux and OSX. Where library preload
+is available from the dynamic loader. On OSX System Integrity Protection security
+feature enabled prevents library preload, so this method will not work in such
----------------
With respect to dynamic library-interposition still not working on OS X, the System Integrity Protection in OS X 10.11 should not prevent interposition on build tools so in theory intercept-build should work. I'll look into it.


================
Comment at: tools/scan-build-py/libscanbuild/runner.py:23
@@ +22,3 @@
+    """ Decorator for checking the required values in state.
+
+    It checks the required attributes in the passed state and stop when
----------------
Ok. If I create a patch with additional documentation for these fields, would you be willing to take a look at it to make sure the comments are correct?


http://reviews.llvm.org/D9600





More information about the cfe-commits mailing list