All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] linearize.h: sanitize header
@ 2009-08-06  9:02 Kamil Dudka
  2009-08-06  9:23 ` Hannes Eder
  0 siblings, 1 reply; 9+ messages in thread
From: Kamil Dudka @ 2009-08-06  9:02 UTC (permalink / raw)
  To: sparse

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

Hello,

please consider applying the attached one-line patch. Feel free to choose 
better identifiers if these are not accurate enough. Thanks!

Kamil



[-- Attachment #2: 0001-linearize.h-sanitize-header.patch --]
[-- Type: text/x-patch, Size: 1139 bytes --]

From 4ad2c5943c1d0b16a19feefe721ebc53a4875a35 Mon Sep 17 00:00:00 2001
From: Kamil Dudka <kdudka@redhat.com>
Date: Thu, 6 Aug 2009 10:54:56 +0200
Subject: [PATCH] linearize.h: sanitize header

It's unfortunate to use 'true' and 'false' as identifiers in a system
header. It clashes with corresponding macros from <stdbool.h> when
included before <sparse/linearize.h>.

Signed-off-by: Kamil Dudka <kdudka@redhat.com>
---
 linearize.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/linearize.h b/linearize.h
index 2205082..50b3601 100644
--- a/linearize.h
+++ b/linearize.h
@@ -328,7 +328,7 @@ struct entrypoint {
 	struct instruction *entry;
 };
 
-extern void insert_select(struct basic_block *bb, struct instruction *br, struct instruction *phi, pseudo_t true, pseudo_t false);
+extern void insert_select(struct basic_block *bb, struct instruction *br, struct instruction *phi, pseudo_t if_true, pseudo_t if_false);
 extern void insert_branch(struct basic_block *bb, struct instruction *br, struct basic_block *target);
 
 pseudo_t alloc_phi(struct basic_block *source, pseudo_t pseudo, int size);
-- 
1.6.2.5


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH] linearize.h: sanitize header
  2009-08-06  9:02 [PATCH] linearize.h: sanitize header Kamil Dudka
@ 2009-08-06  9:23 ` Hannes Eder
  2009-08-06  9:30   ` Kamil Dudka
  0 siblings, 1 reply; 9+ messages in thread
From: Hannes Eder @ 2009-08-06  9:23 UTC (permalink / raw)
  To: Kamil Dudka; +Cc: sparse

On Thu, Aug 6, 2009 at 11:02, Kamil Dudka<kdudka@redhat.com> wrote:
> It's unfortunate to use 'true' and 'false' as identifiers in a system
> header. It clashes with corresponding macros from <stdbool.h> when
> included before <sparse/linearize.h>.
>
> Signed-off-by: Kamil Dudka <kdudka@redhat.com>
> ---
>  linearize.h |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/linearize.h b/linearize.h
> index 2205082..50b3601 100644
> --- a/linearize.h
> +++ b/linearize.h
> @@ -328,7 +328,7 @@ struct entrypoint {
>         struct instruction *entry;
>  };
>
> -extern void insert_select(struct basic_block *bb, struct instruction *br, struct instruction *phi, pseudo_t true, pseudo_t false);
> +extern void insert_select(struct basic_block *bb, struct instruction *br, struct instruction *phi, pseudo_t if_true, pseudo_t if_false);

I guess it is wise to change this in linearize.c as well.  Mind sending a patch?

>  extern void insert_branch(struct basic_block *bb, struct instruction *br, struct basic_block *target);
>
>  pseudo_t alloc_phi(struct basic_block *source, pseudo_t pseudo, int size);


Cheers,
-Hannes

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] linearize.h: sanitize header
  2009-08-06  9:23 ` Hannes Eder
@ 2009-08-06  9:30   ` Kamil Dudka
  2009-08-06  9:39     ` Hannes Eder
  0 siblings, 1 reply; 9+ messages in thread
From: Kamil Dudka @ 2009-08-06  9:30 UTC (permalink / raw)
  To: Hannes Eder; +Cc: sparse

