Hi Dave, > But a better place to look would probably be in our bugzilla; see the > links on the wiki page: > https://gcc.gnu.org/wiki/StaticAnalyzer > The "open bugs" list currently has 41 "RFE" bugs ("request for > enhancement" i.e. ideas for new features), some of which might make > suitable GSoC ideas, and/or be of interest to you (ideally both!) > > Also, the GSoC wiki page has some project ideas: > https://gcc.gnu.org/wiki/SummerOfCode#Selected_Project_Ideas > Yeah I was also searching for interesting ideas on the bugzilla, and I will communicate to you once I have any more concrete ideas. > > If you haven't seen it yet, you might find my guide to GCC for new > contributors helpful: > https://gcc-newbies-guide.readthedocs.io/en/latest/index.html > Just started reading it. Thanks for sharing! > IIRC I saw you post a few days ago about trying to build gcc on your M2 > laptop; did you manage this? Building GCC trunk from a git checkout, > and hacking in a "hello world" warning would be a great place to start. > See the guide above for some hints on how to make this process quicker, > and let me know if you need help if you run into difficulties. Given > that the analyzer is about emitting warnings, rather than generating > code, it may be that although we don't yet fully support your hardware, > we *might* already support it enough to allow for hacking on the > analyzer, perhaps with some judicious choices of "configure" options. I just finished building it today on my laptop (Thanks Iain!). The GCC-12 branch did not work (I got `configure: error: C preprocessor "/lib/cpp" fails sanity check`) but the development branch works for me (haven’t encountered the potential pitfalls mentioned yet after testing it with some simple programs). Besides, I have also set up everything on both my university server and the compile farm machine, so I can test my work on these two machines as well. What do you mean by a “hello world” warning? You meant to write some simple code like ``` #include int main () { int a; printf ("hello world\n"); return a; } ``` and to get the warning “warning: use of uninitialized value ‘a’ [CWE-457] [-Wanalyzer-use-of-uninitialized-value]”? Best, Shengyu