From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boris Ostrovsky Subject: Re: [PATCH v6 00/18] libxl: JSON infrastructure, fixes and prerequisite patches for new API Date: Tue, 10 Jun 2014 16:51:35 -0400 Message-ID: <53976FD7.9040309@oracle.com> References: <1402317809-26833-1-git-send-email-wei.liu2@citrix.com> <1402409640.1250.146.camel@kazak.uk.xensource.com> <53976631.7040001@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="windows-1252"; Format="flowed" Content-Transfer-Encoding: quoted-printable Return-path: In-Reply-To: <53976631.7040001@oracle.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Ian Campbell Cc: Wei Liu , ian.jackson@eu.citrix.com, xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org On 06/10/2014 04:10 PM, Boris Ostrovsky wrote: > On 06/10/2014 10:14 AM, Ian Campbell wrote: >> On Mon, 2014-06-09 at 13:43 +0100, Wei Liu wrote: >>> Wei Liu (18): >>> A libxl: make cpupool_qualifier_to_cpupoolid a library function >> Applied. >>> A xl: remove parsing of "vncviewer" option in xl domain config file >> Applied. >> >>> M libxl: fix JSON generator for uint64_t >> Acked + applied. >> >>> A libxl IDL: rename json_fn to json_gen_fn >>> A libxl_json: introduce libxl__object_from_json >>> A libxl_json: introduce parser functions for builtin types > > The last one breaks on older gcc: > > In file included from flexarray.c:16: > libxl_internal.h:136: error: redefinition of typedef =91libxl__gc=92 > libxl_json.h:25: note: previous declaration of =91libxl__gc=92 was here > In file included from flexarray.c:16: > libxl_internal.h:1641: error: redefinition of typedef = > =91libxl__json_object=92 > libxl_json.h:26: note: previous declaration of =91libxl__json_object=92 = > was here > make[4]: *** [flexarray.o] Error 1 > > > Looks like at some point gcc started allowing multiple typedefs. So, = > for example: And this is apparently that point (for version 4.6, I believe): https://gcc.gnu.org/git/?p=3Dgcc.git;a=3Dcommitdiff;h=3Dce3765bf44e49ef0568= a1ad4a0b7f807591d6412 -boris > > > FC-64 cat foo.c; gcc --version |head -1; gcc foo.c > typedef int foo; > typedef int foo; > main(){} > gcc (GCC) 4.4.4 20100503 (Red Hat 4.4.4-2) > foo.c:2: error: redefinition of typedef =91foo=92 > foo.c:1: note: previous declaration of =91foo=92 was here > FC-64 > > > but > > ostr@workbase> cat foo.c; gcc --version |head -1; gcc foo.c > typedef int foo; > typedef int foo; > main(){} > > gcc (GCC) 4.7.2 20121109 (Red Hat 4.7.2-8) > ostr@workbase> > > > -boris > > >> Applied all three. >> >>> M libxl/gentypes.py: special-case KeyedUnion map handle generation >> Acked + applied. >> >>> C libxl IDL: generate code to parse libxl__json_object to libxl_FOO >>> struct >>> A libxl/gentest.py: test JSON parser >> I skipped reviewing these ones this time around. Will come back to them. >> >>> A libxl: introduce libxl_key_value_list_length >>> A libxl: introduce libxl_cpuid_policy_list_length >> Applied. >> >>> A libxl: copy function for builtin types >> This one didn't apply due to some missing prerequisites. At this point I >> stopped trying to apply things because I figured the rest wouldn't apply >> either. >> >> Ian. >> >> >> _______________________________________________ >> Xen-devel mailing list >> Xen-devel@lists.xen.org >> http://lists.xen.org/xen-devel > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xen.org > http://lists.xen.org/xen-devel