Be more positive! Add to sidebar.

llvm-svn: 44762
This commit is contained in:
Chris Lattner 2007-12-10 02:24:44 +00:00
parent 10ebf4dcb1
commit 609f9ccb2c
2 changed files with 11 additions and 13 deletions

View File

@ -66,13 +66,16 @@
custom garbage collector, uses global variables extensively, is not custom garbage collector, uses global variables extensively, is not
reentrant or multi-threadable, etc. Clang has none of these problems. reentrant or multi-threadable, etc. Clang has none of these problems.
</li> </li>
<li>GCC does not track information about macro instantiations when parsing <li>For every token, clang tracks information about where it was written and
source code, this makes it very difficult for static analysis and where it was ultimately expanded into if was involved in a macro.
refactoring tools to work in the presense of (even simple) macros.</li> GCC does not track information about macro instantiations when parsing
<li>GCC simplifies code as it parses it. As one simple example, if you source code. This makes it very difficult for static analysis and
write "x-x" in your source code, the GCC AST will contain "0", with no refactoring tools to work in the presence of (even simple) macros.</li>
mention of x. This is extremely bad for a refactoring tool that wants <li>Clang does not implicitly simplify code as it parses it like GCC does.
to rename 'x'.</li> This causes many problems for source analysis tools: as one simple
example, if you write "x-x" in your source code, the GCC AST will
contain "0", with no mention of 'x'. This is extremely bad for a
refactoring tool that wants to rename 'x'.</li>
<li>GCC does not have a way to serialize the AST of a file out to disk and <li>GCC does not have a way to serialize the AST of a file out to disk and
read it back into another program. Its PCH mechanism is architecturally read it back into another program. Its PCH mechanism is architecturally
only able to read the dump back into the exact same executable as the only able to read the dump back into the exact same executable as the

View File

@ -7,18 +7,13 @@
<label>Clang Info</label> <label>Clang Info</label>
<a href="index.html">About</a> <a href="index.html">About</a>
<a href="features.html">Features</a> <a href="features.html">Features</a>
<a href="comparison.html">Comparisons</a>
<a href="get_involved.html">Get Involved</a> <a href="get_involved.html">Get Involved</a>
<a href="http://clang.llvm.org/docs/InternalsManual.html">Manual</a> <a href="http://clang.llvm.org/docs/InternalsManual.html">Manual</a>
</div> </div>
<div class="submenu"> <div class="submenu">
<label>Quick Links</label> <label>Quick Links</label>
<!-- This section is for special links to areas that,
organizationally, are deep within another section,
but are still important enough to warrant a link.
It's for those things that you have to do a lot, but don't
want to have to wade through several pages to go there
every time. -->
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev">cfe-dev</a> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev">cfe-dev</a>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits">cfe-commits</a> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits">cfe-commits</a>
<a href="http://llvm.org/bugs/">Bug Reports</a> <a href="http://llvm.org/bugs/">Bug Reports</a>