v0.5.2 (2018-04-30) =================== The latest release of sparse have been pushed to the official repository. It's a smaller release than the previous one but it contains some important changes to not be flooded by unimportant warnings while compiling the kernel. The most notable changes are: * better tracking and handling of expression constness * fix bug with variadic macros * less warnings on unknown attributes (none by default now) * teach sparse about __builtin_{isinf_sign,isfinite,isnan} * various update to the documentation * do selfcheck with the locally built sparse * some fixes or improvements for build (armhf, GNU/kfreebsd, ...) * also evaluate files included via -include Many thanks to everyone involved. Luc Van Oostenryck --- Al Viro (1): * Sparse preprocessing bug with zero-arg variadic macros Christopher Li (8): * gcc attr: add nonstring warn_if_not_aligned * Makefile: provide CFLAGS for command line override. * Give the constant pseudo value a size * sparse-llvm: use pseudo->size to select llvm integer type * Update gcc attribute list * Fix crash cause by previous pseudo size change Jacob Keller (1): * sparse: document that -Wbitwise is default Logan Gunthorpe (1): * add __builtin functions for isinf_sign, isfinite and isnan Luc Van Oostenryck (13): * constexpr: rename handle_simple_initializer() to handle_initializer() * constexpr: collect storage modifiers of initializers * return an error if too few args * give default return type in evaluate_call() * constexpr: flag __builtin_bswap() as constexpr * build: disable sparse-llvm on non-x86 * fix cgcc ELF version for ppc64/pcc64le * fix: missing evaluate with '-include' : add testcase * fix: missing evaluate with '-include' * Revert "Give the constant pseudo value a size" * By default disable the warning flag '-Wunknown-attribute' * bump up version to 0.5.2-RC1 * Sparse v0.5.2 Martin Kepplinger (2): * compile-i386.c: fix a memory leak in sort_array() * compile-i386: make use of expression_list_size() Nicolai Stange (20): * constexpr: introduce additional expression constness tracking flags * constexpr: init flags at expression allocation * constexpr: examine constness of casts at evaluation only * constexpr: examine constness of binops and alike at evaluation only * constexpr: examine constness of preops at evaluation only * constexpr: examine constness of conditionals at evaluation only * constexpr: add support for tagging arithmetic constant expressions * constexpr: add support for tagging address constants * constexpr: check static storage duration objects' intializers' constness * constexpr: recognize static objects as address constants * constexpr: recognize address constants created through casts * constexpr: recognize address constants created through pointer arithmetic * constexpr: recognize members of static compound objects as address constants * constexpr: recognize string literals as address constants * constexpr: recognize references to labels as address constants * constexpr: examine constness of __builtin_offsetof at evaluation only * constexpr: flag builtins constant_p, safe_p and warning as constexprs * constexpr: relax some constant expression rules for pointer expressions * constexpr: support compound literals as address constants * constexpr: treat comparisons between types as integer constexpr Ramsay Jones (1): * Makefile: use locally built sparse in the selfcheck target Randy Dunlap (5): * sparse: minor manpage corrections * Documentation: make data-structures.txt easier to read * Documentation: editing fixes in test-suite * test-suite: handle format with filename.c not existing * sparse: ignore indirect_branch attribute Uwe Kleine-König (4): * build: remove version.h in clean target * cgcc: teach cgcc about GNU/kFreeBSD * compile-i386: Use SPARSE_VERSION instead of __DATE__ * cgcc: provide __ARM_PCS_VFP for armhf