Ted Kremenek | e436704 | 2010-02-08 21:36:47 +0000 | [diff] [blame] | 1 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" |
| 2 | "http://www.w3.org/TR/html4/strict.dtd"> |
| 3 | <html> |
| 4 | <head> |
| 5 | <title>Analyzer Development: C++ Support</title> |
| 6 | <link type="text/css" rel="stylesheet" href="menu.css" /> |
| 7 | <link type="text/css" rel="stylesheet" href="content.css" /> |
Ted Kremenek | f4aed5f | 2010-02-12 21:05:44 +0000 | [diff] [blame] | 8 | <script type="text/javascript" src="scripts/menu.js"></script> |
Ted Kremenek | e436704 | 2010-02-08 21:36:47 +0000 | [diff] [blame] | 9 | </head> |
| 10 | <body> |
| 11 | |
Ted Kremenek | 8bebc6e | 2010-02-09 23:05:59 +0000 | [diff] [blame] | 12 | <div id="page"> |
Ted Kremenek | e436704 | 2010-02-08 21:36:47 +0000 | [diff] [blame] | 13 | <!--#include virtual="menu.html.incl"--> |
Ted Kremenek | e436704 | 2010-02-08 21:36:47 +0000 | [diff] [blame] | 14 | <div id="content"> |
| 15 | |
| 16 | <h1>C++ Support</h1> |
| 17 | |
| 18 | <p>The Clang frontend |
| 19 | now <a href="http://clang.llvm.org/cxx_status.html">supports the |
| 20 | majority of C++</a>. Support in the frontend for C++ language |
| 21 | features, however, does not automatically translate into support for |
| 22 | those features in the static analyzer. Language features need to be |
| 23 | specifically modeled in the static analyzer so their semantics can be |
| 24 | properly analyzed. Support for analyzing C++ and Objective-C++ files |
| 25 | is currently extremely limited, and we are only encouraging those who |
| 26 | are interested in contributing to the development of the analyzer to |
| 27 | try this functionality out at this time.</p> |
| 28 | |
| 29 | <p>Listed here are a set of open tasks that are prerequisites for |
| 30 | decent analysis of C++. This list is also not complete; new tasks |
| 31 | will be added as deemed necessary.</p> |
| 32 | |
| 33 | <ul> |
| 34 | <li>Control-Flow Graph Enhancements:</li> |
| 35 | <ul> |
| 36 | <li>Model C++ destructors</li> |
| 37 | <li>Model C++ initializers (in constructors)</li> |
| 38 | </ul> |
| 39 | <li>Path-Sensitive Analysis Engine (GRExprEngine):</li> |
| 40 | <ul> |
| 41 | <li>Model C++ casts</li> |
| 42 | <li>Model C++ constructors</li> |
| 43 | <li>Model C++ destructors</li> |
| 44 | <li>Model <tt>new</tt> and <tt>delete</tt></li> |
| 45 | </ul> |
| 46 | </ul> |
| 47 | |
| 48 | </div> |
Ted Kremenek | 8bebc6e | 2010-02-09 23:05:59 +0000 | [diff] [blame] | 49 | </div> |
Ted Kremenek | e436704 | 2010-02-08 21:36:47 +0000 | [diff] [blame] | 50 | </body> |
| 51 | </html> |
| 52 | |