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
reentrant or multi-threadable, etc. Clang has none of these problems.
</li>
<li>GCC does not track information about macro instantiations when parsing
source code, this makes it very difficult for static analysis and
refactoring tools to work in the presense of (even simple) macros.</li>
<li>GCC simplifies code as it parses it. 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>For every token, clang tracks information about where it was written and
where it was ultimately expanded into if was involved in a macro.
GCC does not track information about macro instantiations when parsing
source code. This makes it very difficult for static analysis and
refactoring tools to work in the presence of (even simple) macros.</li>
<li>Clang does not implicitly simplify code as it parses it like GCC does.
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
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

View File

@ -7,18 +7,13 @@
<label>Clang Info</label>
<a href="index.html">About</a>
<a href="features.html">Features</a>
<a href="comparison.html">Comparisons</a>
<a href="get_involved.html">Get Involved</a>
<a href="http://clang.llvm.org/docs/InternalsManual.html">Manual</a>
</div>
<div class="submenu">
<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-commits">cfe-commits</a>
<a href="http://llvm.org/bugs/">Bug Reports</a>