[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v6 00/18] libxl: JSON infrastructure, fixes and prerequisite patches for new API



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 ‘libxl__gc’
libxl_json.h:25: note: previous declaration of ‘libxl__gc’ was here
In file included from flexarray.c:16:
libxl_internal.h:1641: error: redefinition of typedef ‘libxl__json_object’ libxl_json.h:26: note: previous declaration of ‘libxl__json_object’ 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=gcc.git;a=commitdiff;h=ce3765bf44e49ef0568a1ad4a0b7f807591d6412


-boris



FC-64 <build@build-mk2:/tmp> 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 ‘foo’
foo.c:1: note: previous declaration of ‘foo’ was here
FC-64 <build@build-mk2:/tmp>


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@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.