aboutsummaryrefslogtreecommitdiffstatshomepage
AgeCommit message (Expand)AuthorFilesLines
2020-10-05evaluate: check variadic argument types against format stringformat-checkBen Dooks13-9/+553
2020-10-05parse: initial parsing of __attribute__((format))Ben Dooks3-4/+89
2020-10-05tests: add varargs printf format testsBen Dooks7-0/+302
2020-10-05add helper get_nth_expression()Luc Van Oostenryck1-0/+5
2020-10-04add builtin types for size_t*, intmax_t* & ptrdiff_t*Luc Van Oostenryck2-0/+9
2020-10-04add builtin types for signed char* and short *Luc Van Oostenryck2-0/+4
2020-10-04add builtin type for wide stringsLuc Van Oostenryck2-0/+9
2020-09-07Merge branch 'linear-fma' into nextLuc Van Oostenryck5-2/+57
2020-09-07builtin: teach sparse to linearize __builtin_fma()Luc Van Oostenryck2-0/+39
2020-09-07builtin: add declaration for __builtin_fma{,f,l}()Luc Van Oostenryck1-0/+3
2020-09-07builtin: allow linearization to failLuc Van Oostenryck1-2/+5
2020-09-07add support for a new instruction: OP_FMADDLuc Van Oostenryck3-0/+10
2020-09-07Merge branch 'replace-with-val' into nextLuc Van Oostenryck1-14/+15
2020-09-06testsuite: easier testing via script & makefileLuc Van Oostenryck1-2/+2
2020-09-05replace_with_{pseudo,value}() can be tail-callsLuc Van Oostenryck1-8/+4
2020-09-05use replace_with_value()Luc Van Oostenryck1-8/+8
2020-09-05add helper replace_with_value()Luc Van Oostenryck1-0/+5
2020-08-18Merge branch 'union-cast' into masterLuc Van Oostenryck7-20/+129
2020-08-18Merge branch 'pointer-arith' into masterLuc Van Oostenryck3-2/+175
2020-08-18Merge branch 'past-deep'Luc Van Oostenryck4-2/+12
2020-08-18Merge branch 'cleanup' into masterLuc Van Oostenryck1-2/+0
2020-08-18remove unneeded predeclaration of evaluate_cast()Luc Van Oostenryck1-2/+0
2020-08-17fix evaluate_ptr_add() when sizeof(offset) != sizeof(pointer)Luc Van Oostenryck3-2/+175
2020-08-17union-cast: teach sparse about union castsLuc Van Oostenryck7-3/+60
2020-08-17fix typo in warningLuc Van Oostenryck1-1/+1
2020-08-15union-cast: extract evaluate_compound_literal()Luc Van Oostenryck1-19/+22
2020-08-15union-cast: add some testcasesLuc Van Oostenryck2-0/+49
2020-08-12Merge branch 'doc-next'Luc Van Oostenryck7-21/+51
2020-08-12Merge branch 'fix-scalar'Luc Van Oostenryck2-0/+15
2020-08-11fix is_scalar_type(): fouled types are scalars tooLuc Van Oostenryck2-0/+15
2020-08-11Merge branch 'force-to-0' into masterLuc Van Oostenryck1-1/+5
2020-08-11bug-assign-op0.c: fix test on 32-bit buildsRamsay Jones1-5/+5
2020-08-10doc: add links to some external docLuc Van Oostenryck1-0/+5
2020-08-10doc: use shorter titlesLuc Van Oostenryck4-9/+9
2020-08-10doc: reorganize the table of contentLuc Van Oostenryck1-8/+8
2020-08-10doc: move down info about tarballs, after git repositoriesLuc Van Oostenryck1-3/+2
2020-08-10doc: decrease vertical spacingLuc Van Oostenryck1-0/+13
2020-08-10doc: make the sidebar more compactLuc Van Oostenryck1-0/+4
2020-08-10doc: use a smaller logo in the sidebarLuc Van Oostenryck2-1/+10
2020-08-09Merge branches 'attr-asm' and 'storage-mod'Luc Van Oostenryck3-222/+143
2020-08-09Merge branch 'doc-annot'Luc Van Oostenryck6-66/+113
2020-08-09parse: simplify set_storage_class()Luc Van Oostenryck1-5/+2
2020-08-09parse: improve error messages concerning storage specifiersLuc Van Oostenryck1-5/+4
2020-08-09parse: let asm_modifier() use the keyword modifierLuc Van Oostenryck2-14/+4
2020-08-09parse: associate modifiers with their keywordLuc Van Oostenryck2-110/+48
2020-08-09parse: rework handling of storage_classLuc Van Oostenryck2-50/+25
2020-08-09Merge branch 'empty-char' into nextLuc Van Oostenryck4-6/+28
2020-08-09force to 0 expressions which are erroneously non-constantLuc Van Oostenryck1-1/+5
2020-08-09Merge branch 'check-void' into tipLuc Van Oostenryck1-1/+1
2020-08-09fix checking if type is voidLuc Van Oostenryck1-1/+1
2020-08-08Merge branch 'wstring-init' into nextLuc Van Oostenryck5-10/+89
2020-08-08warning: conditionalize "advancing past deep designator"Luc Van Oostenryck4-2/+12
2020-08-08Merge branch 'sync-cas' into nextLuc Van Oostenryck4-6/+93
2020-08-08Merge branch 'bad-shift-equal' into nextLuc Van Oostenryck12-87/+462
2020-08-08Merge branch 'prev-stream' into nextLuc Van Oostenryck3-1/+17
2020-08-08wstring: call is_string_type() only when neededLuc Van Oostenryck1-3/+2
2020-08-08wstring: extend is_string_type() to also detect wide stringsLuc Van Oostenryck2-2/+4
2020-08-08wstring: add helper is_wchar_type()Luc Van Oostenryck1-0/+7
2020-08-08wstring: add support for examination of string initializationLuc Van Oostenryck1-0/+25
2020-08-08wstring: add support for checking size in string initializerLuc Van Oostenryck3-2/+47
2020-08-08wstring: add support for evaluation of wide stringLuc Van Oostenryck1-4/+5
2020-08-07add builtin support for __sync_{bool,val}_compare_and_swap()Luc Van Oostenryck2-3/+58
2020-08-07export evaluate_arguments()Luc Van Oostenryck2-4/+10
2020-08-07add testcases for __sync_{bool,val}_compare_and_swap()Luc Van Oostenryck1-0/+26
2020-08-06bad-shift: wait dead code elimination to warn about bad shiftsLuc Van Oostenryck8-83/+78
2020-08-06shift-assign: restrict shift count to unsigned intLuc Van Oostenryck2-1/+5
2020-08-06shift-assign: fix linearization of shift-assignLuc Van Oostenryck4-11/+13
2020-08-06shift-assign: add more testcases for bogus linearizationLuc Van Oostenryck2-0/+374
2020-08-05sindex: rename it to 'semind'Alexey Gladkov4-195/+195
2020-08-01sindex.1: Use ' for a plain quote charUwe Kleine-König1-2/+2
2020-08-01fix build on Hurd which doesn't define PATH_MAXLuc Van Oostenryck2-4/+4
2020-07-31Merge branch 'array-decl'Luc Van Oostenryck5-38/+57
2020-07-31Merge branch 'attr-parsing'Luc Van Oostenryck1-19/+3
2020-07-31Merge branch 'doc-misc'Luc Van Oostenryck3-5/+5
2020-07-31Merge branch 'undef-option'Luc Van Oostenryck1-0/+6
2020-07-30sindex: allow indexing outside the project treeAlexey Gladkov1-4/+17
2020-07-30dissect: support _Generic() a bit moreOleg Nesterov1-1/+11
2020-07-30fix diagnostic source path from command lineLuc Van Oostenryck2-0/+13
2020-07-29fix stream_prev() for invalid (negative) streamLuc Van Oostenryck1-1/+4
2020-07-29dissect: use struct symbol::visited/inspected instead of ::examined/evaluatedLuc Van Oostenryck2-6/+7
2020-07-29dissect: add support for _GenericAlexey Gladkov1-0/+1
2020-07-27xtensa: fix configuration of endiannessLuc Van Oostenryck1-5/+0
2020-07-27remove unsed field for EXPR_GENERICLuc Van Oostenryck1-1/+0
2020-07-25keyword type is a bitmask and must be tested soLuc Van Oostenryck1-1/+1
2020-07-25attribute: simplify parsing of attributesLuc Van Oostenryck1-19/+3
2020-07-25testing for sym->op is unneeded for lookup_keyword()Luc Van Oostenryck1-1/+1
2020-07-25testing for SYM_KEYWORD is unneeded for lookup_keyword()Luc Van Oostenryck1-4/+2
2020-07-25attribute: no need to lookup '__attribute__' in NS_KEYWORDLuc Van Oostenryck1-1/+1
2020-07-25attribute: factorize matching of '__attribute__'Luc Van Oostenryck1-19/+16
2020-07-25attribute: directly use attribute_specifier() to handle attributesLuc Van Oostenryck1-1/+1
2020-07-25attribute: remove argument 'keywords' from handle_attributes()Luc Van Oostenryck1-13/+12
2020-07-25attribute: fold parse_asm_declarator() into handle_asm_name()Luc Van Oostenryck1-12/+8
2020-07-25attribute: split handle_asm_name() from handle_attributes()Luc Van Oostenryck1-3/+18
2020-07-25use lookup_keyword() for qualifiersLuc Van Oostenryck1-1/+1
2020-07-25option: accept 'sparse -U ...'Luc Van Oostenryck1-0/+6
2020-07-25doc: do not display bugzilla's URL, it's too longLuc Van Oostenryck1-2/+2
2020-07-25doc: use https URLsLuc Van Oostenryck1-2/+2
2020-07-25manpage: replace homepage to sparse.docs.kernel.orgLuc Van Oostenryck2-2/+2
2020-07-25show-mod: no extra space when showing modifiers + identLuc Van Oostenryck1-1/+1
2020-07-25show-mod: no ending space when showing a single modifierLuc Van Oostenryck1-1/+1
2020-07-25show-mod: add helper to show the modifiers but without ending spaceLuc Van Oostenryck2-1/+18
2020-07-25generic: fix missing inlining of generic expressionLuc Van Oostenryck2-0/+18
2020-07-23allow [*] in array declaratorsLuc Van Oostenryck2-2/+6
2020-07-23remove now unused match_idents()Luc Van Oostenryck1-18/+0
2020-07-23simplify & fix parsing of array declaratorsLuc Van Oostenryck3-20/+11
2020-07-23add testcases for C99 array declaratorsLuc Van Oostenryck2-0/+31
2020-07-23do not accept comma expressions in array declaratorLuc Van Oostenryck2-2/+1
2020-07-23add testcase for comma in array declaratorLuc Van Oostenryck1-0/+12
2020-07-22doc: shorter title for "submitting-patches.md"Luc Van Oostenryck1-2/+2
2020-08-03doc: remove link "edit on github"Luc Van Oostenryck1-0/+11
2020-08-03doc: add index to the sidebarLuc Van Oostenryck1-0/+8
2020-08-03doc: simplify the toctreeLuc Van Oostenryck1-21/+7
2020-08-03doc: replace nocast-vs-bitwise document with its lore linkLuc Van Oostenryck2-44/+0
2020-08-03doc: document the sparse's extensionsLuc Van Oostenryck2-0/+86
2020-07-22add position to struct streamLuc Van Oostenryck5-12/+16
2020-07-22delay 'empty character constant' warning to phase 5Luc Van Oostenryck4-6/+28
2020-07-19prepend diagnostics with source's path and include chainLuc Van Oostenryck6-17/+103
2020-07-18Merge branch 'error-inval-num'Luc Van Oostenryck5-2/+20
2020-07-18Merge branch 'empty-expr'Luc Van Oostenryck5-2/+32
2020-07-18Merge branch 'arch'Luc Van Oostenryck27-65/+726
2020-07-16predefine: let predefine_width() take the usual interfaceLuc Van Oostenryck1-3/+3
2020-07-15syntax errors in numbers are not fatalLuc Van Oostenryck1-1/+4
2020-07-14Merge branch 'keyword-tbl'Luc Van Oostenryck1-154/+132
2020-07-14Merge branch 'assert-opt-msg'Luc Van Oostenryck2-8/+21
2020-07-14Merge branch 'bad-shift-assign'Luc Van Oostenryck1-0/+115
2020-07-14warn on empty initializationsLuc Van Oostenryck2-2/+4
2020-07-14warn on empty assignmentsLuc Van Oostenryck3-2/+6
2020-07-14add testcase for incorrect empty expressionsLuc Van Oostenryck2-0/+24
2020-07-14x86-x32: fix it by defining a separate target for itLuc Van Oostenryck3-3/+41
2020-07-14arch: allow target specific [u]intptr_t & ptrdiff_tLuc Van Oostenryck8-6/+23
2020-07-14predefine: teach sparse about __SIG_ATOMIC_TYPE__Luc Van Oostenryck3-0/+3
2020-07-14arch: add predefines __INT_FAST${N}_TYPE__Luc Van Oostenryck17-1/+146
2020-07-14arch: add predefines __INT_LEAST${N}_TYPE__Luc Van Oostenryck4-0/+27
2020-07-13ppc: add predefines __LONGDOUBLE128 & __LONG_DOUBLE_128__Luc Van Oostenryck1-0/+4
2020-07-13alpha: has 64-bit long double & int128Luc Van Oostenryck1-0/+3
2020-07-13sparc: add 'sparcv8' predefines for sparc32Luc Van Oostenryck1-3/+16
2020-07-13Merge branches 'march', 'endianness', 'os' and 'arch-mini' into archLuc Van Oostenryck20-49/+460
2020-07-13fix evaluation error with assignment of qualified arraysLuc Van Oostenryck3-4/+2
2020-07-13openrisc: add minimal supportLuc Van Oostenryck5-0/+31
2020-07-13sh: add minimal supportLuc Van Oostenryck5-0/+33
2020-07-13nds32: add minimal supportLuc Van Oostenryck5-0/+33
2020-07-13xtensa: add minimal supportLuc Van Oostenryck5-0/+36
2020-07-13h8300: add minimal supportLuc Van Oostenryck5-0/+32
2020-07-13target: keep tables sortedLuc Van Oostenryck1-4/+4
2020-07-13arm: fix int32_t & uint32_t on bare-metal.Luc Van Oostenryck1-0/+9
2020-07-13cgcc: remove now unneeded options & definesLuc Van Oostenryck1-24/+8
2020-07-13cygwin: add the predefines '__cdecl', ...Luc Van Oostenryck1-0/+9
2020-07-13arch: add predefines for OS identificationLuc Van Oostenryck1-0/+19
2020-07-13sparc: char are unsigned on SolarisLuc Van Oostenryck1-0/+2
2020-07-13x86: fixes types for NetBSD & OpenBSDLuc Van Oostenryck1-0/+11
2020-07-13predefine: no __unix__ for DarwinLuc Van Oostenryck1-1/+1
2020-07-13predefine: add __linux__ & __linuxLuc Van Oostenryck1-1/+7
2020-07-13arch: add an option to specify the OS: --os=$OSLuc Van Oostenryck5-0/+52
2020-07-11teach sparse about -fmax-errorsLuc Van Oostenryck4-1/+16
2020-07-10add testcase for missing warning for assignment to constLuc Van Oostenryck1-0/+29
2020-07-10add another testcase with const array/pointerLuc Van Oostenryck1-0/+50
2020-07-09add a testcase for assignment to const <type> (*)[]Luc Van Oostenryck1-0/+7
2020-07-09x86: reorg the target fileLuc Van Oostenryck1-17/+35
2020-07-08keyword: use some macros to avoid duplicationLuc Van Oostenryck1-125/+98
2020-07-08keyword: reorder the keywordsLuc Van Oostenryck1-38/+34
2020-07-08keyword: reorganize the keyword tableLuc Van Oostenryck1-139/+148
2020-07-08arm: add predefine __ARMEL__ or __ARMEB__Luc Van Oostenryck1-0/+5
2020-07-08arm64: add predefine for endiannessLuc Van Oostenryck1-0/+5
2020-07-08mips: add predefines __MIPSEL__ or __MIPSEB__ & friendsLuc Van Oostenryck1-0/+10
2020-07-08c2x: message in _Static_assert() is now optionalLuc Van Oostenryck2-8/+21
2020-07-08nios2: add non-trailing double underscore predefinesLuc Van Oostenryck1-2/+7
2020-07-08nios2: long double is 64-bitLuc Van Oostenryck1-0/+2
2020-07-08Merge branches 'predef-fix', 'predef-helper' and 'simplify-add-pre-buffer'Luc Van Oostenryck7-9/+39
2020-07-07riscv: add the predefines for the extensionsLuc Van Oostenryck1-0/+19
2020-07-08riscv: parse '-march=....'Luc Van Oostenryck2-0/+81
2020-07-08arch: teach sparse about the '-march' optionLuc Van Oostenryck2-0/+9
2020-07-06predef: simplify add_pre_buffer()Luc Van Oostenryck1-6/+3
2020-07-06predefine: avoid add_pre_buffer() for targetsLuc Van Oostenryck2-2/+2
2020-07-06predefine: add helper predefine_{strong,weak}()Luc Van Oostenryck2-0/+28
2020-07-06predefine: fix multi-token predefineLuc Van Oostenryck1-1/+1
2020-07-06predefine: add testcase for multi-token predefinesLuc Van Oostenryck1-0/+5
2020-07-06testsuite: add testcase for bogus linearization of >>= & /=Luc Van Oostenryck1-0/+115
2020-07-06arch: add minimal support for microblazeLuc Van Oostenryck5-0/+30
2020-07-06Merge branch 'options'Luc Van Oostenryck11-1374/+1429
2020-07-06cleanup: move hexval() to utils.cLuc Van Oostenryck4-19/+21
2020-07-06cleanup: move parsing helpers to parse.cLuc Van Oostenryck4-42/+40
2020-07-05test-inspect: reset locale after gtk_init()Davidson Francis1-0/+2
2020-07-05Merge branch 'sindex-uchar'Luc Van Oostenryck1-2/+5
2020-07-05sindex: avoid a warning with 'case -1:'Luc Van Oostenryck1-2/+5
2020-07-05Merge branch 'arch-asm-mem'Luc Van Oostenryck4-2/+32
2020-07-05Merge branch 'cleanup-compat'Luc Van Oostenryck2-46/+2
2020-07-04add memory asm constraint for S390Luc Van Oostenryck1-0/+13
2020-07-04add memory asm constraint for PPCLuc Van Oostenryck1-0/+13
2020-07-04add support for arch specific asm constraintsLuc Van Oostenryck2-2/+6
2020-07-04testsuite: add new flag '-p' to subcommand 'format'Luc Van Oostenryck1-0/+4
2020-07-04avoid multiple warnings when inlining undeclared callsLuc Van Oostenryck2-0/+23
2020-07-02cleanup: move predefines in a separate fileLuc Van Oostenryck4-221/+227
2020-07-02options: keep the options sortedLuc Van Oostenryck2-115/+120
2020-07-02options: move option parsing in a separate fileLuc Van Oostenryck5-1096/+1134
2020-07-02options: add a small helper: handle_switch_finalize()Luc Van Oostenryck1-2/+7
2020-07-02options: move declaration of tabstop out of "token.h"Luc Van Oostenryck2-1/+1
2020-07-02options: avoid spaces between function name and arguments listLuc Van Oostenryck1-17/+17
2020-07-02options: alphasort the handle_switch_[a-zA_Z]()Luc Van Oostenryck1-301/+299
2020-07-02options: move helpers upLuc Van Oostenryck1-43/+44
2020-07-02options: handle_onoff_switch() can handle any flags, not only warningsLuc Van Oostenryck1-18/+18