sparse - A semantic parser of source files

Property Value
Distribution openSUSE Leap 42.2
Repository openSUSE Update Oss all
Package name sparse
Package version 20161117
Package release 6.1
Package architecture x86_64
Package type rpm
Installed size 518.42 KB
Download size 146.39 KB
Official Mirror
Sparse is a semantic parser of source files: it's neither a compiler
(although it could be used as a front-end for one) nor is it a
preprocessor (although it contains as a part of it a preprocessing
It is meant to be a small - and simple - library.  Scanty and meager,
and partly because of that easy to use.  It has one mission in life:
create a semantic parse tree for some arbitrary user for further
analysis.  It's not a tokenizer, nor is it some generic context-free
parser.  In fact, context (semantics) is what it's all about - figuring
out not just what the grouping of tokens are, but what the _types_ are
that the grouping implies.
Sparse is primarily used in the development and debugging of the Linux


Package Version Architecture Repository
sparse-20141211-4.3.x86_64.rpm 20141211 x86_64 openSUSE Oss
sparse - - -


Name Value
/usr/bin/perl - - - -


Name Value
sparse = 20161117-6.1
sparse(x86-64) = 20161117-6.1


Type URL
Binary Package sparse-20161117-6.1.x86_64.rpm
Source Package sparse-20161117-6.1.src.rpm

Install Howto

Install sparse rpm package:

# zypper install sparse




2017-02-03 -
- 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
2016-08-04 -
- 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
2016-05-08 -
- 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
2015-10-09 -
- update to 20150124
* Teach sparse about the __COUNTER__ predefined macro
* Make macro expanded string immutable
* s390x: add the proper defines for data types
2015-01-14 -
- 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__

See Also

Package Description
sparse-devel-20161117-6.1.x86_64.rpm Devel files for sparse
sparse-inspect-20161117-6.1.x86_64.rpm Inspect binary from sparse
sparse-llvm-20161117-6.1.x86_64.rpm LLVM backed sparse
spec-cleaner-0.9.1-23.1.noarch.rpm .spec file cleaner
spec-cleaner-0.9.2-26.1.noarch.rpm .spec file cleaner
spec-cleaner-0.9.3-29.1.noarch.rpm .spec file cleaner
spec-cleaner-0.9.4-31.3.1.noarch.rpm .spec file cleaner
spec-cleaner-0.9.5-31.6.1.noarch.rpm .spec file cleaner
spec-cleaner-0.9.8-31.9.1.noarch.rpm .spec file cleaner
spec-cleaner-1.0.0-31.12.1.noarch.rpm .spec file cleaner
spec-cleaner-1.0.1-31.15.1.noarch.rpm .spec file cleaner
spec-cleaner-format_spec_file-0.9.1-23.1.noarch.rpm Binding replacing OBS service format_spec_file
spec-cleaner-format_spec_file-0.9.2-26.1.noarch.rpm Binding replacing OBS service format_spec_file
spec-cleaner-format_spec_file-0.9.3-29.1.noarch.rpm Binding replacing OBS service format_spec_file
spec-cleaner-format_spec_file-0.9.4-31.3.1.noarch.rpm Binding replacing OBS service format_spec_file