From mboxrd@z Thu Jan 1 00:00:00 1970 From: PUCCETTI Armand Subject: non-ANSI Unions Date: Fri, 23 Mar 2007 16:33:12 +0100 Message-ID: <4603F338.6050507@cea.fr> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org Many "unions' are present in the code, but are non-ANSI! For instance, I see: struct page_info { /* Each frame can be threaded onto a doubly-linked list. */ union { struct list_head list; /* Shadow uses this field as an up-pointer in lower-level shadows */ paddr_t up; }; /* Reference count and various PGC_xxx flags and fields. */ u32 count_info; ...} which should be written properly: struct page_info { /* Each frame can be threaded onto a doubly-linked list. */ union { struct list_head list; /* Shadow uses this field as an up-pointer in lower-level shadows */ paddr_t up; } foo; /* Reference count and various PGC_xxx flags and fields. */ u32 count_info; ...} Is there any good reason to do so? Is it possible to change that, to comply with the standard (and therefore with analysis tools too) ? Armand