Be more positive! Add to sidebar.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44762 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/www/comparison.html b/www/comparison.html
index 7e6c1df..21c6df0 100644
--- a/www/comparison.html
+++ b/www/comparison.html
@@ -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