On Thu August 6 2009 11:23:26 Hannes Eder wrote:
> On Thu, Aug 6, 2009 at 11:02, Kamil Dudka<kdudka@redhat.com> wrote:
> > It's unfortunate to use 'true' and 'false' as identifiers in a system
> > header. It clashes with corresponding macros from <stdbool.h> when
> > included before <sparse/linearize.h>.
> >
> > Signed-off-by: Kamil Dudka <kdudka@redhat.com>
> > ---
> >  linearize.h |    2 +-
> >  1 files changed, 1 insertions(+), 1 deletions(-)
> >
> > diff --git a/linearize.h b/linearize.h
> > index 2205082..50b3601 100644
> > --- a/linearize.h
> > +++ b/linearize.h
> > @@ -328,7 +328,7 @@ struct entrypoint {
> >         struct instruction *entry;
> >  };
> >
> > -extern void insert_select(struct basic_block *bb, struct instruction
> > *br, struct instruction *phi, pseudo_t true, pseudo_t false); +extern
> > void insert_select(struct basic_block *bb, struct instruction *br, struct
> > instruction *phi, pseudo_t if_true, pseudo_t if_false);
>
> I guess it is wise to change this in linearize.c as well.  Mind sending a
> patch?

The question is if we need/want to :-) It's change of the working code for no 
real benefit. I am talking only about system-wide headers which can be 
included anywhere.

Kamil


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] linearize.h: sanitize header
  2009-08-06  9:30   ` Kamil Dudka
@ 2009-08-06  9:39     ` Hannes Eder
  2009-08-06  9:51       ` Kamil Dudka
  0 siblings, 1 reply; 9+ messages in thread
From: Hannes Eder @ 2009-08-06  9:39 UTC (permalink / raw)
  To: Kamil Dudka; +Cc: sparse

On Thu, Aug 6, 2009 at 11:30, Kamil Dudka<kdudka@redhat.com> wrote:
> On Thu August 6 2009 11:23:26 Hannes Eder wrote:
>> On Thu, Aug 6, 2009 at 11:02, Kamil Dudka<kdudka@redhat.com> wrote:
>> > It's unfortunate to use 'true' and 'false' as identifiers in a system
>> > header. It clashes with corresponding macros from <stdbool.h> when
>> > included before <sparse/linearize.h>.
>> >
>> > Signed-off-by: Kamil Dudka <kdudka@redhat.com>
>> > ---
>> >  linearize.h |    2 +-
>> >  1 files changed, 1 insertions(+), 1 deletions(-)
>> >
>> > diff --git a/linearize.h b/linearize.h
>> > index 2205082..50b3601 100644
>> > --- a/linearize.h
>> > +++ b/linearize.h
>> > @@ -328,7 +328,7 @@ struct entrypoint {
>> >         struct instruction *entry;
>> >  };
>> >
>> > -extern void insert_select(struct basic_block *bb, struct instruction
>> > *br, struct instruction *phi, pseudo_t true, pseudo_t false); +extern
>> > void insert_select(struct basic_block *bb, struct instruction *br, struct
>> > instruction *phi, pseudo_t if_true, pseudo_t if_false);
>>
>> I guess it is wise to change this in linearize.c as well.  Mind sending a
>> patch?
>
> The question is if we need/want to :-) It's change of the working code for no
> real benefit. I am talking only about system-wide headers which can be
> included anywhere.

Well I see at least one benefit, a small one though.  Syntax
highlighting is somewhat confused with "true" and "false", at least
emacs is.  They appear like the constants, where in fact they are
variables.

The likelyhood to break the code by renaming this two variables is
kinda low, no?  And IHMO it was not so wise in the first place to pick
these names. ;)

My 2 cents
-Hannes
--
To unsubscribe from this list: send the line "unsubscribe linux-sparse" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] linearize.h: sanitize header
  2009-08-06  9:39     ` Hannes Eder
@ 2009-08-06  9:51       ` Kamil Dudka
  2009-08-06 11:09         ` Hannes Eder
  0 siblings, 1 reply; 9+ messages in thread
From: Kamil Dudka @ 2009-08-06  9:51 UTC (permalink / raw)
  To: Hannes Eder; +Cc: sparse

On Thu August 6 2009 11:39:11 Hannes Eder wrote:
> >> I guess it is wise to change this in linearize.c as well.  Mind sending
> >> a patch?
> >
> > The question is if we need/want to :-) It's change of the working code
> > for no real benefit. I am talking only about system-wide headers which
> > can be included anywhere.
>
> Well I see at least one benefit, a small one though.  Syntax
> highlighting is somewhat confused with "true" and "false", at least
> emacs is.  They appear like the constants, where in fact they are
> variables.

I can confirm it's the same case with the vim's syntax highlighter.

> The likelyhood to break the code by renaming this two variables is
> kinda low, no?  And IHMO it was not so wise in the first place to pick
> these names. ;)

