From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ot1-x336.google.com (mail-ot1-x336.google.com [IPv6:2607:f8b0:4864:20::336]) by sourceware.org (Postfix) with ESMTPS id B68A5385E005 for ; Fri, 30 Jun 2023 10:25:12 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org B68A5385E005 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-ot1-x336.google.com with SMTP id 46e09a7af769-6b5d6a05b6dso1382393a34.0 for ; Fri, 30 Jun 2023 03:25:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1688120712; x=1690712712; h=cc:to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=3B8Ae4kYCk7GBdV6xbkNHJvxLiU7hnkEiWcK/qsUcZo=; b=iPas252y5WDFNSmcabYVY04attdNgLfux4jTW+wUprqXmRRSK8ln6IfqZvQsQGOsky hjyE15/AyBfAkLuSV1DqxXV1C0kJha8avKE9obX1X69MewMOtAibDGTmshhv5UQu6Fq8 +Y8aF8i570GNaim44Hw4ZPtbrCW12BDwNhhDHR4weYjnz9GUxfJvd7MFwF88QFQ2sicd ybj8tB95jyPiH7v65I6rmtuo3Ai6z/lnoTsb8wmMRYs4w1j9j7BbYHhHjagEZilSRQ7p qymluuixr3l13TcsaVZao8cm0Z4mLuc2WwMHiqv3Yflg/Apv0oWhLv/19FpcUOmtz3vl A4jw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688120712; x=1690712712; h=cc:to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=3B8Ae4kYCk7GBdV6xbkNHJvxLiU7hnkEiWcK/qsUcZo=; b=KUs18A4+DkyU9NZDJPFtJMXEK+73mfPc3WS1EFsXEoYPuhfEzHmFpnJKeE/QuWJnGX PnmxZNQ8bi2PVHnaONCAZcqs6XhLqLWzWO7UF6V6vUhwDfP3qoIvCzfWJG0Y3r9CTACg CLpcZqcziDRqBDxajssBxaLEjhcRSZcnSUd+3WrdC4nRQy8CMqHws7fMnM8xagIdn62R u9NA4XcZhrEX9bqQCFA90BG/BvBbkQpLwSXfM1tDAGrmPXTpStxbi6rOW/wKK1s3PP19 N7EDOG4FKOLaiTKLIdJLQDvwvSzPZIZkFvCMjF4AXWk3MwtKriMQzXr9G/bUirV0Qf/B aCiQ== X-Gm-Message-State: ABy/qLZMi7NeK1NffcKqcUVhvzJsOfxYKH+ZFKFctL9d5FABPktOJ+nk UoIkDHFmMvSYR0Zsctcj7HdwW+5ggCGKOIDnVQ== X-Google-Smtp-Source: APBJJlHkOgiRqiau1vnE3dwDnmp5xb38T/AwHlg8mawRZUpUXAobl9b7FiC7lLf99DFT381MakRZBM5e1JWjVp9uW5M= X-Received: by 2002:a05:6358:e99:b0:12b:de12:617f with SMTP id 25-20020a0563580e9900b0012bde12617fmr1886758rwg.4.1688120711903; Fri, 30 Jun 2023 03:25:11 -0700 (PDT) MIME-Version: 1.0 From: Benjamin Priour Date: Fri, 30 Jun 2023 12:25:00 +0200 Message-ID: Subject: Re: Inquiry about Getting Started with GCC Projects as a Beginner To: Vatsalya Dubey Cc: gcc@gcc.gnu.org Content-Type: multipart/alternative; boundary="0000000000005eff4405ff563b1f" X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,HTML_MESSAGE,KAM_SHORT,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --0000000000005eff4405ff563b1f Content-Type: text/plain; charset="UTF-8" Hi, I am a current GSoC student on GCC, so I'll let some of your questions to more veteran contributors. However, feel free to also reach out to me if you got any questions as to where to start, as I consider myself just out of this phase. Programming Languages: Which programming languages are commonly used in GCC projects? Are there any specific languages that you recommend beginners to focus on initially? GCC is written in a customized mix of C++ and C. Some C++ standard constructs have been handmade, such as vectors. However, if you are familiar with C++, I believe you'll adapt quickly to those. If you consider contributing to some language front-end, or to some specific back-end, then knowledge on that front will always be useful. However, from my short experience, I can already tell you that GCC is in itself a great teacher, as long as you have the basics, or put the extra effort to get them, you'll step up your game quickly. Tools: What are the essential tools utilized in GCC projects? It would be helpful to know which tools are commonly used for tasks such as version control, project management, documentation, and testing. Git is the one tool you have to get used for GCC, as for testing it is a bit old-fashioned with a TCL based testsuite (see Dejagnu). I'd encourage you to try install GCC from the sources, and poke around them in your favorite editor. It might be a bit rough at first, but that's also how you'll progress quickly. Obviously, if you consider contributing to the development of GCC, you will need to be debug some things. I think GDB is the most used debugger here. Learning Resources: Could you please recommend any online resources, tutorials, or documentation that can assist beginners in understanding GCC projects and the associated technologies? I would recommend https://gcc.gnu.org/contribute.html obviously, but also https://gcc-newbies-guide.readthedocs.io/en/latest/index.html, that will soon get extra content. If you decide to take a look at the sources, see the documentation https://gcc.gnu.org/onlinedocs/gccint/index.html. I am also writing a blog to keep track of my GSoC project, once I have a proper open source license set up I will send you the link (in a few hours if I'm not lazy). Good luck and feel free to reach out, Benjamin. --0000000000005eff4405ff563b1f--