From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTPS id 864753858D39 for ; Tue, 28 Feb 2023 20:12:58 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 864753858D39 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=redhat.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1677615178; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=TuHpb7f5Z0gCXQDIfglH+G6y5WGaOKi91g+WYWX6Z6E=; b=OsUnOQeHcwGVdS5FWYp/1D3BhRjTnFAhwASL2U2kh2gRLv26vHJ5K04jOtykdwZoivMPp7 3hm8mZVrzjBEbYq8Ym75jk1JfjbdbsP0u4aTGnwk+JtvXRc3dfqXhz/7B8wC162LlJeoTj Ng7YsogtisodFta1yEtqG2OadVbdtsA= Received: from mail-ed1-f72.google.com (mail-ed1-f72.google.com [209.85.208.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-433-QGJabnYkPhqrdvQDD3vi0w-1; Tue, 28 Feb 2023 15:12:56 -0500 X-MC-Unique: QGJabnYkPhqrdvQDD3vi0w-1 Received: by mail-ed1-f72.google.com with SMTP id c1-20020a0564021f8100b004acbe232c03so15375757edc.9 for ; Tue, 28 Feb 2023 12:12:56 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1677615175; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=TuHpb7f5Z0gCXQDIfglH+G6y5WGaOKi91g+WYWX6Z6E=; b=U8cIWXv8491GUA/zwc5ELMrl7L4gNPxQp37ZiQ7NTa1d6eehfotEeGP8ubyFWc84pu DG7HyVmnyfxYRN8ebes8MjHo1diDkN9gVma40ULV5y8UfMr4zcVWXNWpjD+FAXxYM/Md pU/9NGehNhgiAnbT7QfuuYI3r03Gmjmt/JS75m55O4doT8qwUtYtICySiC+icDXIXXP8 5ruPjYuaxRQJCjenU06pnb7jKqTcArg5jrFGATd1UsreG97P5N4qvWmjY5ZigWIYMRFs iDpgqTx+Fv1nZAJF4N8w3ZmRPp7lzHq0QmYXcdqKvDX0YSmgHMU1oA7DiCdT14qSpzpS NKoA== X-Gm-Message-State: AO0yUKUaZqwmFYpdvpe+u0cARw409x+aUhv+5J8NfDf7dQmbfl3TsxvY h1YZRpf3E4ZGn7TeTRKctdn9eRPMljQCYEuiYopYgA0lMRQDtOpavDEe35KvcGz0Iho9QCSTYH0 n2eMKjnfEfz7YmImo+6axpm8= X-Received: by 2002:a17:906:1582:b0:87b:da7a:f202 with SMTP id k2-20020a170906158200b0087bda7af202mr1889673ejd.1.1677615175571; Tue, 28 Feb 2023 12:12:55 -0800 (PST) X-Google-Smtp-Source: AK7set8Rl2R1oBj6+UmutphP0gSPWbet4QyHNZRH0qTLMkO54OmD35hdoVOK9TtmNAPKfEU04vlMTqMICe6Hhq2ArD0= X-Received: by 2002:a17:906:1582:b0:87b:da7a:f202 with SMTP id k2-20020a170906158200b0087bda7af202mr1889659ejd.1.1677615175196; Tue, 28 Feb 2023 12:12:55 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Patrick Palka Date: Tue, 28 Feb 2023 15:12:44 -0500 Message-ID: Subject: Re: GSOC 2023 Contribution Request To: Kritika Rag Cc: gcc@gcc.gnu.org X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-5.8 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,KAM_SHORT,LIKELY_SPAM_BODY,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,TXREP autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Hi Kritika, On Wed, Feb 22, 2023 at 6:49=E2=80=AFAM Kritika Rag via Gcc wrote: > > Hello Everyone! > > I=E2=80=99m Kritika Rag, a Computer Science pre-final year undergraduate > student from India. I=E2=80=99m quite passionate about web development an= d > competitive programming and now I=E2=80=99m looking forward to contributi= ng to > open-source projects. I believe that GSOC 2023 would provide me with > the best way to start my open-source contribution journey. Since I=E2=80= =99m a > competitive programmer, I have excellent command over Data Structures > & Algorithms and my primary language is C++, so C++ and GCC are > something that I use daily, therefore I would love to make my > contributions to GCC projects. I sincerely hope that this community > will provide me with the opportunity to do so and to work alongside > them. Great, thanks for your interest in contributing to GCC, and welcome! > > > I=E2=80=99m proficient in various coding languages like C/C++, HTML, CSS, > JavaScript, React, and Python, and have experimented with Git, Linux, > APIs, etc. I have also been fortunate enough to secure 3 internships, > 2 as a DSA problem setter and 1 as a research intern. I have also > participated in a few open-source programs like Hack October Fest 2022 > and GWoC 2022 and contributed to web development and data science > projects. > > I had been checking up on recent project proposals listed in GCC wiki > for the past 3 weeks and was interested in working either on the > project which aims to improve the utility routine library used by GCC > or related to Bug Patrol especially analyzing failing test cases (this > was present over the site a while ago but now I can't see it anywhere) > so I just wanted to ask can I choose it as my GSoC 2023 project? If > yes can anyone guide me to whom to connect to discuss it? > > And if I can't work on the above ideas then I have also gone through > the selected project ideas and want to work on the project "Implement > comp built-in traits for the standard library traits" so would be > grateful if anyone could guide me here also. I can't speak about the other projects, but I'm listed as the mentor for the built-in C++ trait project idea. On the frontend side most of the existing built-in traits are tabulated in gcc/cp/cp-trait.def, and their logic is defined in finish_trait_type or finish_trait_expr in gcc/cp/semantics.cc[2], and on library side the tra= its are conditionally used in the standard type trait definitions in libstdc++, e.g. std::remove_cv[3]. Take a look at the following commits that define (and add tests for) the built-in traits __remove_cv, __remove_reference and __remove_cvref and subsequently use them in libstdc++. Note that this first commit predates the new gcc/cp/cp-trait.def file which streamlined much of the boilerplate of adding a new built-in trait. In the new approach (that you would be using), only the semantics.cc change (which defines their logic) would be needed, alongside additions to cp-trait.def to declare each trait. https://gcc.gnu.org/git/?p=3Dgcc.git;a=3Dcommitdiff;h=3D9ca147154074a0de548= 138b4e73477e94903a855 https://gcc.gnu.org/git/?p=3Dgcc.git;a=3Dcommitdiff;h=3D6ddbbbffbb5759a6c1d= 56c191364a6bd021f733e If you haven't already I'd recommend going through the GCC for new contributors guide https://gcc-newbies-guide.readthedocs.io/en/latest/index.html which goes through checking out, building and debugging GCC. Let me know if you have any questions :) [1]: https://gcc.gnu.org/git/?p=3Dgcc.git;a=3Dblob;f=3Dgcc/cp/cp-trait.def [2]: https://gcc.gnu.org/git/?p=3Dgcc.git;a=3Dblob;f=3Dgcc/cp/semantics.cc;= h=3D79b7cc72f212cef780a3eea65af2b883bb4ec3c8;hb=3DHEAD#l12102 [3]: https://gcc.gnu.org/git/?p=3Dgcc.git;a=3Dblob;f=3Dlibstdc%2B%2B-v3/inc= lude/std/type_traits;h=3D2bd607a8b8ff52aba6fd205ab1af2bc4b92f78d0;hb=3DHEAD= #l1539 > > Thank you so much and I hope to hear from you soon. >