diff options
Diffstat (limited to 'Documentation/release-notes/v0.5.0.rst')
-rw-r--r-- | Documentation/release-notes/v0.5.0.rst | 248 |
1 files changed, 248 insertions, 0 deletions
diff --git a/Documentation/release-notes/v0.5.0.rst b/Documentation/release-notes/v0.5.0.rst new file mode 100644 index 00000000..a1e353e1 --- /dev/null +++ b/Documentation/release-notes/v0.5.0.rst @@ -0,0 +1,248 @@ +v0.5.0 (2014-04-01) +=================== + +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 ('!') |