Re: [PATCH xserver v2] Fix uninitialized variable warnings reported by clang

2016-01-06 Thread Adam Jackson
On Wed, 2016-01-06 at 07:00 +0100, Thomas Klausner wrote:
> Hello Adam!
> 
> > If it's not too much trouble, please use git-send-email --in-reply-to
> > for followup patches like this.
> 
> Thanks, I didn't know about this. I'll use it in the future. And
> thanks for the macro fix, it looks good to me.

remote: I: patch #69491 updated using rev 
63f83d1b7f496d05b409352749cdb6674d71cf80.
remote: I: 1 patch(es) updated to state Accepted.
To ssh://git.freedesktop.org/git/xorg/xserver
   ba71b69..63f83d1  master -> master

- ajax
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

[PATCH xserver v2] Fix uninitialized variable warnings reported by clang

2016-01-05 Thread Adam Jackson
From: Thomas Klausner 

v2: Move initializing pos into the first clause of the for statement. We
have to keep this macro equivalent to a plain for statement from the
user's perspective, otherwise callers need to {} things to keep control
flow correct. [ajax]

Signed-off-by: Thomas Klausner 
Acked-by: Michel Dänzer 
---
 include/list.h | 8 +---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/include/list.h b/include/list.h
index 39f1985..3f0574d 100644
--- a/include/list.h
+++ b/include/list.h
@@ -304,8 +304,9 @@ xorg_list_is_empty(struct xorg_list *head)
  * @param member Member name of the struct xorg_list in the list elements.
  *
  */
-#define xorg_list_for_each_entry(pos, head, member)
\
-for (pos = __container_of((head)->next, pos, member);  \
+#define xorg_list_for_each_entry(pos, head, member)\
+for (pos = NULL,\
+ pos = __container_of((head)->next, pos, member);  \
 >member != (head);\
 pos = __container_of(pos->member.next, pos, member))
 
@@ -317,7 +318,8 @@ xorg_list_is_empty(struct xorg_list *head)
  * See xorg_list_for_each_entry for more details.
  */
 #define xorg_list_for_each_entry_safe(pos, tmp, head, member)  \
-for (pos = __container_of((head)->next, pos, member),  \
+for (pos = NULL,\
+ pos = __container_of((head)->next, pos, member),  \
 tmp = __container_of(pos->member.next, pos, member);   \
 >member != (head);\
 pos = tmp, tmp = __container_of(pos->member.next, tmp, member))
-- 
2.5.0

___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Re: [PATCH xserver v2] Fix uninitialized variable warnings reported by clang

2016-01-05 Thread Thomas Klausner
Hello Adam!

> If it's not too much trouble, please use git-send-email --in-reply-to
> for followup patches like this.

Thanks, I didn't know about this. I'll use it in the future. And
thanks for the macro fix, it looks good to me.
 Thomas

On Tue, Jan 05, 2016 at 12:51:41PM -0500, Adam Jackson wrote:
> From: Thomas Klausner 
> 
> v2: Move initializing pos into the first clause of the for statement. We
> have to keep this macro equivalent to a plain for statement from the
> user's perspective, otherwise callers need to {} things to keep control
> flow correct. [ajax]
> 
> Signed-off-by: Thomas Klausner 
> Acked-by: Michel Dänzer 
> ---
>  include/list.h | 8 +---
>  1 file changed, 5 insertions(+), 3 deletions(-)
> 
> diff --git a/include/list.h b/include/list.h
> index 39f1985..3f0574d 100644
> --- a/include/list.h
> +++ b/include/list.h
> @@ -304,8 +304,9 @@ xorg_list_is_empty(struct xorg_list *head)
>   * @param member Member name of the struct xorg_list in the list elements.
>   *
>   */
> -#define xorg_list_for_each_entry(pos, head, member)  
> \
> -for (pos = __container_of((head)->next, pos, member);\
> +#define xorg_list_for_each_entry(pos, head, member)  \
> +for (pos = NULL,\
> + pos = __container_of((head)->next, pos, member);\
>>member != (head);\
>pos = __container_of(pos->member.next, pos, member))
>  
> @@ -317,7 +318,8 @@ xorg_list_is_empty(struct xorg_list *head)
>   * See xorg_list_for_each_entry for more details.
>   */
>  #define xorg_list_for_each_entry_safe(pos, tmp, head, member)
> \
> -for (pos = __container_of((head)->next, pos, member),\
> +for (pos = NULL,\
> + pos = __container_of((head)->next, pos, member),\
>tmp = __container_of(pos->member.next, pos, member);   \
>>member != (head);\
>pos = tmp, tmp = __container_of(pos->member.next, tmp, member))
> -- 
> 2.5.0
> 
___
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel