-
Notifications
You must be signed in to change notification settings - Fork 31
Help
See Roadmap for a quick overview, and the good first issue open issues.
Here are the big areas:
-
Generally just making things work again
This codebase has sat quietly for a while. Some of it needs a bit of re-discovery. -
Porting (to target different OS/Architectures)
TenDRA has a pretty different internal approach for system headers, where it relates a libc to each standard's API and accounts for any differences. These differences are arranged per libc, per architecture, per OS version.Typically we can just copy whatever's already there, but sometimes it's something new. Either way, it needs to be done by hand, and support for more platforms is always welcome.
All the OS-dependent stuff lives here: /osdep
-
Code generation for new architectures
We have 32-bit x86, and several others. amd64, llvm and wasm are missing. Those are big! We need those!Have a look at the existing code generation: /trans
-
C99/C11 Support
We have C89, and C++98. We have some early work on C99, and there's some work for various C99 features which need porting over from a different branch. There's also the new parts of the grammar to add. It's all set up pretty cleanly so you can see where that would go - it just hasn't been done yet.Check out the C and C++ front-ends here: /tdfc2
-
Testing
Boy do we need tests. Especially for C/C++ language conformance. The original codebase was tested against a commercial validation suite. We don't have that, here in the open source world. -
Documentation
No, the documentation is excellent. One of the few projects where I'm happy to say that's covered already.
Things I think are priorities: Up to date OS support, C99, amd64, llvm.
Come say hi on irc.libera.chat #tendra