Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> To compile Cello requires a C99 compatible C compiler.

In fact, it fails to compile with -std=c99, it seems to require GNU extenstions, that's why they have -std=gnu99 in their Makefile. They use ##__VA_ARGS__, which is not in the C99 and AFAIK there is no portable way to make a workaround.



You're completely right, this definitely uses GNU extensions.

A note about the __VA_ARGS__ detail - You can portably avoid it in a lot of cases if you plan ahead and allow __VA_ARGS__ to suck-up one extra always-provided argument, but it's not as clean as the GNU extension and can't always be done.


Also looks like it uses nested functions.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: