Update web pages for cpplib changes.

Neil Booth NeilB@earthling.net
Sun Oct 29 04:19:00 GMT 2000


Committed under the obvious rule.

Neil.

Index: htdocs/index.html
===================================================================
RCS file: /cvs/gcc/wwwdocs/htdocs/index.html,v
retrieving revision 1.224
diff -u -p -r1.224 index.html
--- index.html	2000/10/18 00:22:36	1.224
+++ index.html	2000/10/29 12:16:16
@@ -177,9 +177,8 @@ particularly when complex macros are use
 <dd>
 Neil Booth has contributed a new lexer and macro-expander for the C
 preprocessor.  The lexer makes a single pass over the source files,
-whereas previously it made two.  The macro expander works without
-re-scanning for nested macros to expand, and operates on lexical
-tokens instead of text strings.
+whereas previously it made two.  The macro expander operates on
+lexical tokens instead of text strings.
 
 <p>ISO C, C++, and Objective C use the new preprocessor.  Traditional
 (K+R) C, Fortran, and Chill use an older implementation (taken from
Index: htdocs/proj-cpplib.html
===================================================================
RCS file: /cvs/gcc/wwwdocs/htdocs/proj-cpplib.html,v
retrieving revision 1.12
diff -u -p -r1.12 proj-cpplib.html
--- proj-cpplib.html	2000/10/07 18:05:03	1.12
+++ proj-cpplib.html	2000/10/29 12:16:17
@@ -83,6 +83,12 @@ varargs macros in traditional mode is a 
 
   <li><code>-traditional</code> and <code>-save-temps</code> now work
       with the integrated preprocessor.
+
+  <li>The macro expander has been rewritten and fixes all known bugs,
+      including one that exists in previous versions of GCC.
+
+  <li>When a macro is defined to itself, it bypasses the macro
+      expander entirely.
 </ol>
 
 <h2>Known Bugs</h2>
@@ -147,13 +153,9 @@ varargs macros in traditional mode is a 
 <h2>Internal work that needs doing</h2>
 
 <ol>
-  <li>The macro expander has been rewritten, but the new
-      implementation is excessively clever, leading to bugs.  It's
-      planned to rewrite it again using exactly the algorithm outlined
-      in the standard.
+  <li>The lexical analyzer and macro expander need to be profiled and
+      tuned.
 
-  <li>The lexical analyzer needs to be profiled and tuned.
-
   <li>We allocate lots of itty bitty items with malloc.  Some work has
       been done on aggregating these into big blocks, using obstacks,
       but we could do even more.  Again, this can be a performance issue.
@@ -218,9 +220,6 @@ This is mostly done.
       file - should be optimized out on reinclusion.  (Just tweak the
       include-file table entry of the wrapper to point to the file it
       reads.)
-
-  <li>When a macro is defined to itself, bypass the macro expander
-      entirely.  (Partially implemented.)
 </ol>
 
 <h2><a name="charset">Character set issues</a></h2>


More information about the Gcc-patches mailing list