aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Expand)AuthorFilesLines
2017-11-04Makefile: provide CFLAGS for command line override.cflags-v3Christopher Li1-9/+9
2017-10-19sparse: document that -Wbitwise is defaultJacob Keller1-2/+2
2017-10-03fix cgcc ELF version for ppc64/pcc64leLuc Van Oostenryck1-3/+2
2017-10-03cgcc: provide __ARM_PCS_VFP for armhfUwe Kleine-König1-2/+9
2017-10-02compile-i386: Use SPARSE_VERSION instead of __DATE__Uwe Kleine-König1-1/+2
2017-10-02cgcc: teach cgcc about GNU/kFreeBSDUwe Kleine-König1-0/+3
2017-10-02build: remove version.h in clean targetUwe Kleine-König1-1/+1
2017-09-19compile-i386: make use of expression_list_size()Martin Kepplinger1-5/+1
2017-09-12build: disable sparse-llvm on non-x86Luc Van Oostenryck1-0/+4
2017-09-12compile-i386.c: fix a memory leak in sort_array()Martin Kepplinger1-0/+1
2017-08-31Sparse preprocessing bug with zero-arg variadic macrosAl Viro2-1/+7
2017-08-28Merge remote-tracking branch 'luc/constexpr-v4' into masterChristopher Li23-93/+649
2017-08-20gcc attr: add nonstring warn_if_not_alignedChristopher Li1-0/+2
2017-08-17Merge remote-tracking branch 'luc/master'Christopher Li0-0/+0
2017-08-17Sparse v0.5.1Luc Van Oostenryck1-1/+1
2017-08-17Sparse 0.5.1Christopher Li1-1/+1
2017-08-11Bump sparse's version to -rc5Luc Van Oostenryck1-1/+1
2017-08-11Merge remote-tracking branch 'luc/remove-singlestore-shortcut'Christopher Li4-37/+24
2017-08-11Remove single-store shortcutLuc Van Oostenryck2-38/+2
2017-08-10documentation: update email reference linkRandy Dunlap1-1/+1
2017-08-10test-inspect: Detect gtk3 then gtk2 packageChristopher Li1-7/+14
2017-08-10test-inspect: handle special case iter==NULLChristopher Li1-1/+2
2017-08-10Documents: project ideasChristopher Li1-0/+52
2017-08-10Adding document for sparse patch submit processChristopher Li1-0/+21
2017-08-09Adding gcc attribute noipa etcChristopher Li1-0/+2
2017-08-09Makefile: pass -Wno-vla to sparse while checking pre-process.cRamsay Jones1-1/+4
2017-08-09lib: workaround the 'redeclared with different type' errorsRamsay Jones2-2/+9
2017-08-09fix warnings report by selfcheckChristopher Li3-2/+4
2017-08-09Adding _Pragma()Christopher Li1-0/+1
2017-08-09Makefile: add selfcheck targetChristopher Li1-2/+12
2017-08-09Makefile: clean up and simplifyChristopher Li1-10/+8
2017-08-09Add test case for the wine dead loop bugChristopher Li1-0/+27
2017-08-09Merge remote-tracking branch 'luc/fix-type-bad-cond-expr-v2'Christopher Li4-0/+70
2017-08-09Merge remote-tracking branch 'luc/fix-nested-pseudo-users-deletion-v5'Christopher Li3-4/+18
2017-08-09Merge remote-tracking branch 'luc/fix-fuzzy-crashes-v3'Christopher Li13-26/+178
2017-08-09testsuite: add support for commands with timeoutLuc Van Oostenryck3-0/+23
2017-08-08mark pseudo users as deleted instead of removing themLuc Van Oostenryck1-2/+3
2017-08-08ptrlist: avoid iteration on NULL entriesLuc Van Oostenryck1-0/+4
2017-08-04ptrlist: add MARK_CURRENT_DELETEDLuc Van Oostenryck1-0/+8
2017-08-04ptrlist: adjust ptr_list_size for the new ->rm fieldLuc Van Oostenryck1-1/+1
2017-08-04ptrlist: add a counter for the number of removed elemnetsLuc Van Oostenryck1-1/+2
2017-08-04fix: give a type to bad cond expr with known conditionLuc Van Oostenryck2-0/+39
2017-08-04take comma expr in account for constant valueLuc Van Oostenryck2-0/+31
2017-07-31fix crash with sym->bb_target == NULLLuc Van Oostenryck2-1/+14
2017-07-31fix some crashes in add_dominators()Luc Van Oostenryck2-0/+24
2017-07-31fix crash in rewrite_branch()Luc Van Oostenryck2-1/+25
2017-07-31fix crash when ep->active is NULLLuc Van Oostenryck2-2/+19
2017-07-31fix BB dependencies on phi-nodesLuc Van Oostenryck1-16/+15
2017-07-31fix infinite simplification loopsLuc Van Oostenryck3-1/+29
2017-07-31fix ptrlist corruption while killing unreachable BBsLuc Van Oostenryck6-5/+52
2017-07-13Adding gcc attribute no_gccisrChristopher Li1-0/+1
2017-07-04bump sparse's version to 0.5.1-rc4Christopher Li1-1/+1
2017-07-04Add full list of gcc attributeChristopher Li2-104/+214
2017-07-04Let create_symbol check for previous same symbolChristopher Li4-8/+19
2017-06-23Adding ignored attribute optimizeChristopher Li2-2/+20
2017-06-21bump sparse's version to -rc3Luc Van Oostenryck1-1/+1
2017-06-21cgcc: teach cgcc about armLuc Van Oostenryck1-0/+5
2017-06-21cgcc: teach cgcc about ppc64[le]Luc Van Oostenryck1-0/+10
2017-06-21cgcc: teach cgcc about arm64Luc Van Oostenryck1-0/+5
2017-06-21teach sparse about __BYTE_ORDER__ & __ORDER_{BIG,LITTLE}_ENDIAN__Luc Van Oostenryck3-0/+12
2017-06-21teach sparse about __{BIG,LITTLE}_ENDIAN__Luc Van Oostenryck3-0/+25
2017-06-21teach sparse about -m{big,little}-endianLuc Van Oostenryck2-1/+15
2017-06-21dissect: use built_in_ident() instead of MK_IDENT()Luc Van Oostenryck2-14/+3
2017-06-21fix: __builtin_bswap{16,32,64}() constantnessLuc Van Oostenryck2-1/+9
2017-06-21add fallback for missing __builtin_bswapXX()Luc Van Oostenryck2-3/+58
2017-06-21fix: try_to_simplify_bb eargernessLuc Van Oostenryck2-0/+60
2017-06-21fix OP_PHI usage in try_to_simplify_bb() only when non-bogusLuc Van Oostenryck1-29/+9
2017-06-15fix: add missing examine in evaluate_dereference()Luc Van Oostenryck3-0/+39
2017-06-15add support for -fmemcpy-max-countLuc Van Oostenryck5-3/+30
2017-06-15add support for -Wmemcpy-max-countLuc Van Oostenryck5-2/+14
2017-06-15memcpy()'s byte count is unsignedLuc Van Oostenryck1-3/+3
2017-06-15cgcc: filter-out '-fdump-linearize[=...]'Luc Van Oostenryck1-0/+1
2017-06-15cgcc: add missing warning names to check_only_option()Luc Van Oostenryck1-1/+1
2017-06-15cgcc: alphasort warning names in check_only_option()Luc Van Oostenryck1-1/+1
2017-06-15keep the warnings table alphabetically sortedLuc Van Oostenryck1-1/+1
2017-06-14Merge branches 'quiets-bool-cast-restricted-v3', 'error-vs-warnings-v2', 'imp...Luc Van Oostenryck70-224/+1228
2017-06-13Add more declarations for more builtin functionsLuc Van Oostenryck1-0/+44
2017-06-10finer control over error vs. warningsLuc Van Oostenryck3-2/+10
2017-06-10use NULL instead of 0 in testcases.Luc Van Oostenryck1-3/+3
2017-06-08ret-void: warn for implicit typeLuc Van Oostenryck6-1/+41
2017-06-08ret-void: add test case for toplevel asmLuc Van Oostenryck1-0/+7
2017-05-28teach cgcc about OSX aka darwinLuc Van Oostenryck1-0/+3
2017-05-28testsuite: avoid fork+execing basenameLuc Van Oostenryck1-3/+4
2017-05-28testsuite: remove unneeded './' before commandsLuc Van Oostenryck22-22/+22
2017-05-28testsuite: use shell arithmetic instead of fork-execing exprLuc Van Oostenryck1-6/+6
2017-05-28testsuite: grep the output patterns only when neededLuc Van Oostenryck1-14/+19
2017-05-28testsuite: grep the expected output only when neededLuc Van Oostenryck1-6/+4
2017-05-28testsuite: get all tags in onceLuc Van Oostenryck1-34/+43
2017-05-19Merge branches 'dump-macros-v2', 'fix-predefined-size', 'fix-bool-context', '...Luc Van Oostenryck33-41/+663
2017-05-19let -dD report macro definitionsLuc Van Oostenryck5-0/+37
2017-05-19teach sparse how to handle -dD flagLuc Van Oostenryck2-0/+18
2017-05-19fix definition of __SCHAR_MAX__ & friendsLuc Van Oostenryck1-7/+10
2017-05-19avoid to redefine __INT_MAX__ and friendsLuc Van Oostenryck1-4/+0
2017-05-19fix hardcoded size of wide charsLuc Van Oostenryck3-2/+6
2017-05-19teach sparse how to dump macro definitionsLuc Van Oostenryck2-0/+56
2017-05-19define ident_listLuc Van Oostenryck1-0/+6
2017-05-19avoid warning on explicit 'bool <- restricted' castsLuc Van Oostenryck4-10/+21
2017-05-19more tests for implicit 'bool <- restricted' castsLuc Van Oostenryck1-1/+10
2017-05-19add support for a new flag: -fdump-linearize[=only]Luc Van Oostenryck4-0/+34
2017-05-19remove origval from struct access_dataLuc Van Oostenryck1-6/+0
2017-05-19remove alignment from struct access_dataLuc Van Oostenryck1-2/+1
2017-05-19fix implicit zero initializer.Luc Van Oostenryck4-0/+186
2017-05-19add test case for linearize_initializer() of bitfieldsLuc Van Oostenryck1-0/+27
2017-05-19remove bit_size & bit_offset from struct access_dataLuc Van Oostenryck1-8/+8
2017-05-19returns the correct type when evaluating NULLLuc Van Oostenryck1-1/+1
2017-05-19fix: kill old branch in insert_branch()Luc Van Oostenryck3-2/+24
2017-05-15testsuite: cleanup result filesLuc Van Oostenryck1-0/+1
2017-05-15use -fmem-report to report allocation statsLuc Van Oostenryck7-0/+18
2017-05-15teach sparse how to handle '-fmem-report'Luc Van Oostenryck2-4/+6
2017-05-15add helper handle_simple_switch()Luc Van Oostenryck1-0/+19
2017-05-15add show_allocation_stats()Luc Van Oostenryck3-0/+58
2017-05-15add get_<allocator>_stats()Luc Van Oostenryck2-0/+20
2017-05-12Merge branches 'quiets-bool-cast-restricted-v2', 'keyword-cleanup-v2', 'not-s...Luc Van Oostenryck10-94/+361
2017-05-12keyword: no pre-declaration needed for attribute namesLuc Van Oostenryck1-56/+0
2017-05-12keyword: add a comment about NS_TYPEDEF & reserved keywordsLuc Van Oostenryck1-0/+1
2017-05-12keyword: add more reserved keywords to the test caseLuc Van Oostenryck1-39/+135
2017-05-12keyword: explicitly add C99 & C11 keywordsLuc Van Oostenryck2-1/+28
2017-05-12keyword: regroup the [reserved] keywordsLuc Van Oostenryck1-4/+10
2017-05-12keyword: add test case for reserved '_Static_assert'Luc Van Oostenryck1-0/+2
2017-05-12sparse: add support for _Static_assertLance Richardson3-1/+116
2017-05-12fix missing reloadLuc Van Oostenryck4-1/+74
2017-05-12fix boolean context for OP_AND_BOOL & OP_OR_BOOLLuc Van Oostenryck3-4/+53
2017-05-12ignore VOID when trying to if-convert phi-nodesLuc Van Oostenryck2-6/+54
2017-05-12fix: kill unreachable BBs after killing a childLuc Van Oostenryck2-1/+26
2017-05-12let kill_unreachable_bbs() clear REPEAT_CFG_CLEANUPLuc Van Oostenryck1-0/+2
2017-05-12introduce REPEAT_CFG_CLEANUPLuc Van Oostenryck1-0/+1
2017-05-11avoid useless warning for 'bool <- restricted type' conversionLuc Van Oostenryck4-6/+31
2017-04-30Merge branches 'sent/float-expand-v2', 'sent/fix-kill-ttsb-v2', 'sent/fix-con...Luc Van Oostenryck10-5/+156
2017-04-30be more careful with concat_user_list()Luc Van Oostenryck1-1/+2
2017-04-01fix OP_PHI usage in try_to_simplify_bb(), correctlyLuc Van Oostenryck2-1/+69
2017-03-31avoid crash with test-linearize -vvLuc Van Oostenryck1-0/+2
2017-03-31constexpr: flag __builtin_bswap() as constexprLuc Van Oostenryck2-0/+40
2017-03-31give default return type in evaluate_call()Luc Van Oostenryck1-1/+1
2017-03-31return an error if too few argsLuc Van Oostenryck1-1/+3
2017-03-31constexpr: treat comparisons between types as integer constexprNicolai Stange3-7/+17
2017-03-31constexpr: support compound literals as address constantsNicolai Stange3-0/+23
2017-03-31constexpr: relax some constant expression rules for pointer expressionsNicolai Stange1-2/+27
2017-03-31constexpr: flag builtins constant_p, safe_p and warning as constexprsNicolai Stange1-4/+5
2017-03-31constexpr: examine constness of __builtin_offsetof at evaluation onlyNicolai Stange3-5/+27
2017-03-31constexpr: recognize references to labels as address constantsNicolai Stange2-0/+15
2017-03-31constexpr: recognize string literals as address constantsNicolai Stange2-0/+10
2017-03-31constexpr: recognize members of static compound objects as address constantsNicolai Stange2-0/+32
2017-03-31constexpr: recognize address constants created through pointer arithmeticNicolai Stange2-0/+35
2017-03-31constexpr: recognize address constants created through castsNicolai Stange2-0/+20
2017-03-31constexpr: recognize static objects as address constantsNicolai Stange3-1/+46
2017-03-31constexpr: check static storage duration objects' intializers' constnessNicolai Stange5-0/+82
2017-03-31constexpr: collect storage modifiers of initializersLuc Van Oostenryck1-6/+7
2017-03-31constexpr: rename handle_simple_initializer() to handle_initializer()Luc Van Oostenryck1-4/+4
2017-03-31constexpr: add support for tagging address constantsNicolai Stange2-1/+20
2017-03-31constexpr: add support for tagging arithmetic constant expressionsNicolai Stange1-10/+12
2017-03-31constexpr: examine constness of conditionals at evaluation onlyNicolai Stange3-12/+36
2017-03-31constexpr: examine constness of preops at evaluation onlyNicolai Stange3-7/+33
2017-03-31constexpr: examine constness of binops and alike at evaluation onlyNicolai Stange3-16/+39
2017-03-31constexpr: examine constness of casts at evaluation onlyNicolai Stange4-27/+61
2017-03-31constexpr: init flags at expression allocationNicolai Stange1-0/+2
2017-03-31constexpr: introduce additional expression constness tracking flagsNicolai Stange4-55/+118
2017-03-27fix expansion of integers to floatsLuc Van Oostenryck3-2/+393
2017-03-27do not depends on limits.h to test __CHAR_BIT__Luc Van Oostenryck2-7/+16
2017-03-27fix cast to pointer to floating-pointLuc Van Oostenryck2-2/+14
2017-03-27fix test validation/div.cLuc Van Oostenryck1-10/+12
2017-03-27predefine __SIZEOF_INT__ & friendsLuc Van Oostenryck2-0/+35
2017-03-27predefine __INT_MAX__ and friendsLuc Van Oostenryck2-5/+36
2017-03-27fix test for cast to bool on 32bit machinesLuc Van Oostenryck2-2/+2
2017-03-22fix is_scalar_type()Luc Van Oostenryck1-2/+0
2017-03-22fix evaluation of a function or array symbol in conditionalsLuc Van Oostenryck2-0/+15
2017-03-22warn if testing the address of an arrayLuc Van Oostenryck2-0/+29
2017-03-22add is_array_type()Luc Van Oostenryck1-0/+7
2017-03-22warn if testing the address of a functionLuc Van Oostenryck2-1/+22
2017-03-22add is_func_type()Luc Van Oostenryck1-0/+7
2017-03-22teach sparse about -WaddressLuc Van Oostenryck2-0/+3
2017-03-06use VOID instead of directly using &void_pseudoLuc Van Oostenryck1-1/+1
2017-03-06move 'extern with initializer' validation after the validate methodLuc Van Oostenryck2-5/+6
2017-03-06check the storage of C99 for-loop initializersLuc Van Oostenryck2-2/+12
2017-03-06add an optional validation method to external_declaration()Luc Van Oostenryck3-5/+10
2017-03-06add test cases for storage of c99 for-loop declarationsLuc Van Oostenryck1-0/+23
2017-03-06add test case for scope of C99 for-loop declarationsLuc Van Oostenryck1-0/+18
2017-03-06replace test for c99 for-loop initializersLuc Van Oostenryck1-24/+12
2017-03-06remove unused helper is_branch_goto()Luc Van Oostenryck1-4/+0
2017-03-06split OP_BR between unconditional & conditional: OP_CBRLuc Van Oostenryck8-34/+179
2017-03-04fix size of loaded bitfieldsLuc Van Oostenryck2-1/+44
2017-03-04fix usage in simplify_seteq_setne()Luc Van Oostenryck1-2/+3
2017-03-04ignore whole-range overlapping initializerLuc Van Oostenryck4-26/+19
2017-03-04fix checking of overlapping initializerLuc Van Oostenryck2-3/+23
2017-03-04allow to warn on all overlapping initializersLuc Van Oostenryck4-2/+38
2017-03-04add test case for warnings about overlapping initializersLuc Van Oostenryck1-0/+88
2017-03-04use option: '-Woverride-init'Luc Van Oostenryck6-0/+46
2017-03-04Allow casting to a restricted type if !restricted_valueEdward Cree2-1/+45
2017-03-04make -Wbitwise operational againLuc Van Oostenryck2-3/+15
2017-02-27add missing braces around FOR_EACH_PTR loopLuc Van Oostenryck1-2/+2
2017-02-27fix expansion cost of pure functionsLuc Van Oostenryck1-1/+1
2017-02-23CSE: avoid hashing removed instructionsLuc Van Oostenryck1-0/+2
2017-02-23CSE: use commutativity to identify equivalent instructionsLuc Van Oostenryck2-8/+36
2017-02-23CSE: add test cases for comparisons dualityLuc Van Oostenryck1-0/+34
2017-02-16simplify float-to-float casts that doesn't change sizeLuc Van Oostenryck2-0/+17
2017-02-16fix OP_PHI usage in try_to_simplify_bb()Luc Van Oostenryck2-0/+30
2017-02-16use kill_instruction() when killing any instructions during CSELuc Van Oostenryck2-6/+22
2017-02-16use kill_instruction() when killing an OP_PHI during CSELuc Van Oostenryck1-9/+1
2017-02-16fix killing of rewritten loadsLuc Van Oostenryck2-1/+17
2017-02-16add killing of storesLuc Van Oostenryck2-0/+23
2017-02-16add killing of non-volatile loadsLuc Van Oostenryck2-0/+23