* [GSoC] Fix compiler warnings in diagnostics and analyzer - Pre-GSoC Contribution
@ 2026-05-18 12:30 Zeinab Ayman
2026-05-18 12:36 ` Jonathan Wakely
2026-05-18 16:43 ` Zeinab Ayman
0 siblings, 2 replies; 6+ messages in thread
From: Zeinab Ayman @ 2026-05-18 12:30 UTC (permalink / raw)
To: gcc
[-- Attachment #1: Type: text/plain, Size: 812 bytes --]
Hello GCC Community and GSoC Mentors,
My name is Zeinab Ayman, a Computer Engineering student preparing a
proposal for GSoC 2026.
As part of getting familiar with the GCC codebase and showcasing my skills,
I have worked on fixing a set of compiler warnings across diagnostics,
text-art, and analyzer modules (including -Wformat-diag,
-Wmaybe-uninitialized, and -Wdelete-non-virtual-dtor).
Since I am using GitHub to manage my workflow, I have submitted the patch
as a Pull Request on the mirror repository here:
https://github.com/gcc-mirror/gcc/pull/127
You can also check my GitHub profile here: https://github.com/zeinab304
I would highly appreciate it if mentors could review these fixes. I am
looking forward to contributing more and finalizing my GSoC proposal
document.
Best regards,
Zeinab Ayman
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [GSoC] Fix compiler warnings in diagnostics and analyzer - Pre-GSoC Contribution
2026-05-18 12:30 [GSoC] Fix compiler warnings in diagnostics and analyzer - Pre-GSoC Contribution Zeinab Ayman
@ 2026-05-18 12:36 ` Jonathan Wakely
2026-05-18 13:40 ` Zeinab Ayman
2026-05-18 16:43 ` Zeinab Ayman
1 sibling, 1 reply; 6+ messages in thread
From: Jonathan Wakely @ 2026-05-18 12:36 UTC (permalink / raw)
To: Zeinab Ayman; +Cc: gcc
On Mon, 18 May 2026 at 13:31, Zeinab Ayman via Gcc <gcc@gcc.gnu.org> wrote:
>
> Hello GCC Community and GSoC Mentors,
>
> My name is Zeinab Ayman, a Computer Engineering student preparing a
> proposal for GSoC 2026.
>
> As part of getting familiar with the GCC codebase and showcasing my skills,
> I have worked on fixing a set of compiler warnings across diagnostics,
> text-art, and analyzer modules (including -Wformat-diag,
> -Wmaybe-uninitialized, and -Wdelete-non-virtual-dtor).
>
> Since I am using GitHub to manage my workflow, I have submitted the patch
> as a Pull Request on the mirror repository here:
> https://github.com/gcc-mirror/gcc/pull/127
We do not accept patch submissions via the unofficial github mirror
(which is read-only so no pull request there can be merged anyway).
Please see https://gcc.gnu.org/contribute.html for details.
>
> You can also check my GitHub profile here: https://github.com/zeinab304
>
> I would highly appreciate it if mentors could review these fixes. I am
> looking forward to contributing more and finalizing my GSoC proposal
> document.
>
> Best regards,
> Zeinab Ayman
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [GSoC] Fix compiler warnings in diagnostics and analyzer - Pre-GSoC Contribution
2026-05-18 12:36 ` Jonathan Wakely
@ 2026-05-18 13:40 ` Zeinab Ayman
0 siblings, 0 replies; 6+ messages in thread
From: Zeinab Ayman @ 2026-05-18 13:40 UTC (permalink / raw)
To: Jonathan Wakely; +Cc: gcc
[-- Attachment #1: Type: text/plain, Size: 1797 bytes --]
Quick update:
I have also fixed a set of critical compilation errors in
`gcc/analyzer/engine.cc` related to ambiguous class references
(`exploded_cluster`) and `dump_args_t` type mismatches affecting method
overrides.
I've submitted this as a separate Pull Request here:
https://github.com/gcc-mirror/gcc/pull/128
Looking forward to your feedback on both PRs!
Best regards,
Zeinab Ayman
في الاثنين، 18 مايو 2026 في 3:36 م تمت كتابة ما يلي بواسطة Jonathan
Wakely <jwakely.gcc@gmail.com>:
> On Mon, 18 May 2026 at 13:31, Zeinab Ayman via Gcc <gcc@gcc.gnu.org>
> wrote:
> >
> > Hello GCC Community and GSoC Mentors,
> >
> > My name is Zeinab Ayman, a Computer Engineering student preparing a
> > proposal for GSoC 2026.
> >
> > As part of getting familiar with the GCC codebase and showcasing my
> skills,
> > I have worked on fixing a set of compiler warnings across diagnostics,
> > text-art, and analyzer modules (including -Wformat-diag,
> > -Wmaybe-uninitialized, and -Wdelete-non-virtual-dtor).
> >
> > Since I am using GitHub to manage my workflow, I have submitted the patch
> > as a Pull Request on the mirror repository here:
> > https://github.com/gcc-mirror/gcc/pull/127
>
> We do not accept patch submissions via the unofficial github mirror
> (which is read-only so no pull request there can be merged anyway).
>
> Please see https://gcc.gnu.org/contribute.html for details.
>
> >
> > You can also check my GitHub profile here:
> https://github.com/zeinab304
> >
> > I would highly appreciate it if mentors could review these fixes. I am
> > looking forward to contributing more and finalizing my GSoC proposal
> > document.
> >
> > Best regards,
> > Zeinab Ayman
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [GSoC] Fix compiler warnings in diagnostics and analyzer - Pre-GSoC Contribution
2026-05-18 12:30 [GSoC] Fix compiler warnings in diagnostics and analyzer - Pre-GSoC Contribution Zeinab Ayman
2026-05-18 12:36 ` Jonathan Wakely
@ 2026-05-18 16:43 ` Zeinab Ayman
2026-05-18 16:59 ` David Malcolm
1 sibling, 1 reply; 6+ messages in thread
From: Zeinab Ayman @ 2026-05-18 16:43 UTC (permalink / raw)
To: gcc
[-- Attachment #1: Type: text/plain, Size: 3568 bytes --]
Hi Jonathan,
Thank you for the quick clarification! I apologize for the confusion
regarding the GitHub mirror.
Since I am new to the GCC contribution workflow, I have generated a proper
patch file using git format-patch for the fixes I made in
`gcc/analyzer/engine.cc` (resolving the ambiguous exploded_cluster and
dump_args_t type mismatches).
Here is the inline patch for review:
From 66c4502ecc4254060122e212919fbdd4bc7570fd Mon Sep 17 00:00:00 2001
From: Zeinab Ayman Elshinnawy <zeinabayman304@gmail.com>
Date: Mon, 18 May 2026 16:35:10 +0300
Subject: [PATCH 11/11] analyzer: fix ambiguous exploded_cluster and
dump_args_t type overrides
---
gcc/analyzer/engine.cc | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/gcc/analyzer/engine.cc b/gcc/analyzer/engine.cc
index 907a36af5..de5758341 100644
--- a/gcc/analyzer/engine.cc
+++ b/gcc/analyzer/engine.cc
@@ -3927,14 +3927,14 @@ class exploded_cluster : public cluster<eg_traits>
/* Cluster containing all exploded_node instances for one supernode. */
-class supernode_cluster : public exploded_cluster
+class supernode_cluster : public ana::exploded_cluster
{
public:
supernode_cluster (const supernode *supernode) : m_supernode (supernode)
{}
// TODO: dtor?
- void dump_dot (graphviz_out *gv, const dump_args_t &args) const final
override
+ void dump_dot (graphviz_out *gv, const dnode<ana::eg_traits>::dump_args_t
&args) const final override
{
gv->println ("subgraph \"cluster_supernode_%i\" {", m_supernode->m_id);
gv->indent ();
@@ -3977,7 +3977,7 @@ private:
/* Cluster containing all supernode_cluster instances for one
(function, call_string) pair. */
-class function_call_string_cluster : public exploded_cluster
+class function_call_string_cluster : public ana::exploded_cluster
{
public:
function_call_string_cluster (function *fun, const call_string &cs)
@@ -3991,7 +3991,7 @@ public:
delete (*iter).second;
}
- void dump_dot (graphviz_out *gv, const dump_args_t &args) const final
override
+ void dump_dot (graphviz_out *gv, const dnode<ana::eg_traits>::dump_args_t
&args) const final override
{
const char *funcname = function_name (m_fun);
@@ -4140,7 +4140,7 @@ public:
delete (*iter).second;
}
- void dump_dot (graphviz_out *gv, const dump_args_t &args) const final
override
+ void dump_dot (graphviz_out *gv, const dnode<ana::eg_traits>::dump_args_t
&args) const final override
{
int i;
exploded_node *enode;
--
2.53.0
في الاثنين، ١٨ مايو ٢٠٢٦ ٣:٣٠ م Zeinab Ayman <zozty1589@gmail.com> كتب:
> Hello GCC Community and GSoC Mentors,
>
> My name is Zeinab Ayman, a Computer Engineering student preparing a
> proposal for GSoC 2026.
>
> As part of getting familiar with the GCC codebase and showcasing my
> skills, I have worked on fixing a set of compiler warnings across
> diagnostics, text-art, and analyzer modules (including -Wformat-diag,
> -Wmaybe-uninitialized, and -Wdelete-non-virtual-dtor).
>
> Since I am using GitHub to manage my workflow, I have submitted the patch
> as a Pull Request on the mirror repository here:
> https://github.com/gcc-mirror/gcc/pull/127
>
> You can also check my GitHub profile here: https://github.com/zeinab304
>
> I would highly appreciate it if mentors could review these fixes. I am
> looking forward to contributing more and finalizing my GSoC proposal
> document.
>
> Best regards,
> Zeinab Ayman
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [GSoC] Fix compiler warnings in diagnostics and analyzer - Pre-GSoC Contribution
2026-05-18 16:43 ` Zeinab Ayman
@ 2026-05-18 16:59 ` David Malcolm
2026-05-18 17:23 ` Zeinab Ayman
0 siblings, 1 reply; 6+ messages in thread
From: David Malcolm @ 2026-05-18 16:59 UTC (permalink / raw)
To: Zeinab Ayman, gcc
On Mon, 2026-05-18 at 19:43 +0300, Zeinab Ayman via Gcc wrote:
> Hi Jonathan,
>
> Thank you for the quick clarification! I apologize for the confusion
> regarding the GitHub mirror.
>
> Since I am new to the GCC contribution workflow, I have generated a
> proper
> patch file using git format-patch for the fixes I made in
> `gcc/analyzer/engine.cc` (resolving the ambiguous exploded_cluster
> and
> dump_args_t type mismatches).
>
> Here is the inline patch for review:
Hi Zeinab; thanks for the analyzer patch.
BTW, if you're hoping to participate in GSoC 2026 I'm afraid you're too
late; the deadline for student applications was March 31st. That said,
if you still want to contribute to GCC outside of GSoC, you're most
welcome. You should read the contributing guidelines on our website.
In particular, patches should have ChangeLog messages as part of their
commit message.
What warnings were you seeing on the unpatched version of this code,
and with which compiler? What was the ambiguity you saw? IIRC
everything here is in the "ana" namespace, so I'm not sure why e.g.
exploded_cluster would be ambiguous.
Thanks
Dave
>
> From 66c4502ecc4254060122e212919fbdd4bc7570fd Mon Sep 17 00:00:00
> 2001
> From: Zeinab Ayman Elshinnawy <zeinabayman304@gmail.com>
> Date: Mon, 18 May 2026 16:35:10 +0300
> Subject: [PATCH 11/11] analyzer: fix ambiguous exploded_cluster and
> dump_args_t type overrides
>
> ---
> gcc/analyzer/engine.cc | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/gcc/analyzer/engine.cc b/gcc/analyzer/engine.cc
> index 907a36af5..de5758341 100644
> --- a/gcc/analyzer/engine.cc
> +++ b/gcc/analyzer/engine.cc
> @@ -3927,14 +3927,14 @@ class exploded_cluster : public
> cluster<eg_traits>
>
> /* Cluster containing all exploded_node instances for one supernode.
> */
>
> -class supernode_cluster : public exploded_cluster
> +class supernode_cluster : public ana::exploded_cluster
> {
> public:
> supernode_cluster (const supernode *supernode) : m_supernode
> (supernode)
> {}
>
> // TODO: dtor?
>
> - void dump_dot (graphviz_out *gv, const dump_args_t &args) const
> final
> override
> + void dump_dot (graphviz_out *gv, const
> dnode<ana::eg_traits>::dump_args_t
> &args) const final override
> {
> gv->println ("subgraph \"cluster_supernode_%i\" {", m_supernode-
> >m_id);
> gv->indent ();
> @@ -3977,7 +3977,7 @@ private:
> /* Cluster containing all supernode_cluster instances for one
> (function, call_string) pair. */
>
> -class function_call_string_cluster : public exploded_cluster
> +class function_call_string_cluster : public ana::exploded_cluster
> {
> public:
> function_call_string_cluster (function *fun, const call_string
> &cs)
> @@ -3991,7 +3991,7 @@ public:
> delete (*iter).second;
> }
>
> - void dump_dot (graphviz_out *gv, const dump_args_t &args) const
> final
> override
> + void dump_dot (graphviz_out *gv, const
> dnode<ana::eg_traits>::dump_args_t
> &args) const final override
> {
> const char *funcname = function_name (m_fun);
>
> @@ -4140,7 +4140,7 @@ public:
> delete (*iter).second;
> }
>
> - void dump_dot (graphviz_out *gv, const dump_args_t &args) const
> final
> override
> + void dump_dot (graphviz_out *gv, const
> dnode<ana::eg_traits>::dump_args_t
> &args) const final override
> {
> int i;
> exploded_node *enode;
> --
> 2.53.0
>
> في الاثنين، ١٨ مايو ٢٠٢٦ ٣:٣٠ م Zeinab Ayman <zozty1589@gmail.com>
> كتب:
>
> > Hello GCC Community and GSoC Mentors,
> >
> > My name is Zeinab Ayman, a Computer Engineering student preparing a
> > proposal for GSoC 2026.
> >
> > As part of getting familiar with the GCC codebase and showcasing my
> > skills, I have worked on fixing a set of compiler warnings across
> > diagnostics, text-art, and analyzer modules (including -Wformat-
> > diag,
> > -Wmaybe-uninitialized, and -Wdelete-non-virtual-dtor).
> >
> > Since I am using GitHub to manage my workflow, I have submitted the
> > patch
> > as a Pull Request on the mirror repository here:
> > https://github.com/gcc-mirror/gcc/pull/127
> >
> > You can also check my GitHub profile here:
> > https://github.com/zeinab304
> >
> > I would highly appreciate it if mentors could review these fixes. I
> > am
> > looking forward to contributing more and finalizing my GSoC
> > proposal
> > document.
> >
> > Best regards,
> > Zeinab Ayman
> >
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [GSoC] Fix compiler warnings in diagnostics and analyzer - Pre-GSoC Contribution
2026-05-18 16:59 ` David Malcolm
@ 2026-05-18 17:23 ` Zeinab Ayman
0 siblings, 0 replies; 6+ messages in thread
From: Zeinab Ayman @ 2026-05-18 17:23 UTC (permalink / raw)
To: David Malcolm; +Cc: gcc
[-- Attachment #1: Type: text/plain, Size: 6835 bytes --]
Hi Dave,
Thank you for the warm welcome to the community and for clarifying the GSoC
2026 deadlines. While I missed the application window, I am highly
motivated to continue contributing to GCC as an independent contributor!
Regarding your technical questions, I encountered these fatal compilation
errors while building the latest master branch using g++ (GCC) 14.1.0 on a
clean build.
The compiler threw an ambiguity error because there are two declarations
that look identical to it at that scope:
1. `class ana::exploded_cluster` defined in `gcc/analyzer/common.h`
2. `class exploded_cluster` defined right before it in
`gcc/analyzer/engine.cc` at line 3928.
Here is the exact compiler output showing the ambiguity and the subsequent
cascade of override failures:
../../gcc/analyzer/engine.cc:3934:34: error: reference to
‘exploded_cluster’ is ambiguous
3934 | class supernode_cluster : public exploded_cluster
| ^~~~~~~~~~~~~~~~
In file included from ../../gcc/analyzer/engine.cc:21:
../../gcc/analyzer/common.h:125:7: note: candidates are: ‘class
ana::exploded_cluster’
125 | class exploded_cluster;
| ^~~~~~~~~~~~~~~~
../../gcc/analyzer/engine.cc:3928:7: note: ‘class
exploded_cluster’
3928 | class exploded_cluster : public cluster<eg_traits>
| ^~~~~~~~~~~~~~~~
By explicitly specifying `public ana::exploded_cluster`, the compiler
immediately resolved the correct base class from common.h, and fixing the
`dump_args_t` type mismatch allowed the virtual method overrides to compile
successfully.
I will make sure to update my patch format to include proper ChangeLog
messages in the commit as per the guidelines.
Best regards,
Zeinab Ayman
في الاثنين، 18 مايو 2026 في 8:00 م تمت كتابة ما يلي بواسطة David
Malcolm <dmalcolm@redhat.com>:
> On Mon, 2026-05-18 at 19:43 +0300, Zeinab Ayman via Gcc wrote:
> > Hi Jonathan,
> >
> > Thank you for the quick clarification! I apologize for the confusion
> > regarding the GitHub mirror.
> >
> > Since I am new to the GCC contribution workflow, I have generated a
> > proper
> > patch file using git format-patch for the fixes I made in
> > `gcc/analyzer/engine.cc` (resolving the ambiguous exploded_cluster
> > and
> > dump_args_t type mismatches).
> >
> > Here is the inline patch for review:
>
> Hi Zeinab; thanks for the analyzer patch.
>
> BTW, if you're hoping to participate in GSoC 2026 I'm afraid you're too
> late; the deadline for student applications was March 31st. That said,
> if you still want to contribute to GCC outside of GSoC, you're most
> welcome. You should read the contributing guidelines on our website.
> In particular, patches should have ChangeLog messages as part of their
> commit message.
>
> What warnings were you seeing on the unpatched version of this code,
> and with which compiler? What was the ambiguity you saw? IIRC
> everything here is in the "ana" namespace, so I'm not sure why e.g.
> exploded_cluster would be ambiguous.
>
> Thanks
> Dave
>
>
> >
> > From 66c4502ecc4254060122e212919fbdd4bc7570fd Mon Sep 17 00:00:00
> > 2001
> > From: Zeinab Ayman Elshinnawy <zeinabayman304@gmail.com>
> > Date: Mon, 18 May 2026 16:35:10 +0300
> > Subject: [PATCH 11/11] analyzer: fix ambiguous exploded_cluster and
> > dump_args_t type overrides
> >
> > ---
> > gcc/analyzer/engine.cc | 10 +++++-----
> > 1 file changed, 5 insertions(+), 5 deletions(-)
> >
> > diff --git a/gcc/analyzer/engine.cc b/gcc/analyzer/engine.cc
> > index 907a36af5..de5758341 100644
> > --- a/gcc/analyzer/engine.cc
> > +++ b/gcc/analyzer/engine.cc
> > @@ -3927,14 +3927,14 @@ class exploded_cluster : public
> > cluster<eg_traits>
> >
> > /* Cluster containing all exploded_node instances for one supernode.
> > */
> >
> > -class supernode_cluster : public exploded_cluster
> > +class supernode_cluster : public ana::exploded_cluster
> > {
> > public:
> > supernode_cluster (const supernode *supernode) : m_supernode
> > (supernode)
> > {}
> >
> > // TODO: dtor?
> >
> > - void dump_dot (graphviz_out *gv, const dump_args_t &args) const
> > final
> > override
> > + void dump_dot (graphviz_out *gv, const
> > dnode<ana::eg_traits>::dump_args_t
> > &args) const final override
> > {
> > gv->println ("subgraph \"cluster_supernode_%i\" {", m_supernode-
> > >m_id);
> > gv->indent ();
> > @@ -3977,7 +3977,7 @@ private:
> > /* Cluster containing all supernode_cluster instances for one
> > (function, call_string) pair. */
> >
> > -class function_call_string_cluster : public exploded_cluster
> > +class function_call_string_cluster : public ana::exploded_cluster
> > {
> > public:
> > function_call_string_cluster (function *fun, const call_string
> > &cs)
> > @@ -3991,7 +3991,7 @@ public:
> > delete (*iter).second;
> > }
> >
> > - void dump_dot (graphviz_out *gv, const dump_args_t &args) const
> > final
> > override
> > + void dump_dot (graphviz_out *gv, const
> > dnode<ana::eg_traits>::dump_args_t
> > &args) const final override
> > {
> > const char *funcname = function_name (m_fun);
> >
> > @@ -4140,7 +4140,7 @@ public:
> > delete (*iter).second;
> > }
> >
> > - void dump_dot (graphviz_out *gv, const dump_args_t &args) const
> > final
> > override
> > + void dump_dot (graphviz_out *gv, const
> > dnode<ana::eg_traits>::dump_args_t
> > &args) const final override
> > {
> > int i;
> > exploded_node *enode;
> > --
> > 2.53.0
> >
> > في الاثنين، ١٨ مايو ٢٠٢٦ ٣:٣٠ م Zeinab Ayman <zozty1589@gmail.com>
> > كتب:
> >
> > > Hello GCC Community and GSoC Mentors,
> > >
> > > My name is Zeinab Ayman, a Computer Engineering student preparing a
> > > proposal for GSoC 2026.
> > >
> > > As part of getting familiar with the GCC codebase and showcasing my
> > > skills, I have worked on fixing a set of compiler warnings across
> > > diagnostics, text-art, and analyzer modules (including -Wformat-
> > > diag,
> > > -Wmaybe-uninitialized, and -Wdelete-non-virtual-dtor).
> > >
> > > Since I am using GitHub to manage my workflow, I have submitted the
> > > patch
> > > as a Pull Request on the mirror repository here:
> > > https://github.com/gcc-mirror/gcc/pull/127
> > >
> > > You can also check my GitHub profile here:
> > > https://github.com/zeinab304
> > >
> > > I would highly appreciate it if mentors could review these fixes. I
> > > am
> > > looking forward to contributing more and finalizing my GSoC
> > > proposal
> > > document.
> > >
> > > Best regards,
> > > Zeinab Ayman
> > >
> >
>
>
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2026-05-18 17:23 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-05-18 12:30 [GSoC] Fix compiler warnings in diagnostics and analyzer - Pre-GSoC Contribution Zeinab Ayman
2026-05-18 12:36 ` Jonathan Wakely
2026-05-18 13:40 ` Zeinab Ayman
2026-05-18 16:43 ` Zeinab Ayman
2026-05-18 16:59 ` David Malcolm
2026-05-18 17:23 ` Zeinab Ayman
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).