<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div>[ Resending to cfe-commits because apparently I'm still asleep ]</div><div><br></div><div>On Aug 14, 2012, at 12:58 AM, Chandler Carruth <<a href="mailto:chandlerc@google.com">chandlerc@google.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">Hello everyone!<div><br></div><div>As you may have noticed with various email and commits going about recently, we're opening up an official home and structure for developing developer-facing tools as part of the Clang project.</div>
<div><br></div><div>This is intended to be a place where the community can develop refactoring tools, analysis tools, and other code-oriented, Clang-based tools that make writing C, C++, Objective C, and Objective C++ code easy and fun.</div>
<div><br></div><div>I've started seeding documentation about this, currently oriented mostly at fellow tool developers. As we build a collection of tools, we'll be working on better user-facing documentation and packaging, but the immediate pressing need is to get a good place to collaborate on these tools together, and start building awesome new things.</div>
<div><br></div><div>Documentation: <a href="http://clang.llvm.org/docs/ClangTools.html">http://clang.llvm.org/docs/ClangTools.html</a></div><div>Repository: <a href="http://llvm.org/svn/llvm-project/clang-tools-extra/trunk">http://llvm.org/svn/llvm-project/clang-tools-extra/trunk</a></div>
<div>Git mirror: <a href="http://llvm.org/git/clang-tools-extra.git">http://llvm.org/git/clang-tools-extra.git</a></div><div>Getting started: <a href="http://clang.llvm.org/get_started.html">http://clang.llvm.org/get_started.html</a></div>
<div><br></div><div>I've added one of the tools that we built here at Google when initially developing this framework as an example of how tools in this tree should be structured. It's not the best tool, but it is simple and a good starting point. The build systems (both Makefiles and CMake) have been updated so that the extra repository should just work when dropped in the right place.</div>
<div><br></div><div>We're hoping to get several more tools that have already started to be developed by the community moved into a new home here. However, we're still ironing out the exact criteria for accepting tools into the Clang project. I want to emphasize -- this separate repository is a technical division to enable thinner checkouts of Clang when that is useful. This is not a new or separate project, it is very much part of the Clang project and community, and is being run by the same community. =]</div></blockquote><div><br></div>Here's a patch that implements a "skeleton" refactoring tool; i.e, a starting point for the development of other tools.</div><div>It contains all the boilerplate stuff needed to get a tool up and running, missing only the AST matchers to find the things to refactor, and the code to actually change the code.</div><div><br></div><div>Works with this morning's TOT.</div><div><br></div><div><br></div><div>
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: 'Lucida Grande'; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; ">-- Marshall<br><br>Marshall Clow     Idio Software   <<a href="mailto:mclow.lists@gmail.com">mailto:mclow.lists@gmail.com</a>><br><br>A.D. 1517: Martin Luther nails his 95 Theses to the church door and is promptly moderated down to (-1, Flamebait).<br>        -- Yu Suzuki</span>

</div>
<div><br></div></body></html>