linux-sparse.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Martin Nagy <nagy.martin@gmail.com>
To: Christopher Li <sparse@chrisli.org>
Cc: linux-sparse@vger.kernel.org
Subject: Re: [PATCH] Add missing checks for Waddress-space
Date: Sat, 25 Apr 2009 09:36:16 +0200	[thread overview]
Message-ID: <20090425093616.3edbb9b5@notas> (raw)
In-Reply-To: <70318cbf0904241553h58e18921q35c6001ad51cc662@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 563 bytes --]

Christopher Li wrote:
> On Thu, Apr 23, 2009 at 1:25 PM, Martin Nagy <nagy.martin@gmail.com> wrote:
> >
> > Some of these are missing in evaluate.c. Maybe we should change the
> > option to not consider address space at all, if unset. It would be much
> > easier to make attribute_address_space() ignore it.
> 
> I think disable it at attribute_address_space() might be better.
> Otherwise is_same_type() will still return false for address space difference.
> There are too many places to track down the address space comparison.

OK, new patch attached.

Martin

[-- Attachment #2: 0001-Ignore-address-space-if-Waddress_space.patch --]
[-- Type: text/x-patch, Size: 2358 bytes --]

From f05ae87e33092ff9fab9f518887c9dfcb9e32a70 Mon Sep 17 00:00:00 2001
From: Martin Nagy <nagy.martin@gmail.com>
Date: Sat, 25 Apr 2009 06:44:49 +0200
Subject: [PATCH] Ignore address space if !Waddress_space

Remove all previous checks for Waddress_space and add one centralized to
the address_space attribute handler. If user passes the
-Wno-address-space option, we behave as if every pointer had no address
space.

Signed-off-by: Martin Nagy <nagy.martin@gmail.com>
---
 evaluate.c |    8 ++++----
 parse.c    |    2 +-
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/evaluate.c b/evaluate.c
index 5c3812e..b63fa36 100644
--- a/evaluate.c
+++ b/evaluate.c
@@ -689,7 +689,7 @@ const char *type_difference(struct ctype *c1, struct ctype *c2,
 			/* XXX: we ought to compare sizes */
 			break;
 		case SYM_PTR:
-			if (Waddress_space && as1 != as2)
+			if (as1 != as2)
 				return "different address spaces";
 			/* MOD_SPECIFIER is due to idiocy in parse.c */
 			if ((mod1 ^ mod2) & ~MOD_IGNORE & ~MOD_SPECIFIER)
@@ -706,7 +706,7 @@ const char *type_difference(struct ctype *c1, struct ctype *c2,
 			struct symbol *arg1, *arg2;
 			int i;
 
-			if (Waddress_space && as1 != as2)
+			if (as1 != as2)
 				return "different address spaces";
 			if ((mod1 ^ mod2) & ~MOD_IGNORE & ~MOD_SIGNEDNESS)
 				return "different modifiers";
@@ -745,7 +745,7 @@ const char *type_difference(struct ctype *c1, struct ctype *c2,
 			break;
 		}
 		case SYM_BASETYPE:
-			if (Waddress_space && as1 != as2)
+			if (as1 != as2)
 				return "different address spaces";
 			if (base1 != base2)
 				return "different base types";
@@ -762,7 +762,7 @@ const char *type_difference(struct ctype *c1, struct ctype *c2,
 		t1 = base1;
 		t2 = base2;
 	}
-	if (Waddress_space && as1 != as2)
+	if (as1 != as2)
 		return "different address spaces";
 	if ((mod1 ^ mod2) & ~MOD_IGNORE & ~MOD_SIGNEDNESS)
 		return "different modifiers";
diff --git a/parse.c b/parse.c
index 14ae25d..9662122 100644
--- a/parse.c
+++ b/parse.c
@@ -987,7 +987,7 @@ static struct token *attribute_address_space(struct token *token, struct symbol
 	token = conditional_expression(token, &expr);
 	if (expr) {
 		as = const_expression_value(expr);
-		if (as)
+		if (Waddress_space && as)
 			ctx->ctype.as = as;
 	}
 	token = expect(token, ')', "after address_space attribute");
-- 
1.6.0.6


  reply	other threads:[~2009-04-25  7:36 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-04-23 20:25 [PATCH] Add missing checks for Waddress-space Martin Nagy
2009-04-24 22:53 ` Christopher Li
2009-04-25  7:36   ` Martin Nagy [this message]
2009-04-27  6:08     ` Christopher Li

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=20090425093616.3edbb9b5@notas \
    --to=nagy.martin@gmail.com \
    --cc=linux-sparse@vger.kernel.org \
    --cc=sparse@chrisli.org \
    /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).