It's amazing how much one motivated person can achieve. Also, how competent the result seems to be. The test suite alone is pretty impressive.
Kefir C17/C23 Compiler
11–20 of 21 posts
Re: Kefir C17/C23 Compiler
#12It's amazing how much one motivated person can achieve. Also, how competent the result seems to be. The test suite alone is pretty impressive.
c-testsuite is not made by the author of Kefir.
Re: Kefir C17/C23 Compiler
#13I think it is fantastic to have more compiler implementations. It was probably also a fun project to code. What I find lacking in web pages is a motivation. What makes it different from popular compilers? Where is this project heading? What would be potential benefits/use-cases for using this compiler vs others, lessons learned, etc.?
From those pages:
"The purpose of Kefir project is producing an independent C17/C23 compiler with well-rounded architecture and well-defined scope that is feasible for implementation by a single developer."
He wants a third compiler to vet code portability. He wants it simple enough to build and maintain himself.
Re: Kefir C17/C23 Compiler
#14I think it is fantastic to have more compiler implementations. It was probably also a fun project to code. What I find lacking in web pages is a motivation. What makes it different from popular compilers? Where is this project heading? What would be potential benefits/use-cases for using this compiler vs others, lessons learned, etc.?
I have found portability bugs in many projects with slimcc just because it exposed different preprocessor defines, some gate critical __attribute__ behind __GNUC__ check, some have buggy fallback to __builtin functions or VLA that nobody noticed in years, these could have been avoided with just an automatic build job in the CI with kefir or slimcc, (tcc is awesome but less suited for being a drop-in). It is also impo…
How are slimcc/kefir different/easier to drop in?
Re: Kefir C17/C23 Compiler
#15Earlier quoted context omitted.
I have found portability bugs in many projects with slimcc just because it exposed different preprocessor defines, some gate critical __attribute__ behind __GNUC__ check, some have buggy fallback to __builtin functions or VLA that nobody noticed in years, these could have been avoided with just an automatic build job in the CI with kefir or slimcc, (tcc is awesome but less suited for being a drop-in). It is also impo…
I remember when we still had tcc in Neovim CI. I think it got removed eventually for being too much of a burden to maintain. How are slimcc/kefir different/easier to drop in?
On tcc, the most common dealbreaker is no thread local support, having independent assembler/linker is a wonderful feat but not being feature parity with binutils could lead to build failure, contributors generally less willing to support the correct behavior for ABI, C standards and GCC extensions.
I hope these don't sound like a diss, if I had been better at reading its coding style I would definitely try to contribute to mob branch.
Re: Kefir C17/C23 Compiler
#16I'm not sure what I can do with that information but I wish I had an excuse to use it
Re: Kefir C17/C23 Compiler
#17Earlier quoted context omitted.
I remember when we still had tcc in Neovim CI. I think it got removed eventually for being too much of a burden to maintain. How are slimcc/kefir different/easier to drop in?
Can't speak for kefir; slimcc has been `make unittest`ing Neovim v0.10.4 with no source modification in a Debian VM (so it's pretty portable, thanks!) On tcc, the most common dealbreaker is no thread local support, having independent assembler/linker is a wonderful feat but not being feature parity with binutils could lead to build failure, contributors generally less willing to support the correct behavior for ABI,…
Re: Kefir C17/C23 Compiler
#18I think it is fantastic to have more compiler implementations. It was probably also a fun project to code. What I find lacking in web pages is a motivation. What makes it different from popular compilers? Where is this project heading? What would be potential benefits/use-cases for using this compiler vs others, lessons learned, etc.?
Re: Kefir C17/C23 Compiler
#19This is something that intrigues me: "Is able to output internal representations (tokens, abstract syntax tree, intermediate representation) in machine-readable JSON form." I'm not sure what I can do with that information but I wish I had an excuse to use it
Re: Kefir C17/C23 Compiler
#20Earlier quoted context omitted.
c-testsuite is not made by the author of Kefir.
c-testsuite itself was curated from simple-cc and tinycc's test files, the latter originated from picoc.