Hello community, here is the log from the commit of package sparse for openSUSE:Factory checked in at 2017-02-08 11:04:09 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/sparse (Old) and /work/SRC/openSUSE:Factory/.sparse.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "sparse" Changes: -------- --- /work/SRC/openSUSE:Factory/sparse/sparse.changes 2016-08-05 18:17:55.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.sparse.new/sparse.changes 2017-02-08 11:04:10.868808439 +0100 @@ -1,0 +2,17 @@ +Fri Feb 3 19:15:38 UTC 2017 - [email protected] + +- 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 + +------------------------------------------------------------------- Old: ---- sparse-0.5+git.20160223.tar.xz New: ---- sparse-20161117.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ sparse.spec ++++++ --- /var/tmp/diff_new_pack.1uezFZ/_old 2017-02-08 11:04:11.268752680 +0100 +++ /var/tmp/diff_new_pack.1uezFZ/_new 2017-02-08 11:04:11.272752123 +0100 @@ -1,7 +1,7 @@ # # spec file for package sparse # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: sparse -Version: 0.5+git.20160223 +Version: 20161117 Release: 0 Summary: A semantic parser of source files License: MIT @@ -25,18 +25,12 @@ Url: https://sparse.wiki.kernel.org/index.php/Main_Page Source: sparse-%{version}.tar.xz Patch0: parse-add-support-for-no_sanitize_-attributes.patch -BuildRequires: gcc BuildRequires: gcc-c++ -BuildRequires: make BuildRequires: ncurses-devel BuildRequires: pkgconfig -BuildRequires: xz BuildRequires: pkgconfig(gtk+-2.0) BuildRequires: pkgconfig(libxml-2.0) -Provides: %{name} = 20150204 -Obsoletes: %{name} = 20150204 -BuildRoot: %{_tmppath}/%{name}-%{version}-build -%if 0%{?suse_version} > 1320 +%if 0%{?suse_version} > 1320 || 0%{?is_opensuse} BuildRequires: llvm-devel %endif @@ -111,7 +105,7 @@ %{_mandir}/man1/cgcc.1%{ext_man} %{_mandir}/man1/sparse.1%{ext_man} -%if 0%{?suse_version} > 1320 +%if 0%{?suse_version} > 1320 || 0%{?is_opensuse} %files llvm %defattr(-,root,root) %{_bindir}/sparsec ++++++ _service ++++++ --- /var/tmp/diff_new_pack.1uezFZ/_old 2017-02-08 11:04:11.304747662 +0100 +++ /var/tmp/diff_new_pack.1uezFZ/_new 2017-02-08 11:04:11.304747662 +0100 @@ -1,14 +1,14 @@ <services> - <service mode="localonly" name="tar_scm"> + <service mode="disabled" name="tar_scm"> <param name="url">git://git.kernel.org/pub/scm/devel/sparse/chrisl/sparse.git</param> <param name="scm">git</param> <param name="changesgenerate">enable</param> <param name="filename">sparse</param> - <param name="versionformat">0.5+git.%cd</param> + <param name="versionformat">%cd</param> </service> - <service mode="localonly" name="recompress"> + <service mode="disabled" name="recompress"> <param name="file">*.tar</param> <param name="compression">xz</param> </service> - <service mode="localonly" name="set_version"/> + <service mode="disabled" name="set_version"/> </services> ++++++ sparse-0.5+git.20160223.tar.xz -> sparse-20161117.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sparse-0.5+git.20160223/Makefile new/sparse-20161117/Makefile --- old/sparse-0.5+git.20160223/Makefile 2016-08-04 15:37:01.000000000 +0200 +++ new/sparse-20161117/Makefile 2016-11-16 23:49:11.000000000 +0100 @@ -84,7 +84,7 @@ LLVM_PROGS := sparse-llvm $(LLVM_PROGS): LD := g++ LLVM_LDFLAGS := $(shell $(LLVM_CONFIG) --ldflags) -LLVM_CFLAGS := $(shell $(LLVM_CONFIG) --cflags | sed -e "s/-DNDEBUG//g") +LLVM_CFLAGS := $(shell $(LLVM_CONFIG) --cflags | sed -e "s/-DNDEBUG//g" | sed -e "s/-pedantic//g") LLVM_LIBS := $(shell $(LLVM_CONFIG) --libs) LLVM_LIBS += $(shell $(LLVM_CONFIG) --system-libs 2>/dev/null) PROGRAMS += $(LLVM_PROGS) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sparse-0.5+git.20160223/lib.c new/sparse-20161117/lib.c --- old/sparse-0.5+git.20160223/lib.c 2016-08-04 15:37:01.000000000 +0200 +++ new/sparse-20161117/lib.c 2016-11-16 23:49:11.000000000 +0100 @@ -888,7 +888,7 @@ add_pre_buffer("extern long double __builtin_nanl(const char *);\n"); /* And some __FORTIFY_SOURCE ones.. */ - add_pre_buffer ("extern __SIZE_TYPE__ __builtin_object_size(void *, int);\n"); + add_pre_buffer ("extern __SIZE_TYPE__ __builtin_object_size(const void *, int);\n"); add_pre_buffer ("extern void * __builtin___memcpy_chk(void *, const void *, __SIZE_TYPE__, __SIZE_TYPE__);\n"); add_pre_buffer ("extern void * __builtin___memmove_chk(void *, const void *, __SIZE_TYPE__, __SIZE_TYPE__);\n"); add_pre_buffer ("extern void * __builtin___mempcpy_chk(void *, const void *, __SIZE_TYPE__, __SIZE_TYPE__);\n"); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sparse-0.5+git.20160223/parse.c new/sparse-20161117/parse.c --- old/sparse-0.5+git.20160223/parse.c 2016-08-04 15:37:01.000000000 +0200 +++ new/sparse-20161117/parse.c 2016-11-16 23:49:11.000000000 +0100 @@ -105,7 +105,7 @@ }; enum { - CInt = 0, CSInt, CUInt, CReal, CChar, CSChar, CUChar + CInt = 0, CSInt, CUInt, CReal, CChar, CSChar, CUChar, CMax, }; enum { @@ -504,12 +504,16 @@ const char *ignored_attributes[] = { "alias", "__alias__", + "alloc_align", + "__alloc_align__", "alloc_size", "__alloc_size__", "always_inline", "__always_inline__", "artificial", "__artificial__", + "assume_aligned", + "__assume_aligned__", "bounded", "__bounded__", "cdecl", @@ -603,6 +607,8 @@ "__warning__", "weak", "__weak__", + "no_sanitize_address", + "__no_sanitize_address__", }; @@ -1275,7 +1281,7 @@ static unsigned long storage_modifiers(struct decl_state *ctx) { - static unsigned long mod[] = + static unsigned long mod[CMax] = { [SAuto] = MOD_AUTO, [SExtern] = MOD_EXTERN, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sparse-0.5+git.20160223/token.h new/sparse-20161117/token.h --- old/sparse-0.5+git.20160223/token.h 2016-08-04 15:37:01.000000000 +0200 +++ new/sparse-20161117/token.h 2016-11-16 23:49:11.000000000 +0100 @@ -230,7 +230,7 @@ extern void show_identifier_stats(void); extern struct token *preprocess(struct token *); -static inline int match_op(struct token *token, int op) +static inline int match_op(struct token *token, unsigned int op) { return token->pos.type == TOKEN_SPECIAL && token->special == op; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sparse-0.5+git.20160223/validation/alloc-align.c new/sparse-20161117/validation/alloc-align.c --- old/sparse-0.5+git.20160223/validation/alloc-align.c 1970-01-01 01:00:00.000000000 +0100 +++ new/sparse-20161117/validation/alloc-align.c 2016-11-16 23:49:11.000000000 +0100 @@ -0,0 +1,38 @@ +typedef unsigned long int size_t; + +/* + * The alloc_align attribute is used to tell the compiler that the return + * value points to memory, where the returned pointer minimum alignment is given + * by one of the functions parameters. GCC uses this information to improve + * pointer alignment analysis. + * + * The function parameter denoting the allocated alignment is specified by one + * integer argument, whose number is the argument of the attribute. Argument + * numbering starts at one. + * + * For instance, + * + * void* my_memalign(size_t, size_t) __attribute__((alloc_align(1))) + * + * declares that my_memalign returns memory with minimum alignment given by + * parameter 1. + */ + +#define __alloc_align(x) __attribute__((__alloc_align__(x))) + +/* + * The aligned_alloc function allocates space for an object whose alignment is + * specified by alignment, whose size is specified by size, and whose value is + * indeterminate. The value of alignment shall be a valid alignment supported + * by the implementation and the value of size shall be an integral multiple + * of alignment. + * + * The aligned_alloc function returns either a null pointer or a pointer to the + * allocated space. + */ +void *aligned_alloc(size_t alignment, size_t size) __alloc_align(1); + + +/* + * check-name: attribute __alloc_align__ + */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sparse-0.5+git.20160223/validation/attr-no_sanitize_address.c new/sparse-20161117/validation/attr-no_sanitize_address.c --- old/sparse-0.5+git.20160223/validation/attr-no_sanitize_address.c 1970-01-01 01:00:00.000000000 +0100 +++ new/sparse-20161117/validation/attr-no_sanitize_address.c 2016-11-16 23:49:11.000000000 +0100 @@ -0,0 +1,9 @@ +#define __no_sanitize_address __attribute__((no_sanitize_address)) + +static void __no_sanitize_address bar(void) +{ +} + +/* + * check-name: attribute no_sanitize_address + */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sparse-0.5+git.20160223/validation/attr_aligned.c new/sparse-20161117/validation/attr_aligned.c --- old/sparse-0.5+git.20160223/validation/attr_aligned.c 1970-01-01 01:00:00.000000000 +0100 +++ new/sparse-20161117/validation/attr_aligned.c 2016-11-16 23:49:11.000000000 +0100 @@ -0,0 +1,6 @@ +void *foo(void) __attribute__((__assume_aligned__(4096))); +void *foo(void) __attribute__((assume_aligned(4096))); +/* + * check-name: attribute assume_aligned + */ +
