public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: David Malcolm <dmalcolm@redhat.com>
To: Shengyu Huang <kumom.huang@gmail.com>
Cc: gcc@gcc.gnu.org
Subject: Re: [GSoC][Static Analyzer] Some questions and request for a small patch to work on
Date: Wed, 22 Feb 2023 10:43:41 -0500	[thread overview]
Message-ID: <594374fad6f19b956b3f0e6e5ce04ad51205186b.camel@redhat.com> (raw)
In-Reply-To: <E8D8996A-A2B9-4011-8093-96657AC89A80@gmail.com>

On Wed, 2023-02-22 at 15:11 +0100, Shengyu Huang wrote:
> 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 <stdio.h>
> 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]”? 

Sorry, I was unclear; I was referring to this part of my guide:
https://gcc-newbies-guide.readthedocs.io/en/latest/getting-started.html#hello-world-from-the-compiler

i.e. try writing a new warning that simply emits something like:

test.c:2:1: warning: hello world, I'm compiling 'main'
    2 | int main ()
      |     ^~~~

for each function that it sees.

That way you can easily see that you've modified the compiler, that
your code is running inside it.

Dave


  parent reply	other threads:[~2023-02-22 15:43 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-21 21:26 Shengyu Huang
2023-02-21 22:55 ` David Malcolm
2023-02-22 14:03   ` Jonathan Wakely
2023-02-23 11:17     ` James K. Lowden
2023-02-23 16:30       ` Jonathan Wakely
2023-02-22 14:11   ` Shengyu Huang
2023-02-22 14:53     ` Iain Sandoe
2023-02-22 15:13       ` Iain Sandoe
2023-02-27 13:35       ` Shengyu Huang
2023-02-27 13:45         ` Iain Sandoe
2023-02-27 13:51           ` Shengyu Huang
2023-02-27 13:49         ` Iain Sandoe
2023-02-27 14:01           ` Floyd, Paul
2023-02-22 15:43     ` David Malcolm [this message]
2023-02-28  9:18       ` Shengyu Huang
2023-02-28 23:59         ` David Malcolm
2023-03-01 11:16           ` Shengyu Huang
2023-03-01 13:48             ` David Malcolm
2023-02-28 14:46     ` [GSoC][Static Analyzer] Ideas for proposal Shengyu Huang
2023-03-01  0:22       ` David Malcolm
2023-03-12 22:20         ` Shengyu Huang
2023-03-13 15:51           ` David Malcolm
2023-03-20 17:28             ` [GSoC][Static Analyzer] First proposal draft and a few more questions/requests Shengyu Huang
2023-03-20 22:50               ` David Malcolm
2023-03-26 16:03                 ` Shengyu Huang
2023-03-26 17:14                   ` David Malcolm
2023-03-26 21:46                     ` Shengyu Huang
2023-04-01 14:19                       ` Shengyu Huang
2023-04-02 22:53                         ` David Malcolm
2023-04-03  0:02                           ` Shengyu Huang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=594374fad6f19b956b3f0e6e5ce04ad51205186b.camel@redhat.com \
    --to=dmalcolm@redhat.com \
    --cc=gcc@gcc.gnu.org \
    --cc=kumom.huang@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).