summaryrefslogtreecommitdiffstats
path: root/clang/www/comparison.html
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2007-12-10 02:24:44 +0000
committerChris Lattner <sabre@nondot.org>2007-12-10 02:24:44 +0000
commit609f9ccb2c6cb5efc40f182b20cc8f861fad0ec7 (patch)
treedd2327b1ca915ae287701f8503f16ee1cb948959 /clang/www/comparison.html
parent10ebf4dcb1d658b88c32f6bf7e45b4f9c40fbf47 (diff)
downloadbcm5719-llvm-609f9ccb2c6cb5efc40f182b20cc8f861fad0ec7.tar.gz
bcm5719-llvm-609f9ccb2c6cb5efc40f182b20cc8f861fad0ec7.zip
Be more positive! Add to sidebar.
llvm-svn: 44762
Diffstat (limited to 'clang/www/comparison.html')
-rw-r--r--clang/www/comparison.html17
1 files changed, 10 insertions, 7 deletions
diff --git a/clang/www/comparison.html b/clang/www/comparison.html
index 7e6c1dfd6a9..21c6df09309 100644
--- a/clang/www/comparison.html
+++ b/clang/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
OpenPOWER on IntegriCloud