Open Clang Projects

Here are a few tasks that are available for newcomers to work on, depending on what your interests are. This list is provided to generate ideas, it is not intended to be comprehensive. Please ask on cfe-dev for more specifics or to verify that one of these isn't already completed. :)

If you hit a bug with clang, it is very useful for us if you reduce the code that demonstrates the problem down to something small. There are many ways to do this; ask on cfe-dev for advice.

  • StringRef'ize APIs: A thankless but incredibly useful project is StringRef'izing (converting to use llvm::StringRef instead of const char * or std::string) various clang interfaces. This generally simplifies the code and makes it more efficient.
  • Universal Driver: Clang is inherently a cross compiler. We would like to define a new model for cross compilation which provides a great user experience -- it should be easy to cross compile applications, install support for new architectures, access different compilers and tools, and be consistent across different platforms. See the Universal Driver web page for more information.