aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Documentation/release-notes/v0.5.0.rst
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/release-notes/v0.5.0.rst')
-rw-r--r--Documentation/release-notes/v0.5.0.rst248
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 ('!')