• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1v0.5.0 (2014-04-01)
2===================
3
4As a lot of you have already noticed. The sparse 0.5.0 has been
5tagged and upload to the kernel.org for a while.
6
7One of the most noticeable change of the sparse 0.5.0 is the
8license. The sparse project has finally move to the MIT license.
9Thanks for the hard work of Dan Carpenter and Franz Schrober,
10who contact and collect permissions from the sparse developers.
11We actually manage to get *all* developer's blessing on the MIT
12license.
13
14This release also has some enhancement matching the latest
15kernel source annotations. It will reduce the noise level of the sparse
16warnings.
17
18So there you have it. The official announcement of the sparse 0.5.0.
19
20Chris
21---
22
23Al Viro (9):
24   * Fix handling of __func__
25   * Fix tab handling in nextchar_slow()
26   * Fix ,##__VA_ARGS__ kludge
27   * Gentler handling of bitwise warnings in unary operations
28   * simplify handling of newline/whitespace flags in expand()
29   * fix handling of -include
30   * massage handling of wide string literals/character constants in tokenizer
31   * switch to delayed handling of escape sequences
32   * L ## 'a' is valid; so's L ## "a"
33
34Benjamin Herrenschmidt (1):
35   * sparse, llvm: Fix varargs functions
36
37Christopher Li (19):
38   * Limit usage of g++ to llvm related programs.
39   * Merge branch 'sparse-llvm' of git://github.com/penberg/sparse-llvm.git
40   * Adding default for m64/m32 handle
41   * Merge branch 'for-chris' of git://github.com/penberg/sparse-llvm
42   * Merge branch 'llvm/core' of github.com:penberg/sparse-llvm
43   * remove weak define x86_64
44   * Merge git://git.kernel.org/pub/scm/linux/kernel/git/viro/sparse into marge
45   * Clean up some test case error.
46   * Fix segfault cause by fucntion without ident.
47   * Get rid of gcc warning about enum values
48   * Larger buffer size for token concatenation
49   * Proper variable length array warning
50   * Allow forced attribute in function argument
51   * Trivial: Remove redundant Makefile variable
52   * Merge branch 'llvmcore'
53   * Merge branch 'Novafora' of git://git.zytor.com/users/hpa/sparse/sparse
54     into license
55   * Sparse 0.5.0 rc1
56   * Fix make dist failure
57   * Sparse 0.5.0
58
59Emilio G. Cota (1):
60   * gitignore: add 'version.h'
61
62Ethan Jackson (1):
63   * sparse: Add 'leaf' to ignored attributes.
64
65Franz Schrober (5):
66   * Revert "Update the information in README about using the library."
67   * Revert "Fix mistaken comparison that becomes a no-op."
68   * sparse: Relicense under the MIT license
69   * FAQ: Remove outdated sections about the license
70   * sparse: Also check bit_offset when checking implicit casts
71
72Frederic Crozat (1):
73   * Add __builtin_stpcpy, __sync_synchronize, __sync_bool_compare_and_swap
74     to declare_builtin_functions
75
76James Westby (1):
77   * Update the information in README about using the library.
78
79Jan Pokorný (2):
80   * unssa: track use of newly added pseudo
81   * simplify: conservative handling of casts with pointers
82
83Jeff Garzik (15):
84   * sparse, llvm: if-else code generation
85   * sparse-llvm: OP_SEL
86   * sparse-llvm: OP_SWITCH
87   * sparse-llvm: OP_LOAD
88   * sparse-llvm OP_PHISOURCE: replace copy with target=src pointer operation
89   * sparse, llvm: replace FIXME comment with assert(), following
90existing style
91   * sparse, llvm: implement OP_CALL
92   * sparse, llvm: move OP_PHI code from switch statement to separate function
93   * sparse, llvm: move OP_CAST code to separate func.  support FP casts.
94   * sparse, llvm: create helper for obtaining instruction's type
95   * sparse, llvm: store module-local functions on function reference list
96   * sparse, llvm: move OP_COPY support to separate function.  Add FP support.
97   * sparse, llvm: support OP_STORE
98   * sparse, llvm: Fix loops, by properly handling OP_PHI forward references
99   * sparse, llvm: add loop testcase
100
101Jeff Layton (1):
102   * sparse: add __builtin_va_arg_pack() and __builtin_va_arg_pack_len()
103
104Joe Perches (1):
105   * There's no current way to know the version of sparse. Add --version to see it.
106
107Jonathan Neuschäfer (9):
108   * FAQ: update the website address and call it Wiki
109   * ptrlist.c: fix a typo in a comment
110   * sparse, llvm: 'Verify' the LLVM module before writing it
111   * sparse, llvm: convert the condition of branch/select to bool
112   * sparse, llvm: Fix type of loaded values
113   * sparse, llvm: Fix resulting type of store address calculations
114   * sparse, llvm: de-duplicate load/store address calculation code
115   * sparse, llvm: base load/store address type on insn_symbol_type()
116   * sparse, llvm: add a struct access test case
117
118Josh Triplett (2):
119   * Define __SIZEOF_POINTER__
120   * Support #pragma once
121
122KOSAKI Motohiro (2):
123   * sparse: Add '__vector_size__' to ignored attributes
124   * sparse: Add 'error' to ignored attributes
125
126Kamil Dudka (2):
127   * cse: treat PHI-nodes as other instructions
128   * cse: update PHI users when throwing away an instruction
129Kim Phillips (2):
130   * sparse: add built-in byte swap identifiers
131   * sparse: add built-in atomic memory access identifiers
132
133Linus Torvalds (1):
134   * sparse, llvm: Make function declaration accessible to backend
135
136Masatake YAMATO (3):
137   * Warn about initialization of a char array with a too long
138constant C string.
139   * Test case for -Winit-cstring option
140   * Add description for -Winit-cstring option
141
142Mauro Dreissig (1):
143   * Fix wrong array size expression
144
145Pekka Enberg (69):
146   * sparse, llvm: Initial commit
147   * sparse, llvm: Fix assert() in sparse code
148   * sparse, llvm: Fix global variable initialization
149   * sparse, llvm: Fix 'sparsec' when it's not in PATH
150   * llvm, sparse: Separate entry and exit basic blocks
151   * sparse, llvm: Add switch statement to output_insn()
152   * sparse, llvm: OP_RET/PSEUDO_VAL code generation
153   * sparse, llvm: Add support for OP_RET/PSEUDO_ARG
154   * sparse, llvm: Introduce 'struct function' to clean up code
155   * sparse, llvm: Add output_op_binary() stub
156   * sparse, llvm: Implement OP_ADD
157   * sparse, llvm: Add support for more binary ops
158   * sparse, llvm: Implement some binary comparison ops
159   * sparse, llvm: Move binop tests to validation/backend
160   * sparse, llvm: Implement OP_CAST
161   * sparse, llvm: Floating point support for binops
162   * sparse, llvm: Reorganize code generation tests
163   * sparse, llvm: Bitwise not operator codegen
164   * sparse, llvm: Kill ifdef'd unssa() call
165   * sparse, llvm: Kill debugging code
166   * Merge pull request #1 from jgarzik/hacks
167   * Merge pull request #2 from jgarzik/hacks
168   * sparse, llvm: Warn the user when we fall back to GCC
169   * sparse, llvm: Code generation for string constants
170   * sparse, llvm: Cleanup output_data()
171   * sparse, llvm: Fix OP_CAST to use zero-extend
172   * sparse, llvm: Improve sparsec front-end
173   * sparse, llvm: Fix PSEUDO_OP code generation
174   * sparse, llvm: Don't redefine module local functions
175   * Revert "sparse, llvm: Don't redefine module local functions"
176   * sparse, llvm: Fix code generation for casts
177   * sparse, llvm: Fix pseudo_type() for PSEUDO_ARG
178   * Merge pull request #3 from jgarzik/hacks
179   * Merge branch 'master' of github.com:penberg/sparse-llvm
180   * llvm, sparse: Fix symbol_is_fp_type() goof
181   * Merge pull request #4 from jgarzik/hacks
182   * sparse, llvm: Fix code generation for 'long double' data type
183   * sparse, llvm: Add support for struct types
184   * sparse, llvm: Add support for symbol initializers
185   * sparse: Bump up sizeof(_Bool) to 8 bits
186   * sparse, llvm: Add support for logical ops
187   * sparse, llvm: Fix 'void \*' pointer code generation
188   * sparse, llvm: Use new LLVM type system API for structs
189   * sparse, llvm: Fix struct code generation
190   * sparse, llvm: Fix symbol_type() for bitfields and enums
191   * sparse, llvm: Add support for array types
192   * sparse, llvm: Add support for union types
193   * sparse, llvm: Make 'sparsec' error handling more robust
194   * sparse, llvm: Function pointer code generation
195   * sparse, llvm: Fix symbol initializer code generation
196   * sparse, llvm: Fix 'extern' symbol code generation
197   * sparse, llvm: Make llc output to stdout in sparsec
198   * sparse, llvm: Pointer cast code generation
199   * sparse, llvm: OP_SET_B and OP_SET_A code generation
200   * sparse, llvm: More comparison ops code generation
201   * sparse, llvm: Simplify comparison op code generation
202   * sparse, llvm: FP comparison op code generation
203   * Merge pull request #6 from jgarzik/hacks
204   * sparse, llvm: Don't fail the build if LLVM is too old
205   * sparse, llvm: Use LLVMInt1Type() in sym_basetype_type()
206   * sparse, llvm: Add test case for <stdbool.h> type
207   * Revert "sparse: Bump up sizeof(_Bool) to 8 bits"
208   * sparse, llvm: Add _Bool to cast validation test
209   * sparse, llvm: Simplify output_data() type logic
210   * sparse, llvm: Fix string initializer code generation
211   * sparse, llvm: Fix global string access code generation
212   * sparse, llvm: Fix SIGSEGV for extern symbols
213   * sparse, llvm: Fix 'void' return type code generation
214   * sparse, llvm: Use LLVM_HOSTTRIPLE
215
216Ramsay Jones (2):
217   * char.c: Fix parsing of escapes
218   * symbol.c: Set correct size of array from parenthesized string initializer
219
220Randy Dunlap (1):
221   * sparse patch v2: add noclone as an ignored attribute
222
223Robert Bedichek (1):
224   * Novafora license grant using MIT license.
225
226Shakthi Kannan (1):
227   * I have updated the sparse.1 man page including the __bitwise
228     relevant content, and created Documentation/sparse.txt with the
229     complete comparison between __nocast vs __bitwise.
230
231Xi Wang (17):
232   * compile-i386: fix use-after-free in func_cleanup()
233   * check missing or duplicate goto labels
234   * fix casting constant to _Bool
235   * fix SIGFPE caused by signed division overflow
236   * sparse, llvm: fix link errors
237   * sparse, llvm: fix phi generation
238   * sparse, llvm: simplify function generation
239   * sparse, llvm: improve pointer arithmetic handling
240   * sparse, llvm: set target specification
241   * sparse, llvm: use LLVM_DEFAULT_TARGET_TRIPLE
242   * sparse, llvm: fix array size
243   * sparse, llvm: cache symbol_type() result
244   * sparse, llvm: fix struct name generation
245   * sparse, llvm: set more data attributes
246   * sparse, llvm: die if error
247   * Fix result type of relational and logical operators
248   * Fix expression type for floating point negation ('!')
249