aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Documentation/release-notes/v0.3.rst
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/release-notes/v0.3.rst')
-rw-r--r--Documentation/release-notes/v0.3.rst111
1 files changed, 111 insertions, 0 deletions
diff --git a/Documentation/release-notes/v0.3.rst b/Documentation/release-notes/v0.3.rst
new file mode 100644
index 00000000..e149b410
--- /dev/null
+++ b/Documentation/release-notes/v0.3.rst
@@ -0,0 +1,111 @@
+v0.3 (2007-05-01)
+=================
+
+I have tagged and tarballed a 0.3 release of Sparse, now available from
+http://ftp.be.debian.org/pub/software/devel/sparse/dist/ with sha1sum 1d868b29234176abd5f3f5463aad1f11d5268dc2.
+
+Note that the Sparse Git repository has moved to:
+
+ https://git.kernel.org/cgit/devel/sparse/sparse.git
+
+The old repository location will continue to work for now, but please update
+any references you have to the old location.
+
+Thanks to Christopher Li for contributing heavily to this release, including
+several notable new features. See the full changelog for details.
+
+In addition to numerous bug fixes, cleanups, and new test cases, this release
+includes several new visible features:
+
+* A Sparse-based implementation of ctags, thanks to Christopher Li. Now you can have a ctags that 'actually parses C'.
+* Sparse now correctly supports annotations on inline functions.
+* The new '-ventry' option will make Sparse dump its internal linearized bytecode format.
+* Sparse now parses the '__regparm__' attribute just like 'regparm', fixing a warning with pthreads from glibc 2.5.
+* Sparse now interprets the integer size attributes 'QI', 'SI', 'HI', and 'DI', and their double-underscore variants.
+* Sparse now supports attributes on labels, sometimes used to specify 'unused' labels.
+* Sparse now handles structure attributes between the structure keyword and the name, fixing many parse errors.
+* Sparse now supports more than one command-line include file.
+* The pkg-config file gets installed to its correct location under 'lib', rather than under 'share'.
+
+Notable internal changes:
+
+* Fully table-driven attribute parsing. This simplifies the C parser and makes it far easier to add new attributes to Sparse.
+* Many internal cleanups, more information preserved for backends, more useful formats for that information, and lower memory usage.
+* Fixed Sparse warnings about itself.
+
+Full changelog:
+
+Christopher Li (24):
+ * Sparse-based Ctags implementation
+ * Change the symbol access list to a pseudo list
+ * Add instruction to pseudo user tracking.
+ * Update usage chain for dead instructions
+ * Update usage chain for dead branch instruction.
+ * Allow more than one command line include file.
+ * Enhance debug information.
+ * Another attempt to fix the attribute parsing.
+ * Marking anonymous string.
+ * Bug fix in pointer modifier inheritance at function degeneration.
+ * Handle structure attributes between the structure keyword and the name
+ * Fix the segfault when initializer has unknown symbol
+ * Fix double semicolon in struct declaration
+ * Make the ptrlist using the sparse allocator.
+ * Fix core dump on anonymous symbol.
+ * Fix a bug that match_idents forget to end with NULL
+ * Adding debug option for showing the linearized instruction.
+ * Fix core dump on huge switch
+ * Introduce expression_error
+ * Disable liveness "dead" instruction by default.
+ * Add annotation for inline function call.
+ * Introduce keyword driven attribute parsing
+ * Fix the annotated inline call position
+ * handle label attributes
+
+Christopher Li and Josh Triplett (4):
+ * Introduce top level parsing for asm parsing.
+ * Introducing statement keywords
+ * Free up some special bits in modifiers.
+ * Moving statement parsing into smaller functions.
+
+James Westby (2):
+ * Fix mistaken comparison that becomes a no-op.
+ * Update the information in README about using the library.
+
+Josh Triplett (30):
+ * Add ctags to .gitignore
+ * Add a return in the last case of a switch; redundant but less error-prone.
+ * Coding style fix: in a pointer type, * goes with the name, not the type.
+ * Add missing #include "allocate.h" in linearize.h for DECLARE_ALLOCATOR.
+ * Add test case for function pointer modifier inheritance
+ * Add test case for structure attribute placement.
+ * Add test case for double semicolon in structure declaration.
+ * Coding style fix: use parentheses with sizeof
+ * Move pkg-config file to lib, rather than share
+ * Add static to declarations in test cases, to remove unrelated warnings.
+ * Fix typo in symbol.h: s/keywrods/keywords/
+ * Fix typos in comments
+ * Use GCC format and sentinel attributes on appropriate functions
+ * Fix two potential NULL pointer dereferences in dissect.c
+ * Avoid returning an uninitialized pointer from dup_list of an empty list
+ * Remove stray space from expand_compare in expand.c
+ * Prevent potential NULL pointer dereference in expand_compare
+ * Add test case for basic address_space annotations.
+ * Use noreturn on die() and error_die()
+ * Parse and ignore the __regparm__ attribute, just like regparm.
+ * Fix comment to reference #weak_define rather than #ifndef, matching code
+ * Teach cgcc about -Wtransparent-union and -Wno-transparent-union
+ * Declare die_if_error extern in lib.h
+ * Remove unused variable "include" from lib.c
+ * Declare do_error static
+ * Declare gcc_patchlevel extern in lib.h
+ * compile-i386.c: Declare regs_in_use static
+ * simplify.c: Declare delete_pseudo_user_list_entry static
+ * linearize: DECLARE_ALLOCATOR for asm_constraint and asm_rules
+ * Fix most -Wshadow warnings in Sparse.
+
+Oleg Nesterov (3):
+ * dissect: cleanup report_implicit()
+ * dissect: fix multidimensional array initializer
+ * dissect: simplify lookup_member()
+
+-- Josh Triplett