Hi Luc, Next problem: The following fails. typedef unsigned long long size_t; struct buffer_type_st { struct buffer_type_st *next_buffer; char *buffer; }; typedef struct buffer_type_st buffer_type_t; struct link_st { struct link_st *next; }; typedef struct link_st link_t; struct allocator_st { buffer_type_t *buffer_list; link_t *free_list; char *next_avail; char *last; size_t size; size_t n; }; typedef struct allocator_st allocator; extern void * alloc_node(allocator * a); extern void grow_allocator(allocator * a); void * alloc_node(allocator * a) { link_t *tmp; tmp = a->free_list; return (void *) tmp; } I get LLVM assertion failure for following instruction: insn cast.64 %r4 <- (64) %r2 Assertion failed: isa<X>(Val) && "cast<Ty>() argument of incompatible type!", file C:\d\llvm-3.9.0.src\include\llvm/Support/Casting.h, line 237 I think this is because the linearize is outputting an integer cast rather than pointer cast so LLVM is not happy. Regards Dibyendu p.s. should I start a new thread for each separate issue? -- To unsubscribe from this list: send the line "unsubscribe linux-sparse" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html