Switch kernel header parsing to python libclang

Replace the tokenizer in cpp.py with libclang.

Bug: 18937958
Change-Id: I27630904c6d2849418cd5ca3d3c612ec3078686d
diff --git a/libc/kernel/uapi/linux/bcache.h b/libc/kernel/uapi/linux/bcache.h
index 4d1d454..efe692c 100644
--- a/libc/kernel/uapi/linux/bcache.h
+++ b/libc/kernel/uapi/linux/bcache.h
@@ -19,20 +19,28 @@
 #ifndef _LINUX_BCACHE_H
 #define _LINUX_BCACHE_H
 #include <asm/types.h>
-#define BITMASK(name, type, field, offset, size)  static inline __u64 name(const type *k)  { return (k->field >> offset) & ~(~0ULL << size); }    static inline void SET_##name(type *k, __u64 v)  {   k->field &= ~(~(~0ULL << size) << offset);   k->field |= (v & ~(~0ULL << size)) << offset;  }
+#define BITMASK(name,type,field,offset,size) static inline __u64 name(const type * k) \
+{ return(k->field >> offset) & ~(~0ULL << size); } static inline void SET_ ##name(type * k, __u64 v) \
+{ k->field &= ~(~(~0ULL << size) << offset); k->field |= (v & ~(~0ULL << size)) << offset; \
+}
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct bkey {
- __u64 high;
- __u64 low;
- __u64 ptr[];
+  __u64 high;
+  __u64 low;
+  __u64 ptr[];
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
-#define KEY_FIELD(name, field, offset, size)   BITMASK(name, struct bkey, field, offset, size)
-#define PTR_FIELD(name, offset, size)  static inline __u64 name(const struct bkey *k, unsigned i)  { return (k->ptr[i] >> offset) & ~(~0ULL << size); }    static inline void SET_##name(struct bkey *k, unsigned i, __u64 v)  {   k->ptr[i] &= ~(~(~0ULL << size) << offset);   k->ptr[i] |= (v & ~(~0ULL << size)) << offset;  }
+#define KEY_FIELD(name,field,offset,size) BITMASK(name, struct bkey, field, offset, size)
+#define PTR_FIELD(name,offset,size) static inline __u64 name(const struct bkey * k, unsigned i) \
+{ return(k->ptr[i] >> offset) & ~(~0ULL << size); } static inline void SET_ ##name(struct bkey * k, unsigned i, __u64 v) \
+{ k->ptr[i] &= ~(~(~0ULL << size) << offset); k->ptr[i] |= (v & ~(~0ULL << size)) << offset; \
+}
 #define KEY_SIZE_BITS 16
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define KEY_MAX_U64S 8
-#define KEY(inode, offset, size)  ((struct bkey) {   .high = (1ULL << 63) | ((__u64) (size) << 20) | (inode),   .low = (offset)  })
+#define KEY(inode,offset,size) \
+((struct bkey) {.high = (1ULL << 63) | ((__u64) (size) << 20) | (inode),.low = (offset) \
+})
 #define ZERO_KEY KEY(0, 0, 0)
 #define MAX_KEY_INODE (~(~0 << 20))
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
@@ -43,11 +51,11 @@
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define PTR_DEV_BITS 12
 #define PTR_CHECK_DEV ((1 << PTR_DEV_BITS) - 1)
-#define PTR(gen, offset, dev)   ((((__u64) dev) << 51) | ((__u64) offset) << 8 | gen)
-#define bkey_copy(_dest, _src) memcpy(_dest, _src, bkey_bytes(_src))
+#define PTR(gen,offset,dev) ((((__u64) dev) << 51) | ((__u64) offset) << 8 | gen)
+#define bkey_copy(_dest,_src) memcpy(_dest, _src, bkey_bytes(_src))
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define BKEY_PAD 8
-#define BKEY_PADDED(key)   union { struct bkey key; __u64 key ## _pad[BKEY_PAD]; }
+#define BKEY_PADDED(key) union { struct bkey key; __u64 key ##_pad[BKEY_PAD]; }
 #define BCACHE_SB_VERSION_CDEV 0
 #define BCACHE_SB_VERSION_BDEV 1
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
@@ -63,46 +71,46 @@
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define BDEV_DATA_START_DEFAULT 16
 struct cache_sb {
- __u64 csum;
- __u64 offset;
+  __u64 csum;
+  __u64 offset;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u64 version;
- __u8 magic[16];
- __u8 uuid[16];
- union {
+  __u64 version;
+  __u8 magic[16];
+  __u8 uuid[16];
+  union {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u8 set_uuid[16];
- __u64 set_magic;
- };
- __u8 label[SB_LABEL_SIZE];
+    __u8 set_uuid[16];
+    __u64 set_magic;
+  };
+  __u8 label[SB_LABEL_SIZE];
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u64 flags;
- __u64 seq;
- __u64 pad[8];
- union {
+  __u64 flags;
+  __u64 seq;
+  __u64 pad[8];
+  union {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- struct {
- __u64 nbuckets;
- __u16 block_size;
- __u16 bucket_size;
+    struct {
+      __u64 nbuckets;
+      __u16 block_size;
+      __u16 bucket_size;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u16 nr_in_set;
- __u16 nr_this_dev;
- };
- struct {
+      __u16 nr_in_set;
+      __u16 nr_this_dev;
+    };
+    struct {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u64 data_offset;
- };
- };
- __u32 last_mount;
+      __u64 data_offset;
+    };
+  };
+  __u32 last_mount;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u16 first_bucket;
- union {
- __u16 njournal_buckets;
- __u16 keys;
+  __u16 first_bucket;
+  union {
+    __u16 njournal_buckets;
+    __u16 keys;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- };
- __u64 d[SB_JOURNAL_BUCKETS];
+  };
+  __u64 d[SB_JOURNAL_BUCKETS];
 };
 #define CACHE_REPLACEMENT_LRU 0U
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
@@ -127,83 +135,83 @@
 #define BCACHE_JSET_VERSION 1
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct jset {
- __u64 csum;
- __u64 magic;
- __u64 seq;
+  __u64 csum;
+  __u64 magic;
+  __u64 seq;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u32 version;
- __u32 keys;
- __u64 last_seq;
- BKEY_PADDED(uuid_bucket);
+  __u32 version;
+  __u32 keys;
+  __u64 last_seq;
+  BKEY_PADDED(uuid_bucket);
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- BKEY_PADDED(btree_root);
- __u16 btree_level;
- __u16 pad[3];
- __u64 prio_bucket[MAX_CACHES_PER_SET];
+  BKEY_PADDED(btree_root);
+  __u16 btree_level;
+  __u16 pad[3];
+  __u64 prio_bucket[MAX_CACHES_PER_SET];
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- union {
- struct bkey start[0];
- __u64 d[0];
- };
+  union {
+    struct bkey start[0];
+    __u64 d[0];
+  };
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct prio_set {
- __u64 csum;
- __u64 magic;
+  __u64 csum;
+  __u64 magic;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u64 seq;
- __u32 version;
- __u32 pad;
- __u64 next_bucket;
+  __u64 seq;
+  __u32 version;
+  __u32 pad;
+  __u64 next_bucket;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- struct bucket_disk {
- __u16 prio;
- __u8 gen;
- } __attribute((packed)) data[];
+  struct bucket_disk {
+    __u16 prio;
+    __u8 gen;
+  } __attribute((packed)) data[];
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
 struct uuid_entry {
- union {
- struct {
+  union {
+    struct {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u8 uuid[16];
- __u8 label[32];
- __u32 first_reg;
- __u32 last_reg;
+      __u8 uuid[16];
+      __u8 label[32];
+      __u32 first_reg;
+      __u32 last_reg;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u32 invalidated;
- __u32 flags;
- __u64 sectors;
- };
+      __u32 invalidated;
+      __u32 flags;
+      __u64 sectors;
+    };
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u8 pad[128];
- };
+    __u8 pad[128];
+  };
 };
 #define BCACHE_BSET_CSUM 1
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define BCACHE_BSET_VERSION 1
 struct bset {
- __u64 csum;
- __u64 magic;
+  __u64 csum;
+  __u64 magic;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u64 seq;
- __u32 version;
- __u32 keys;
- union {
+  __u64 seq;
+  __u32 version;
+  __u32 keys;
+  union {
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- struct bkey start[0];
- __u64 d[0];
- };
+    struct bkey start[0];
+    __u64 d[0];
+  };
 };
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct uuid_entry_v0 {
- __u8 uuid[16];
- __u8 label[32];
- __u32 first_reg;
+  __u8 uuid[16];
+  __u8 label[32];
+  __u32 first_reg;
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
- __u32 last_reg;
- __u32 invalidated;
- __u32 pad;
+  __u32 last_reg;
+  __u32 invalidated;
+  __u32 pad;
 };
 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #endif