As a lot of you have already noticed. The sparse 0.5.0 has been tagged and upload to the kernel.org for a while. One of the most noticeable change of the sparse 0.5.0 is the license. The sparse project has finally move to the MIT license. Thanks for the hard work of Dan Carpenter and Franz Schrober, who contact and collect permissions from the sparse developers. We actually manage to get *all* developer's blessing on the MIT license. This release also has some enhancement matching the latest kernel source annotations. It will reduce the noise level of the sparse warnings. So there you have it. The official announcement of the sparse 0.5.0. Chris --- Al Viro (9): Fix handling of __func__ Fix tab handling in nextchar_slow() Fix ,##__VA_ARGS__ kludge Gentler handling of bitwise warnings in unary operations simplify handling of newline/whitespace flags in expand() fix handling of -include massage handling of wide string literals/character constants in tokenizer switch to delayed handling of escape sequences L ## 'a' is valid; so's L ## "a" Benjamin Herrenschmidt (1): sparse, llvm: Fix varargs functions Christopher Li (19): Limit usage of g++ to llvm related programs. Merge branch 'sparse-llvm' of git://github.com/penberg/sparse-llvm.git Adding default for m64/m32 handle Merge branch 'for-chris' of git://github.com/penberg/sparse-llvm Merge branch 'llvm/core' of github.com:penberg/sparse-llvm remove weak define x86_64 Merge git://git.kernel.org/pub/scm/linux/kernel/git/viro/sparse into marge Clean up some test case error. Fix segfault cause by fucntion without ident. Get rid of gcc warning about enum values Larger buffer size for token concatenation Proper variable length array warning Allow forced attribute in function argument Trivial: Remove redundant Makefile variable Merge branch 'llvmcore' Merge branch 'Novafora' of git://git.zytor.com/users/hpa/sparse/sparse into license Sparse 0.5.0 rc1 Fix make dist failure Sparse 0.5.0 Emilio G. Cota (1): gitignore: add 'version.h' Ethan Jackson (1): sparse: Add 'leaf' to ignored attributes. Franz Schrober (5): Revert "Update the information in README about using the library." Revert "Fix mistaken comparison that becomes a no-op." sparse: Relicense under the MIT license FAQ: Remove outdated sections about the license sparse: Also check bit_offset when checking implicit casts Frederic Crozat (1): Add __builtin_stpcpy, __sync_synchronize, __sync_bool_compare_and_swap to declare_builtin_functions James Westby (1): Update the information in README about using the library. Jan Pokorný (2): unssa: track use of newly added pseudo simplify: conservative handling of casts with pointers Jeff Garzik (15): sparse, llvm: if-else code generation sparse-llvm: OP_SEL sparse-llvm: OP_SWITCH sparse-llvm: OP_LOAD sparse-llvm OP_PHISOURCE: replace copy with target=src pointer operation sparse, llvm: replace FIXME comment with assert(), following existing style sparse, llvm: implement OP_CALL sparse, llvm: move OP_PHI code from switch statement to separate function sparse, llvm: move OP_CAST code to separate func. support FP casts. sparse, llvm: create helper for obtaining instruction's type sparse, llvm: store module-local functions on function reference list sparse, llvm: move OP_COPY support to separate function. Add FP support. sparse, llvm: support OP_STORE sparse, llvm: Fix loops, by properly handling OP_PHI forward references sparse, llvm: add loop testcase Jeff Layton (1): sparse: add __builtin_va_arg_pack() and __builtin_va_arg_pack_len() Joe Perches (1): There's no current way to know the version of sparse. Add --version to see it. Jonathan Neuschäfer (9): FAQ: update the website address and call it Wiki ptrlist.c: fix a typo in a comment sparse, llvm: 'Verify' the LLVM module before writing it sparse, llvm: convert the condition of branch/select to bool sparse, llvm: Fix type of loaded values sparse, llvm: Fix resulting type of store address calculations sparse, llvm: de-duplicate load/store address calculation code sparse, llvm: base load/store address type on insn_symbol_type() sparse, llvm: add a struct access test case Josh Triplett (2): Define __SIZEOF_POINTER__ Support #pragma once KOSAKI Motohiro (2): sparse: Add '__vector_size__' to ignored attributes sparse: Add 'error' to ignored attributes Kamil Dudka (2): cse: treat PHI-nodes as other instructions cse: update PHI users when throwing away an instruction Kim Phillips (2): sparse: add built-in byte swap identifiers sparse: add built-in atomic memory access identifiers Linus Torvalds (1): sparse, llvm: Make function declaration accessible to backend Masatake YAMATO (3): Warn about initialization of a char array with a too long constant C string. Test case for -Winit-cstring option Add description for -Winit-cstring option Mauro Dreissig (1): Fix wrong array size expression Pekka Enberg (69): sparse, llvm: Initial commit sparse, llvm: Fix assert() in sparse code sparse, llvm: Fix global variable initialization sparse, llvm: Fix 'sparsec' when it's not in PATH llvm, sparse: Separate entry and exit basic blocks sparse, llvm: Add switch statement to output_insn() sparse, llvm: OP_RET/PSEUDO_VAL code generation sparse, llvm: Add support for OP_RET/PSEUDO_ARG sparse, llvm: Introduce 'struct function' to clean up code sparse, llvm: Add output_op_binary() stub sparse, llvm: Implement OP_ADD sparse, llvm: Add support for more binary ops sparse, llvm: Implement some binary comparison ops sparse, llvm: Move binop tests to validation/backend sparse, llvm: Implement OP_CAST sparse, llvm: Floating point support for binops sparse, llvm: Reorganize code generation tests sparse, llvm: Bitwise not operator codegen sparse, llvm: Kill ifdef'd unssa() call sparse, llvm: Kill debugging code Merge pull request #1 from jgarzik/hacks Merge pull request #2 from jgarzik/hacks sparse, llvm: Warn the user when we fall back to GCC sparse, llvm: Code generation for string constants sparse, llvm: Cleanup output_data() sparse, llvm: Fix OP_CAST to use zero-extend sparse, llvm: Improve sparsec front-end sparse, llvm: Fix PSEUDO_OP code generation sparse, llvm: Don't redefine module local functions Revert "sparse, llvm: Don't redefine module local functions" sparse, llvm: Fix code generation for casts sparse, llvm: Fix pseudo_type() for PSEUDO_ARG Merge pull request #3 from jgarzik/hacks Merge branch 'master' of github.com:penberg/sparse-llvm llvm, sparse: Fix symbol_is_fp_type() goof Merge pull request #4 from jgarzik/hacks sparse, llvm: Fix code generation for 'long double' data type sparse, llvm: Add support for struct types sparse, llvm: Add support for symbol initializers sparse: Bump up sizeof(_Bool) to 8 bits sparse, llvm: Add support for logical ops sparse, llvm: Fix 'void *' pointer code generation sparse, llvm: Use new LLVM type system API for structs sparse, llvm: Fix struct code generation sparse, llvm: Fix symbol_type() for bitfields and enums sparse, llvm: Add support for array types sparse, llvm: Add support for union types sparse, llvm: Make 'sparsec' error handling more robust sparse, llvm: Function pointer code generation sparse, llvm: Fix symbol initializer code generation sparse, llvm: Fix 'extern' symbol code generation sparse, llvm: Make llc output to stdout in sparsec sparse, llvm: Pointer cast code generation sparse, llvm: OP_SET_B and OP_SET_A code generation sparse, llvm: More comparison ops code generation sparse, llvm: Simplify comparison op code generation sparse, llvm: FP comparison op code generation Merge pull request #6 from jgarzik/hacks sparse, llvm: Don't fail the build if LLVM is too old sparse, llvm: Use LLVMInt1Type() in sym_basetype_type() sparse, llvm: Add test case for <stdbool.h> type Revert "sparse: Bump up sizeof(_Bool) to 8 bits" sparse, llvm: Add _Bool to cast validation test sparse, llvm: Simplify output_data() type logic sparse, llvm: Fix string initializer code generation sparse, llvm: Fix global string access code generation sparse, llvm: Fix SIGSEGV for extern symbols sparse, llvm: Fix 'void' return type code generation sparse, llvm: Use LLVM_HOSTTRIPLE Ramsay Jones (2): char.c: Fix parsing of escapes symbol.c: Set correct size of array from parenthesized string initializer Randy Dunlap (1): sparse patch v2: add noclone as an ignored attribute Robert Bedichek (1): Novafora license grant using MIT license. Shakthi Kannan (1): I have updated the sparse.1 man page including the __bitwise relevant content, and created Documentation/sparse.txt with the complete comparison between __nocast vs __bitwise. Xi Wang (17): compile-i386: fix use-after-free in func_cleanup() check missing or duplicate goto labels fix casting constant to _Bool fix SIGFPE caused by signed division overflow sparse, llvm: fix link errors sparse, llvm: fix phi generation sparse, llvm: simplify function generation sparse, llvm: improve pointer arithmetic handling sparse, llvm: set target specification sparse, llvm: use LLVM_DEFAULT_TARGET_TRIPLE sparse, llvm: fix array size sparse, llvm: cache symbol_type() result sparse, llvm: fix struct name generation sparse, llvm: set more data attributes sparse, llvm: die if error Fix result type of relational and logical operators Fix expression type for floating point negation ('!') -- 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