On May 26, 2009, at 11:43 AM, David Mandelin wrote:

Ted Kremenek wrote:
C++ support in Clang is rapidly progressing,
Cool. Is there a page with notes on the design? I'm curious what approach you are using. Elsa's GLR design seems like a good approach, but it doesn't cover all the latest complicated template features, and the latest problems I saw seemed difficult to solve in that design. (It was long enough ago that I don't remember the exact problem.)

We use a straight-forward recursive descent parser (like GCC and EDG). Is there a specific design point you're interested?

Clang C++ status is tracked here:
http://clang.llvm.org/cxx_status.html


but because the Clang static analyzer performs static analysis at the source level simply having C++ parsing support does not imply immediate support in the analyzer. Bringing that feature up will likely require active participation from the open source community.
What about running over a language-independent IR instead? That's the approach we've used in Treehydra and it seems like it would be even better because I think you have much cleaner IRs in LLVM.

There definitely is work on static and dynamic analysis built on llvm (e.g. see http://klee.llvm.org/ ). The major difference between building it on Clang and on LLVM is that Clang gives dramatically more source level information, which makes the user interface possibilities more rich. The advantage of building on LLVM is that an analysis can work on much more than just C, including Fortran, Ada, Pure, and various other languages that target llvm.

-Chris
_______________________________________________
dev-static-analysis mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-static-analysis

Reply via email to