I would contend that only two variables are affected. They are if we consider 
only headers. However the situation is much worse when we concern about .c 
files. The patch would be non-trivial. Please try the following command:

$ grep --color '[^_]false[^_]' *.c

Kamil


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] linearize.h: sanitize header
  2009-08-06  9:51       ` Kamil Dudka
@ 2009-08-06 11:09         ` Hannes Eder
  2009-08-06 17:10           ` Christopher Li
  0 siblings, 1 reply; 9+ messages in thread
From: Hannes Eder @ 2009-08-06 11:09 UTC (permalink / raw)
  To: Kamil Dudka; +Cc: sparse

On Thu, Aug 6, 2009 at 11:51, Kamil Dudka<kdudka@redhat.com> wrote:
> On Thu August 6 2009 11:39:11 Hannes Eder wrote:
>> >> I guess it is wise to change this in linearize.c as well.  Mind sending
>> >> a patch?
>> >
>> > The question is if we need/want to :-) It's change of the working code
>> > for no real benefit. I am talking only about system-wide headers which
>> > can be included anywhere.
>>
>> Well I see at least one benefit, a small one though.  Syntax
>> highlighting is somewhat confused with "true" and "false", at least
>> emacs is.  They appear like the constants, where in fact they are
>> variables.
>
> I can confirm it's the same case with the vim's syntax highlighter.
>
>> The likelyhood to break the code by renaming this two variables is
>> kinda low, no?  And IHMO it was not so wise in the first place to pick
>> these names. ;)
>
> I would contend that only two variables are affected. They are if we consider
> only headers. However the situation is much worse when we concern about .c
> files. The patch would be non-trivial. Please try the following command:
>
> $ grep --color '[^_]false[^_]' *.c

$ grep --color '\bfalse\b\|\btrue\b' *.c | wc -l
91

some of them are just in comments, does not look to scary to me.  If
others agree that its a good idea to rename them, I can do it if you
don't want to.

-Hannes
--
To unsubscribe from this list: send the line "unsubscribe linux-sparse" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] linearize.h: sanitize header
  2009-08-06 11:09         ` Hannes Eder
@ 2009-08-06 17:10           ` Christopher Li
  2009-08-06 17:27             ` Kamil Dudka
  0 siblings, 1 reply; 9+ messages in thread
From: Christopher Li @ 2009-08-06 17:10 UTC (permalink / raw)
  To: Hannes Eder; +Cc: Kamil Dudka, sparse

On Thu, Aug 6, 2009 at 4:09 AM, Hannes Eder<hannes@hanneseder.net> wrote:
>> $ grep --color '[^_]false[^_]' *.c
>
> $ grep --color '\bfalse\b\|\btrue\b' *.c | wc -l
> 91
>
> some of them are just in comments, does not look to scary to me.  If
> others agree that its a good idea to rename them, I can do it if you
> don't want to.

I would just apply the change to the header file and related variables.
The linearize.h is consider an API header file for other sparse application
to use. So we'd better not assume too much on the sparse caller side.

I agree with Kamil that rename variable in linearize.c offer no real
benefits. I consider it more of a personal preference thing. And it is
internal to linearize.c. At this point renaming variable will mess up with
annotations. It is not good enough reason to do it just to make
the editor happy.

