diff options
| author | Chris Lattner <sabre@nondot.org> | 2007-12-10 02:24:44 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2007-12-10 02:24:44 +0000 |
| commit | 609f9ccb2c6cb5efc40f182b20cc8f861fad0ec7 (patch) | |
| tree | dd2327b1ca915ae287701f8503f16ee1cb948959 /clang/www/comparison.html | |
| parent | 10ebf4dcb1d658b88c32f6bf7e45b4f9c40fbf47 (diff) | |
| download | bcm5719-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.html | 17 |
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
|

