I plan on spending some time this weekend hacking on LLVM/Clang. I've spent the last few months playing around with LLVM and Clang, but would like to start contributing back. I've glanced through the bugzilla bug reports, but was wondering if anyone had recommendations for low hanging fruit to target. I'd like to stick to fairly short projects at this point because I don't have much time to contribute and would like to be able to push useful changes during the time I have. Any suggestions?
I have several years of professional C++ development experience, and am relatively familiar with the Clang code base at this point. For a personal project, I've been hacking through the parser adding some language extensions. As a result, I've spent a fair amount of time in Parse, Semi, and CodeGen directories. Ideas for useful refactorings/fixups in those areas are welcome.
Grad Student, EECS, UC Berkeley
Write tutorials that are simple and can get someone from zero to a useful tool in an afternoon, and keep them up to date. That’s pretty low-hanging fruit and it is something that LLVM/Clang needs badly. I’ve already started putting something together here: https://github.com/chisophugis/clang_plugin_example
Try breaking it or making it more interesting. The goal is to pack something useful into few enough lines that it is comprehensible but gets the point across that you can do cool stuff with LLVM/Clang. It’s not just the source though, the overall tutorial must Just Work. There are some cool ideas here: http://llvm.org/devmtg/2011-11/Gregor_ExtendingClang.pdf, however, they are not “in context”, and the code to get the code from those slides “in context” so it can be useful is the key.
Another place that could use some improvement is the calling sequence for CharLiteralParser, NumericLiteralParser, and StringLiteralParser. There’s a lot of code duplication at their call sites. I submitted a patch for CharLiteralParser, but it got buried in cfe-commits.