From: Chris Li <sparse@chrisli.org>
To: Dan Carpenter <dan.carpenter@linaro.org>
Cc: Uros Bizjak <ubizjak@gmail.com>,
Sparse Mailing-list <linux-sparse@vger.kernel.org>
Subject: Re: [PATCH] symbol: preserve address space qualifiers with typeof()
Date: Tue, 21 Oct 2025 00:22:38 -0700 [thread overview]
Message-ID: <CACePvbXdMNTp1cO=ORLv3C824McNP2xdOmtNXK2KkoCd=F82og@mail.gmail.com> (raw)
In-Reply-To: <aPNfUShPJ3zaAeYp@stanley.mountain>
On Sat, Oct 18, 2025 at 2:36 AM Dan Carpenter <dan.carpenter@linaro.org> wrote:
>
> When we're parsing typeof(var) we then preserve the address space
> qualifiers as well. Otherwise it leads to warnings like this:
>
> "warning: cast removes address space '__seg_gs' of expression"
>
> Reported-by: Uros Bizjak <ubizjak@gmail.com>
> Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Thanks.
I just apply it on sparse-dev tips, it applies without conflicts.
However it seems "make check" has 67 tests failed now rather than 65
known failures.
There are two more test cases that failed with this patch:
KO: out of 902 tests, 835 passed, 67 failed
65 of them are known to fail
2 tests were disabled
make: *** [Makefile:285: check] Error 1
Maybe some test cases need to be updated as well? I haven't debugged
the details of the new failure yet.
While we are at it, can we add Uros' reporting case as a validator
check as well?
After fixing the new test failure, I can apply this patch to
sparse-dev. If the validation check patch shows up in the sparse
mailing list. I will move the validation check before this patch.
Chris
> ---
> symbol.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/symbol.c b/symbol.c
> index 6a39e5487c17..301a6ed225d2 100644
> --- a/symbol.c
> +++ b/symbol.c
> @@ -552,6 +552,7 @@ static struct symbol *examine_pointer_type(struct symbol *sym)
> static struct symbol *examine_typeof_helper(struct symbol *sym, bool qual)
> {
> struct symbol *base = evaluate_expression(sym->initializer);
> + struct ident *as = base->ctype.as;
> unsigned long mod = 0;
>
> if (!base)
> @@ -567,6 +568,8 @@ static struct symbol *examine_typeof_helper(struct symbol *sym, bool qual)
> sym->type = SYM_NODE;
> sym->ctype.modifiers = mod;
> sym->ctype.base_type = base;
> + if (qual)
> + sym->ctype.as = as;
> return examine_node_type(sym);
> }
>
> --
> 2.51.0
>
>
prev parent reply other threads:[~2025-10-21 7:22 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-18 9:35 [PATCH] symbol: preserve address space qualifiers with typeof() Dan Carpenter
2025-10-21 7:22 ` Chris Li [this message]
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='CACePvbXdMNTp1cO=ORLv3C824McNP2xdOmtNXK2KkoCd=F82og@mail.gmail.com' \
--to=sparse@chrisli.org \
--cc=dan.carpenter@linaro.org \
--cc=linux-sparse@vger.kernel.org \
--cc=ubizjak@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 NNTP newsgroup(s).