larmel/lacc

What's missing from newer C versions?

Closed this issue · 1 comments

cesss commented

Hi! Thanks a lot for developing lacc! I like its simplicity, and also the fact that you can dump the IR instead of compiling. You mention that, in addition to C89, lacc also supports features from newer standards. And, by looking at the code, I found that you actually seem to support many features from recent C versions:

  • Variadic macros seem to be supported in the preprocessor.
  • VLAs seem to be supported.
  • Compound literals seem to be supported.
  • I guess declaration of variables in the middle of a body is supported, but didn't check it though.
  • (and probably quite a few more that I didn't look for).

On the other hand, I found no traces of _Generic(), so it seems it's not supported yet. So this leads to my question: do you keep some list somewhere saying what's still missing for lacc being C11-compliant?

Short answer is no; I don't keep a list. But of course it would be relevant information to anyone wanting to actually use this, so maybe there will be a list at some point.