summaryrefslogtreecommitdiffstatshomepage
AgeCommit message (Expand)AuthorFilesLines
2019-10-14Sparse v0.6.1v0.6.1Luc Van Oostenryck1-1/+1
2019-10-13doc: fix typo in binops' descriptionLuc Van Oostenryck1-2/+2
2019-10-09"graph" segfaults on top-level asmLuc Van Oostenryck2-1/+2
2019-10-09llvm: fix sparsec breakage on recent cygwin versionLuc Van Oostenryck1-0/+1
2019-10-07Sparse v0.6.1-rc2 is now out.v0.6.1-rc2Luc Van Oostenryck1-1/+1
2019-10-03cleanup: make arch_msize_long staticLuc Van Oostenryck2-2/+1
2019-10-03Merge branches 'asm-warn-invalid', 'directive-arg' and 'expand-ffs'Luc Van Oostenryck3-5/+61
2019-10-03expand more builtins like __builtin_ffs()Luc Van Oostenryck1-0/+56
2019-10-01make 'directive in argument list' clearerLuc Van Oostenryck2-5/+5
2019-09-30asm: warn on invalid empty constraintsLuc Van Oostenryck1-0/+3
2019-09-30Merge branch 'fix-expand-asm' into tipLuc Van Oostenryck29-147/+455
2019-09-30Merge branch 'relax-constexpr' into tipLuc Van Oostenryck3-17/+25
2019-09-30Merge branch 'fix-bad-linear' into tipLuc Van Oostenryck3-2/+42
2019-09-30Merge branch 'fix-enum-sign-extend' into tipLuc Van Oostenryck2-3/+13
2019-09-30fix sign extension in casting enumsDan Carpenter2-2/+1
2019-09-30remove useless optimization in cast_enum_list()Luc Van Oostenryck1-2/+0
2019-09-30add test for enum sign extensionLuc Van Oostenryck1-0/+13
2019-09-30do not linearize invalid expressionLuc Van Oostenryck2-3/+6
2019-09-28asm: arrays & functions in non-memory operand degenerate into pointersLuc Van Oostenryck2-1/+3
2019-09-27asm: fix missing expansion of asm statementsLuc Van Oostenryck2-2/+17
2019-09-27asm: fix liveness memory operandLuc Van Oostenryck3-1/+6
2019-09-27asm: linearization of output memory operands is differentLuc Van Oostenryck2-5/+9
2019-09-27asm: missing evaluation of asm statementsLuc Van Oostenryck2-1/+18
2019-09-27asm: use parse_asm_constraint() to verify constraintsLuc Van Oostenryck1-20/+15
2019-09-27asm: parse constraintsLuc Van Oostenryck2-2/+80
2019-09-27asm: keep using struct asm_operand during linearizationLuc Van Oostenryck1-15/+10
2019-09-27asm: use a specific struct for asm operandsLuc Van Oostenryck12-47/+40
2019-09-27asm: check earlier that body & constraints are stringsLuc Van Oostenryck3-17/+10
2019-09-27asm: add test evaluation, expansion & linearization of ASM operandsLuc Van Oostenryck5-0/+174
2019-09-26string: use string_expression() in parse_static_assert()Luc Van Oostenryck2-10/+5
2019-09-26string: add helper string_expression()Luc Van Oostenryck2-0/+12
2019-09-26dissect: fix processing of ASM statementsLuc Van Oostenryck1-5/+1
2019-09-26expand: add missing expansion of compound literalsLuc Van Oostenryck4-2/+9
2019-09-26expand: add test for expansion of compound literalsLuc Van Oostenryck1-0/+27
2019-09-26shorter message for non-scalar in conditionalsLuc Van Oostenryck3-10/+10
2019-09-26more consistent type info in error messagesLuc Van Oostenryck7-39/+39
2019-09-02constexpr: relax constexprness of constant conditionalsLuc Van Oostenryck3-17/+25
2019-09-02problem building sparse 0.6.0 (sparse-llvm)Randy Dunlap1-1/+1
2019-09-02cgcc: fix wrong processing of -MD & -MMDLuc Van Oostenryck1-1/+1
2019-04-04.gitignore: add temporary *~ filesBen Dooks1-0/+1
2019-04-01fix allowing casts of AS pointers to uintptr_tLuc Van Oostenryck6-17/+61
2019-03-30man: explain role of uintptr_t & unsigned long in casts from AS pointersLuc Van Oostenryck1-3/+10
2019-03-30also accept casts of AS pointers to uintptr_tLuc Van Oostenryck2-1/+61
2019-03-27evaluate: externally_visible functions don't need a declarationJann Horn4-4/+19
2019-03-05add test for evaluation of invalid assignmentsLuc Van Oostenryck2-0/+37
2019-03-03expand: add explanation to 'conservative'Luc Van Oostenryck1-0/+5
2019-03-03expand: 'conservative' must not bypass valid simplificationsThomas Weißschuh3-8/+91
2019-03-01Sparse v0.6.1-rc1v0.6.1-rc1Luc Van Oostenryck1-1/+1
2019-02-28remove confusing intermediate 'where' in evaluate_assignment()Luc Van Oostenryck1-2/+1
2019-02-28display extra info for type errors in compare & conditionalLuc Van Oostenryck2-4/+12
2019-02-25cgcc: use strict & warningsLuc Van Oostenryck1-0/+3
2019-02-25Merge branch 'cgcc-dumpmachine' into tipLuc Van Oostenryck1-11/+39
2019-02-25cgcc: add support for x86-x32Luc Van Oostenryck1-1/+3
2019-02-25cgcc: favor using 'gcc -dumpmachine' to determine specificsUwe Kleine-König1-5/+28
2019-02-25cgcc: simpler handling of hard-float ARMLuc Van Oostenryck1-8/+7
2019-02-25cgcc: add pseudo-archs for ppc64be/ppc64leLuc Van Oostenryck1-2/+6
2019-02-25cgcc: -dumpmachine should be fetched with '$ccom'Luc Van Oostenryck1-1/+1
2019-02-25Merge branch 'fix-cgcc-gendeps' into tipLuc Van Oostenryck1-5/+5
2019-02-25cgcc: define __APPLE_CC__ on OSXLuc Van Oostenryck1-1/+1
2019-02-25evaluate: sizeof(bool) could be larger than sizeof(char)Luc Van Oostenryck1-1/+1
2019-02-20cgcc: -MF, -MQ & -MT need an argumentLuc Van Oostenryck1-4/+4
2019-02-20cgcc: gendeps for -MM, -MD & -MMD tooLuc Van Oostenryck1-1/+1
2019-02-18testsuite: fix bad escaping of '[' & ']'Luc Van Oostenryck2-2/+2
2019-02-17Merge branch 'branch-v0.6'Luc Van Oostenryck4-11/+11
2019-02-17build: honor CFLAGS & friends from environmentUwe Kleine-König1-6/+9
2019-02-17build: get rid of MAN1DIRLuc Van Oostenryck1-5/+8
2019-02-17build: always use '-Wall -Wwrite-strings'Luc Van Oostenryck1-1/+1
2019-02-17build: CHECKER is not needed, remove itLuc Van Oostenryck1-2/+1
2019-02-08fix parallel installLuc Van Oostenryck1-6/+3
2019-02-07redecl: add test for attribute placement in function declaratorsRamsay Jones1-0/+31
2019-02-07validation: Add patterns FAIL, PASS, XPASS and XFAIL to testUwe Kleine-König1-6/+9
2019-02-07cgcc: teach cgcc about Hurd/GNULuc Van Oostenryck1-0/+3
2019-02-07predefs: add arch-specific predefinesLuc Van Oostenryck2-17/+68
2019-02-04predefs: fix for MIPS system headers needing _MIPS_SZ{INT,LONG,PTR}Luc Van Oostenryck1-0/+9
2019-02-04target.c: ignore -m64 on archs where int32_t is a longLuc Van Oostenryck19-0/+20
2019-02-04lib.c: move handle_arch_m64_finalize() to init_target()Luc Van Oostenryck2-41/+36
2019-02-04lib.c: move predefines out of handle_arch_m64_finalize()Luc Van Oostenryck1-12/+24
2019-02-04testsuite: remove unneeded -m64 from command-lineLuc Van Oostenryck1-1/+1
2019-02-01Makefile: default to LD = CCUwe Kleine-König1-1/+1
2019-02-01machine.h: Fix MACH_NATIVE on m68kUwe Kleine-König1-1/+1
2019-01-10is_null_pointer_constant(): replace magic constant by enumAurelien Aptel1-8/+14
2018-12-29explain cause of 'incorrect type in conditional'Luc Van Oostenryck3-10/+10
2018-12-28manpage: fix doc of '-Wcast-from-as'Luc Van Oostenryck1-1/+1
2018-12-26Sparse v0.6.0v0.6.0Luc Van Oostenryck1-1/+1
2018-12-26add TODO list.Luc Van Oostenryck3-52/+99
2018-12-22as-name: document that identifiers are OK for address spacesLuc Van Oostenryck1-3/+4
2018-12-22doc: fix list formattingLuc Van Oostenryck1-2/+3
2018-12-21expression.h: update comment to include other cast typesTycho Andersen1-1/+2
2018-12-21remove self-assignment of base_typeLuc Van Oostenryck1-1/+1
2018-12-21remove -finline-functions from CFLAGSLuc Van Oostenryck1-1/+1
2018-12-21remove unused regno()Luc Van Oostenryck1-8/+0
2018-12-20remove redundant check of _Bool bitsizeLuc Van Oostenryck1-1/+1
2018-12-20Merge branch 'cleanup'Luc Van Oostenryck3-8/+9
2018-12-20Merge branch 'show-type'Luc Van Oostenryck13-63/+69
2018-12-19Merge branch 'bitwise-ptr'Luc Van Oostenryck6-0/+67
2018-12-19allocate BBs after the guardsLuc Van Oostenryck1-1/+3
2018-12-19remove unused arg in add_branch()Luc Van Oostenryck1-4/+4
2018-12-19remove unneeded declarations in "compat.h"Luc Van Oostenryck1-2/+0
2018-12-18build: check if sparse-llvm needs libc++Luc Van Oostenryck1-0/+1
2018-12-18build: only need includedir from llvm-configLuc Van Oostenryck1-1/+1
2018-12-18VERSION=0.6.0-rc1Luc Van Oostenryck1-1/+1
2018-12-17show-parse: remove string_ctype from typenamesLuc Van Oostenryck1-1/+0
2018-12-17show-parse: do not display base type's redundant specifiersLuc Van Oostenryck6-37/+39
2018-12-17show-parse: don't display null ident in show_typename()Luc Van Oostenryck10-26/+27
2018-12-17add a flag to warn on casts to/from bitwise pointersLuc Van Oostenryck5-2/+29
2018-12-17Add testcases for bitwise cast on pointerThiebaud Weksteen2-0/+40
2018-12-17Merge branch 'predefs' into tipv0.6.0-rc1Luc Van Oostenryck16-163/+415
2018-12-17add predefine_min() and use it for __{WCHAR,WINT}_MIN__Luc Van Oostenryck1-2/+17
2018-12-17add predefine for __CHAR_UNSIGNED__Luc Van Oostenryck2-1/+9
2018-12-17fix the size of long doubleLuc Van Oostenryck1-2/+23
2018-12-17add predefined macros for char{16,32}_tLuc Van Oostenryck1-0/+2
2018-12-17add predefined macros for [u]int32_tLuc Van Oostenryck4-0/+25
2018-12-17add predefined macros for [u]int64_tLuc Van Oostenryck4-0/+18
2018-12-17add predefined macros for [u]int{8,16}_tLuc Van Oostenryck2-0/+9
2018-12-17add predefined macros for [u]intmaxLuc Van Oostenryck4-0/+12
2018-12-17add predefined macros for [u]intptrLuc Van Oostenryck2-0/+4
2018-12-17add predefined macros for wint_tLuc Van Oostenryck3-0/+6
2018-12-17use the type for predefined_max()Luc Van Oostenryck1-5/+5
2018-12-17give a type to wcharLuc Van Oostenryck6-9/+37
2018-12-17make predefined_type_size() more genericLuc Van Oostenryck3-23/+50
2018-12-16show-parse: strip do_show_type()'s trailing spaceLuc Van Oostenryck2-2/+6
2018-12-14remove duplicates from gcc-attr-list.hLuc Van Oostenryck1-9/+0
2018-12-14teach sparse about asm inlineLuc Van Oostenryck3-7/+81
2018-12-14add builtin_type_suffix()Luc Van Oostenryck2-31/+43
2018-12-14use bits_mask() for predefined_max()Luc Van Oostenryck1-1/+2
2018-12-14allow optional "_T" suffix to __SIZEOF_XXX__Luc Van Oostenryck1-12/+12
2018-12-14fix '__SIZE_TYPE__' for LLP64Luc Van Oostenryck2-11/+7
2018-12-14testsuite: test predef macros on LP32/LP64/LLP64Luc Van Oostenryck7-59/+70
2018-12-14test endianness with __BYTE_ORDER__Luc Van Oostenryck1-1/+1
2018-12-14Consolidate 'machine detection' into "machine.h"Luc Van Oostenryck2-21/+24
2018-12-14add detection of native platformLuc Van Oostenryck1-0/+54
2018-12-12Merge branch 'as-named' into tipLuc Van Oostenryck11-65/+152
2018-12-12as-named: warn on bad address spaceLuc Van Oostenryck4-14/+17
2018-12-12as-name: check for multiple address spaces at parsing timeLuc Van Oostenryck1-1/+6
2018-12-12as-name: allow ident as address_spaceLuc Van Oostenryck2-8/+43
2018-12-12as-name: use idents for address spacesLuc Van Oostenryck5-42/+70
2018-12-10Merge branch 'fix-non-const-case' into tipLuc Van Oostenryck2-2/+42
2018-12-09as-name: add and use show_as()Luc Van Oostenryck8-26/+38
2018-12-09multi-buffer for identsLuc Van Oostenryck1-1/+5
2018-12-09Merge branch 'maintainer' into tipLuc Van Oostenryck1-2/+15
2018-12-09Merge branch 'dump-macros'Luc Van Oostenryck5-16/+105
2018-12-09don't allow newlines inside string literalsLuc Van Oostenryck3-7/+6
2018-12-08man: update maintainer infoLuc Van Oostenryck1-2/+1
2018-12-08man: add AUTHORS sectionLuc Van Oostenryck1-0/+5
2018-12-08man: add section about reporting bugsLuc Van Oostenryck1-0/+9
2018-12-08add testcase for missing deliminator ' or "Luc Van Oostenryck1-0/+18
2018-12-06cgcc: use 'i386' for the arch instead of 'i86'Luc Van Oostenryck1-2/+2
2018-12-01Conditionalize 'warning: non-ANSI function ...'John Levon7-4/+66
2018-12-01Accept comma-separated list for function declarations.Luc Van Oostenryck1-1/+1
2018-12-01Use -Wimplicit-int when warning about missing K&R argument typesLuc Van Oostenryck4-1/+22
2018-12-01fix implicit K&R argument typesLuc Van Oostenryck2-1/+19
2018-11-29Ignore #ident directivesJohn Levon3-0/+30
2018-11-25dump-macro: simplify processing of whitespaceLuc Van Oostenryck1-6/+3
2018-11-24dump-macro: break the loop at TOKEN_UNTAINTLuc Van Oostenryck1-3/+1
2018-11-24pre-process: add the -dM option to dump macro definitionsRamsay Jones4-9/+75
2018-11-24pre-process: print variable argument macros correctlyRamsay Jones2-1/+15
2018-11-24pre-process: don't put spaces in macro parameter listRamsay Jones2-2/+2
2018-11-24pre-process: print macros containing # and ## correctlyRamsay Jones2-0/+12
2018-11-24cgcc: teach about '-x c'Luc Van Oostenryck1-0/+8
2018-11-24cgcc: teach about '-o <file>'Luc Van Oostenryck1-0/+8
2018-11-24cgcc: add support to ignore argument(s) of optionsLuc Van Oostenryck1-2/+9
2018-11-24teach sparse about '-x <language>'Luc Van Oostenryck1-0/+8
2018-11-24teach sparse about '-o <file>'Luc Van Oostenryck3-0/+17
2018-11-24pre-process: suppress trailing space when dumping macrosRamsay Jones1-0/+2
2018-11-23constant: add -Wconstant-suffix warningRamsay Jones7-2/+47
2018-11-22sparsei: add the --[no-]jit optionsRamsay Jones2-2/+20
2018-11-22sparsec: use a compatible exception model on cygwinRamsay Jones1-1/+11
2018-11-20fix expansion of function designatorLuc Van Oostenryck2-1/+2
2018-11-20add testcase for missing function designator expansionLuc Van Oostenryck1-0/+23
2018-11-02tokenize: check show_string() for NULL pointerBen Dooks1-1/+1
2018-10-30ptrlist: add ptr_list_nth_entry()Luc Van Oostenryck2-0/+23
2018-10-26__attribute__((fallthrough)) can't simply be ignoredLuc Van Oostenryck1-1/+0
2018-10-05Merge branch 'fix-enum-type' into tipLuc Van Oostenryck16-64/+405
2018-10-05enum: more specific error message for empty enumLuc Van Oostenryck2-2/+2
2018-10-05enum: default to unsignedLuc Van Oostenryck4-10/+9
2018-10-05enum: keep enumerators as int if they fitLuc Van Oostenryck1-0/+37
2018-10-05enum: rewrite bound checkingLuc Van Oostenryck1-50/+34
2018-10-05enum: warn on bad enumsLuc Van Oostenryck1-2/+4
2018-10-05enum: warn when mixing different restricted typesLuc Van Oostenryck2-0/+25
2018-10-05enum: only warn (once) when mixing bitwisenessLuc Van Oostenryck2-0/+36
2018-10-05enum: use the values to determine the base typeLuc Van Oostenryck1-14/+1
2018-10-05enum: use the smallest type that fitLuc Van Oostenryck4-5/+0
2018-10-05enum: fix cast_enum_list()Luc Van Oostenryck2-1/+1
2018-10-05enum: add testcase for base & enumerator typeLuc Van Oostenryck8-0/+227
2018-10-05enum: add testcase for type of enum membersLuc Van Oostenryck1-0/+15
2018-10-05enum: fix UB when rshifting by full widthLuc Van Oostenryck2-3/+15
2018-10-05enum: add testcase for UB in oversized shiftLuc Van Oostenryck1-0/+17
2018-10-05doc: is_int_type() returns false for SYM_RESTRICTsLuc Van Oostenryck1-0/+5
2018-09-26print address space number for cast-from-AS warningsVincenzo Frascino3-4/+64
2018-09-10ssa: relax what can be promotedLuc Van Oostenryck2-4/+2
2018-09-10test: make 32-bit version of failed testLuc Van Oostenryck2-2/+31
2018-09-10test: use integers of different sizes, even on 32-bitLuc Van Oostenryck1-2/+2
2018-09-10test: make test Waddress-space-strict succeed on 32-bitLuc Van Oostenryck1-26/+7
2018-09-08fix linearization of non-constant switch-casesLuc Van Oostenryck2-3/+5
2018-09-08add testcase for non-constant switch-caseLuc Van Oostenryck1-0/+38
2018-09-06Merge branch 'rem-trivial-phi' into tipLuc Van Oostenryck3-19/+66
2018-09-06Merge branches 'missing-return' and 'fix-logical-phi' into tipLuc Van Oostenryck17-143/+373
2018-09-06fix linearization of nested logical exprLuc Van Oostenryck5-111/+121
2018-09-06add tests for nested logical exprLuc Van Oostenryck1-0/+49
2018-09-06fix ordering of phi-node operandLuc Van Oostenryck3-7/+6