* Tue Jan 26 2021 Martin Pluskal <mpluskal@suse.com>
- Update to version 0.6.3:
* For full list of changes see:
https://sparse.docs.kernel.org/en/latest/release-notes/v0.6.3.html
- Drop upstreamed patches:
* 0001-gensel-remove-unneeded-test-uninitialized-warning.patch
* 0002-generic-fix-missing-inlining-of-generic-expression.patch
* 0004-sindex.1-Use-for-a-plain-quote-char.patch
* Fri Sep 25 2020 Jiri Slaby <jslaby@suse.com>
- add patches
* 0001-gensel-remove-unneeded-test-uninitialized-warning.patch
* 0002-generic-fix-missing-inlining-of-generic-expression.patch
* 0004-sindex.1-Use-for-a-plain-quote-char.patch
* Wed Sep 16 2020 Dirk Mueller <dmueller@suse.com>
- update to 0.6.2:
* use release tarballs
* changelog of 0.6.2 is available here:
https://sparse.docs.kernel.org/en/latest/release-notes/v0.6.2.html
* Tue Jun 09 2020 jslaby@suse.com
- Update to version 0.6.1+20200606:
* pre-process: fix a compiler array subscript type warning
* univ-init: set default to -Wno-universal-initializer
* univ-init: scalar initializer needs some additional checks
* evaluate: mark evaluate_generic_selection() as static
* add support for _Generic
* testsuite: add testcase for duplicated local definitions
* add an option to suppress warning 'no newline at EOF'
* univ-init: conditionally accept { 0 } without warnings
* bad-label: respect attribute((unused))
* bad-label: mark labels as used when needed
* bad-label: check for unused labels
* bad-goto: check declaration of label expressions
* bad-goto: extract check_label_declaration()
* bad-goto: label expression inside a statement expression is UB
* bad-goto: jumping inside a statement expression is an error
* scope: give a scope for labels & gotos
* build: fix LLVM version detection
* and much more
- Use latest llvm again as the detection is fixed
* Sat Apr 18 2020 Martin Pluskal <mpluskal@suse.com>
- Update to version 0.6.1+20200413:
* do not use expr->left for conditionals
* add support for GCC's __auto_type
* And plenty more
- Use llvm9 for building as llvm10 is not yet supported
* Thu Jan 30 2020 jslaby@suse.com
- Update to version 0.6.1+20200129:
* domtree: domtree_build() creates extraneous bb->doms entries
* predefine "i386" if needed
* correct sparcv9 defines
* pre-define __unix__ and friends
* add necessary defined for sunos-derived systems
* define __PRAGMA_REDEFINE_EXTNAME
* allow to easily test if the OS is UNIX-like
* detect OS_UNIX as native OS
* add predefine_nostd()
* show_parse: avoid null pointer dereference in do_show_type()
* ptrlist: fix typos
* fix testcase with non-constant initializer
* and much more
* Mon Nov 04 2019 jslaby@suse.com
- Update to version 0.6.1+20191101:
* .gitignore: alphasort the patterns
* Add '__' prefix and suffix to all __attribute__ #defines
* options: add support for -mcmodel
* options: add support for -fpic, -fPIC, -fpie & -fPIE
* Sparse v0.6.1
* doc: fix typo in binops' description
* "graph" segfaults on top-level asm
* llvm: fix sparsec breakage on recent cygwin version
* Thu Oct 10 2019 jslaby@suse.com
- Update to version 0.6.1rc2+20191007:
* expand more builtins like __builtin_ffs()
* make 'directive in argument list' clearer
* asm: warn on invalid empty constraints
* fix sign extension in casting enums
* remove useless optimization in cast_enum_list()
* add test for enum sign extension
* do not linearize invalid expression
* asm: arrays & functions in non-memory operand degenerate into pointers
* asm: fix missing expansion of asm statements
* asm: fix liveness memory operand
* asm: linearization of output memory operands is different
* asm: missing evaluation of asm statements
* asm: use parse_asm_constraint() to verify constraints
* asm: parse constraints
* asm: keep using struct asm_operand during linearization
* asm: use a specific struct for asm operands
* asm: check earlier that body & constraints are strings
* asm: add test evaluation, expansion & linearization of ASM operands
* string: use string_expression() in parse_static_assert()
* string: add helper string_expression()
* dissect: fix processing of ASM statements
* and more...
* Wed Jul 31 2019 jslaby@suse.com
- Update to version 20190404:
* fix allowing casts of AS pointers to uintptr_t
* man: explain role of uintptr_t & unsigned long in casts from AS pointers
* also accept casts of AS pointers to uintptr_t
* evaluate: externally_visible functions don't need a declaration
* expand: add explanation to 'conservative'
* expand: 'conservative' must not bypass valid simplifications
* Sparse v0.6.1-rc1
* remove confusing intermediate 'where' in evaluate_assignment()
* display extra info for type errors in compare & conditional
* cgcc: use strict & warnings
* cgcc: add support for x86-x32
* cgcc: favor using 'gcc -dumpmachine' to determine specifics
* cgcc: simpler handling of hard-float ARM
* cgcc: add pseudo-archs for ppc64be/ppc64le
* and a lot more...
- remove use-clang-for-sparse-llvm.patch (unneeded now)
* Wed May 08 2019 olaf@aepfle.de
- Install pkgconfig into libdir instead of datadir
* Wed Apr 18 2018 mpluskal@suse.com
- Run spec-clener
- Build llvm based parts only on x86_64
* Tue Apr 17 2018 mwilck@suse.com
- Update to version 20180324:
* Sparse v0.5.2
* Fri Mar 23 2018 dsterba@suse.cz
- Update to version 20180303:
* bump up version to 0.5.2-RC1
* By default disable the warning flag '-Wunknown-attribute'
* Update gcc attribute list
* sparse: ignore indirect_branch attribute
* add __builtin functions for isinf_sign, isfinite and isnan
* fix cgcc ELF version for ppc64/pcc64le
* Sparse preprocessing bug with zero-arg variadic macros
* gcc attr: add nonstring warn_if_not_aligned
* Sparse v0.5.1
* test-inspect: Detect gtk3 then gtk2 package
* Makefile: pass -Wno-vla to sparse while checking pre-process.c
* lib: workaround the 'redeclared with different type' errors
* Adding _Pragma()
* Adding gcc attribute no_gccisr
* cgcc: teach cgcc about arm
* cgcc: teach cgcc about ppc64[le]
* cgcc: teach cgcc about arm64
* add support for -fmemcpy-max-count
* add support for -Wmemcpy-max-count
* cgcc: filter-out '-fdump-linearize[=...]'
* teach sparse how to handle '-fmem-report'
* sparse: add support for _Static_assert
* constexpr: flag __builtin_bswap() as constexpr
* teach sparse about -Waddress
* make -Wbitwise operational again
- Removed patch parse-add-support-for-no_sanitize_-attributes.patch
(implemented upstream)
* Wed Apr 26 2017 jslaby@suse.com
- Update to version 20170216:
* kill_instruction() may need to be forced or not
* add killing of pure calls
* fix killing OP_CALL via pointers
* add killing of non-volatile loads
* add killing of stores
* fix killing of rewritten loads
* use kill_instruction() when killing an OP_PHI during CSE
* use kill_instruction() when killing any instructions during CSE
* fix OP_PHI usage in try_to_simplify_bb()
* simplify float-to-float casts that doesn't change size
- add: use-clang-for-sparse-llvm.patch
It fixes build on llvm 4.
* Fri Feb 03 2017 mpluskal@suse.com
- Update to version 20161117 (boo#1023536):
* .gitignore: add cscope and Qt project files
* Add default case to switches on enum variables
* Fix size calculation of unsized bool array
* Do not drop 'nocast' modifier when taking the address.
* Fix warning compiling sparse-llvm
* sparse: add 'alloc_align' to the ignored attributes
* sparse: ignore __assume_aligned__ attribute
* sparse: add no_sanitize_address as an ignored attribute
* Handle SForced in storage_modifiers
* sparse: update __builtin_object_size() prototype
- Change _service to disabled to preven accidentally running it
- Switch back to naming based on date only
* Thu Aug 04 2016 jslaby@suse.com
- Switch to the chrisl's repo
- Update to version 0.5+git.20160223:
* Ignore pure attribute in assignement
* Add tests for the builtin INF and nan() functions.
* sparse/parse.c: ignore hotpatch attribute
* sparse, llvm: compile: skip function prototypes to avoid SIGSEGV
* validation/prototype: regression for skipping prototypes
* ptrlist: reading deleted items in NEXT_PTR_LIST()
* .gitignore: add cscope and Qt project files
* Add default case to switches on enum variables
* Fix size calculation of unsized bool array
* Do not drop 'nocast' modifier when taking the address.
- add parse-add-support-for-no_sanitize_-attributes.patch
* Sun May 08 2016 mpluskal@suse.com
- Change versioning to include latest release - 0.5+git.20150208
- Enable sparse-llvm
- Update dependencies
- Small spec file cleanup with spec-cleaner
- Make building more verbose
* Fri Oct 09 2015 jslaby@suse.com
- update to 20150124
* Teach sparse about the __COUNTER__ predefined macro
* Make macro expanded string immutable
* s390x: add the proper defines for data types
* Wed Jan 14 2015 jslaby@suse.com
- update to 20141211
* Ptr list sorting should use memmove instead of memcpy
* build: allow use of PKG_CONFIG to override pkg-config
* compile-i386.c: don't ignore return value of write(2)
* parse.c: remove duplicate 'may_alias' ignored_attributes
* cgcc: avoid passing a sparse-only option to cc
* test-suite: remove bashism to avoid test failures
* teach next_designators() use array_element_offset()
* cgcc: use $ccom to set $multiarch_dir if not specified
* cgcc: use only the cc command to determine $gcc_base_dir
* Add support for multiarch system header files
* don't run sparse{c,i} tests when sparse-llvm is disabled
* Makefile: suppress error message from shell
* don't call isdigit/tolower with a char argument
* sparse: add 'gnu_inline' to the ignored attributes
* Add the __restrict__ keyword
* sparse: treat function pointers as pointers to const data
* rename -Werror to -Wsparse-error
* sparse: Make -Werror turn warnigns into errors
* Use LLVM_CONFIG instead of llvm-config in Makefile
* sparse-llvm: Fix LLVM 3.5 linker errors
* Fix initializers in anonymous structs and unions
* Make same_symbol list share the same scope
* Fix scoping of extern symbols in block scope
* round up the array element size to byte align
* sparse: make bits_to_bytes round up instead of down
* Minor clean up for option handling
* lib.c: skip --param parameters
* parse: support c99 [static ...] in abstract array declarators
* sparse{i,c}: use LLVM_CONFIG to find llc and lli
* build: allow use of LLVM_CONFIG to override llvm-config config script
* Fix error at anoymous unions
* Add test case for the ioc type check
* Add test case for anonymous union initializer
* Add test case for extern array
* Use any previous initializer to size a symbol
* Add warning about duplicate initializers
* Support GCC's transparent unions
* evaluate: split out implementation of compatible_assignment_types
* validation/sizeof-bool: fix broken test case
* sparse: Allow override of sizeof(bool) warning
* Define __CHAR_BIT__
* Thu May 15 2014 danny.al-gaaf@bisect.de
- change License to new MIT
- update to latest git version 20140128 (sparse verion 0.5.0)
- Sparse 0.5.0
- Fix make dist failure
- sparse: add built-in atomic memory access identifiers
- gitignore: add 'version.h'
- Update the information in README about using the library.
- sparse: Also check bit_offset when checking implicit casts
- FAQ: Remove outdated sections about the license
- sparse: Relicense under the MIT license
- Revert "Fix mistaken comparison that becomes a no-op."
- Revert "Update the information in README about using the
library."
- sparse: add __builtin_va_arg_pack() and
__builtin_va_arg_pack_len()
- Fix expression type for floating point negation ('!')
- Fix result type of relational and logical operators
- symbol.c: Set correct size of array from parenthesized
string initializer
- sparse, llvm: die if error
- sparse, llvm: set more data attributes
- sparse, llvm: fix struct name generation
- sparse, llvm: cache symbol_type() result
- sparse, llvm: fix array size
- sparse, llvm: use LLVM_DEFAULT_TARGET_TRIPLE
- sparse, llvm: Use LLVM_HOSTTRIPLE
- sparse, llvm: set target specification
- sparse, llvm: improve pointer arithmetic handling
- sparse, llvm: add a struct access test case
- sparse, llvm: base load/store address type on
insn_symbol_type()
- sparse, llvm: de-duplicate load/store address calculation code
- sparse, llvm: Fix resulting type of store address calculations
- sparse, llvm: simplify function generation
- sparse, llvm: fix phi generation
- char.c: Fix parsing of escapes
- Trivial: Remove redundant Makefile variable
- sparse, llvm: fix link errors
- fix SIGFPE caused by signed division overflow
- Novafora license grant using MIT license.