On Jul 3, 2008, at 3:01 PM, Joseph S. Myers wrote:
Taking an approach reduces startup time of the preprocessor, because it doesn't have to populate the identifier table with tons of predefines.

I'd hope this is not a significant cost (certainly not compared to the
thousands of built-in functions on some target), though I haven't seen
recent figures for startup costs.

I was referring to clang startup times, not GCC. clang registers builtins completely lazily, so they don't take significant time at startup. Much of clang startup time is populating the predefined identifier table for macros.

We have some existing practice for feature macros (__GNUC_GNU_INLINE__,
__GNUC_STDC_INLINE__, __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1, ...).

Understood. Likewise many system headers have these. I don't think we can eliminate existing macros, but adding a plethora of new macros would be bad.

-Chris

Reply via email to