Re: [PATCH xserver v2] Fix uninitialized variable warnings reported by clang
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
From: Thomas Klausnerv2: 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
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