warp: a fast C and C++ preprocessor

Orvid King blah38621 at gmail.com
Mon Mar 31 08:15:51 PDT 2014


On Monday, 31 March 2014 at 14:46:32 UTC, Andrei Alexandrescu 
wrote:
>
> It's quite obvious. The D codebase is smaller and simpler than 
> clang pp's and can be taken many places; the next thing I'll 
> work on is multithreaded preprocessing that shares already 
> opened files. One thing that is self-evident but the article 
> could have stressed is that open-sourcing warp is the 
> beginning, not the end of its lifecycle. There's a lot of 
> improvements that are within easy reach for warp, and are 
> easier to realize than for clang.
>
> Andrei

We also have the ability to present it in a different use-case, 
pre-processing every header in one invocation, allowing warp to 
do some optimizations that Clang and GCC won't do, such as 
unconditional pre-processing (stripping comments and things such 
as #if 0 / #if 1, or conditions that are unconditionally met by 
things defined within the header, typically used to 
disable/enable certain code) because they would be of very 
limited use to GCC and Clang, which are typically invoked once 
for every source file. Warp could also offer the ability to pass 
certain #define's that are known to never be #undef'd by the 
source code (such as compiler capabilities / version 
identifications), allowing for more extensive unconditional 
pre-processing.


More information about the Digitalmars-d-announce mailing list