Chris
--
To unsubscribe from this list: send the line "unsubscribe linux-sparse" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] linearize.h: sanitize header
  2009-08-06 17:10           ` Christopher Li
@ 2009-08-06 17:27             ` Kamil Dudka
  2009-08-06 17:49               ` Hannes Eder
  0 siblings, 1 reply; 9+ messages in thread
From: Kamil Dudka @ 2009-08-06 17:27 UTC (permalink / raw)
  To: Christopher Li; +Cc: Hannes Eder, sparse

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

On Thursday 06 of August 2009 19:10:30 Christopher Li wrote:
> I would just apply the change to the header file and related variables.
> The linearize.h is consider an API header file for other sparse application
> to use. So we'd better not assume too much on the sparse caller side.
>
> I agree with Kamil that rename variable in linearize.c offer no real
> benefits. I consider it more of a personal preference thing. And it is
> internal to linearize.c. At this point renaming variable will mess up with
> annotations. It is not good enough reason to do it just to make
> the editor happy.

Well, let's make a tradeoff - we can only change the identifiers
in linearize.h and the corresponding identifiers in linearize.c. I admit it 
could be confusing when we have different identifiers in the prototype and 
different identifiers in the function body. New version of the patch is 
attached.

Kamil

[-- Attachment #2: 0001-linearize.h-sanitize-header.patch --]
[-- Type: text/x-diff, Size: 2161 bytes --]

From 4d4c71eb876351d53e0f8edf0f121950ec2a9a84 Mon Sep 17 00:00:00 2001
From: Kamil Dudka <kdudka@redhat.com>
Date: Thu, 6 Aug 2009 19:20:51 +0200
Subject: [PATCH] linearize.h: sanitize header

It's unfortunate to use 'true' and 'false' as identifiers in a system
header. It clashes with corresponding macros from <stdbool.h> when
included before <sparse/linearize.h>.

Signed-off-by: Kamil Dudka <kdudka@redhat.com>
---
 linearize.c |    6 +++---
 linearize.h |    2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/linearize.c b/linearize.c
index 1a19214..238ee5d 100644
--- a/linearize.c
+++ b/linearize.c
@@ -666,7 +666,7 @@ void insert_branch(struct basic_block *bb, struct instruction *jmp, struct basic
 }
 	
 
-void insert_select(struct basic_block *bb, struct instruction *br, struct instruction *phi_node, pseudo_t true, pseudo_t false)
+void insert_select(struct basic_block *bb, struct instruction *br, struct instruction *phi_node, pseudo_t if_true, pseudo_t if_false)
 {
 	pseudo_t target;
 	struct instruction *select;
@@ -685,8 +685,8 @@ void insert_select(struct basic_block *bb, struct instruction *br, struct instru
 	select->target = target;
 	target->def = select;
 
-	use_pseudo(select, true, &select->src2);
-	use_pseudo(select, false, &select->src3);
+	use_pseudo(select, if_true, &select->src2);
+	use_pseudo(select, if_false, &select->src3);
 
 	add_instruction(&bb->insns, select);
 	add_instruction(&bb->insns, br);
diff --git a/linearize.h b/linearize.h
index 2205082..50b3601 100644
--- a/linearize.h
+++ b/linearize.h
@@ -328,7 +328,7 @@ struct entrypoint {
 	struct instruction *entry;
 };
 
-extern void insert_select(struct basic_block *bb, struct instruction *br, struct instruction *phi, pseudo_t true, pseudo_t false);
+extern void insert_select(struct basic_block *bb, struct instruction *br, struct instruction *phi, pseudo_t if_true, pseudo_t if_false);
 extern void insert_branch(struct basic_block *bb, struct instruction *br, struct basic_block *target);
 
 pseudo_t alloc_phi(struct basic_block *source, pseudo_t pseudo, int size);
-- 
1.6.3.3


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH] linearize.h: sanitize header
  2009-08-06 17:27             ` Kamil Dudka
@ 2009-08-06 17:49               ` Hannes Eder
  0 siblings, 0 replies; 9+ messages in thread
From: Hannes Eder @ 2009-08-06 17:49 UTC (permalink / raw)
  To: Kamil Dudka; +Cc: Christopher Li, sparse

On Thu, Aug 6, 2009 at 19:27, Kamil Dudka<kdudka@redhat.com> wrote:
> On Thursday 06 of August 2009 19:10:30 Christopher Li wrote:
>> I would just apply the change to the header file and related variables.
>> The linearize.h is consider an API header file for other sparse application
>> to use. So we'd better not assume too much on the sparse caller side.
>>
>> I agree with Kamil that rename variable in linearize.c offer no real
>> benefits. I consider it more of a personal preference thing. And it is
>> internal to linearize.c. At this point renaming variable will mess up with
>> annotations. It is not good enough reason to do it just to make
>> the editor happy.
>
> Well, let's make a tradeoff - we can only change the identifiers
> in linearize.h and the corresponding identifiers in linearize.c. I admit it
> could be confusing when we have different identifiers in the prototype and
> different identifiers in the function body. New version of the patch is
> attached.

LGTM

Acked-by: Hannes Eder <hannes@hanneseder.net>

Best,
-Hannes

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2009-08-06 17:49 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-08-06  9:02 [PATCH] linearize.h: sanitize header Kamil Dudka
2009-08-06  9:23 ` Hannes Eder
2009-08-06  9:30   ` Kamil Dudka
2009-08-06  9:39     ` Hannes Eder
2009-08-06  9:51       ` Kamil Dudka
2009-08-06 11:09         ` Hannes Eder
2009-08-06 17:10           ` Christopher Li
2009-08-06 17:27             ` Kamil Dudka
2009-08-06 17:49               ` Hannes Eder

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.