aboutsummaryrefslogtreecommitdiffstatshomepage
AgeCommit message (Expand)AuthorFilesLines
2020-02-10dissect: set sym->kind for reporterOleg Nesterov2-9/+44
2020-02-09do the tree inlining during expansion phaseLuc Van Oostenryck4-22/+19
2020-02-09inline: add some testsLuc Van Oostenryck4-0/+108
2020-02-07dissect: kill return_typeOleg Nesterov1-5/+4
2020-02-07dissect: change do_symbol(SYM_FN) to check base_type->stmt != NULLOleg Nesterov1-3/+14
2020-02-07dissect: introduce dissect_ctxOleg Nesterov3-15/+25
2020-02-06fix type compatibility of _AtomicLuc Van Oostenryck3-25/+41
2020-02-06dissect: introduce reporter->r_memdef()Oleg Nesterov3-1/+18
2020-02-06dissect: disallow NULL pointers in struct reporterOleg Nesterov1-17/+7
2020-02-06dissect: change deanon() to handle the !node caseOleg Nesterov1-1/+3
2020-02-06dissect: turn mk_name() into deanon()Oleg Nesterov1-10/+14
2020-02-06dissect: don't report anonymous members in initializersOleg Nesterov2-6/+5
2020-01-29domtree: domtree_build() creates extraneous bb->doms entriesXan Phung1-0/+4
2020-01-23predefine "i386" if neededJohn Levon1-0/+1
2020-01-22correct sparcv9 definesToomas Soome2-1/+2
2020-01-22pre-define __unix__ and friendsJohn Levon1-0/+6
2020-01-22add necessary defined for sunos-derived systemsJohn Levon1-0/+7
2020-01-22define __PRAGMA_REDEFINE_EXTNAMEJohn Levon1-0/+2
2020-01-22allow to easily test if the OS is UNIX-likeLuc Van Oostenryck1-2/+2
2020-01-22detect OS_UNIX as native OSLuc Van Oostenryck1-0/+3
2020-01-22detect native OS on OpenBSD & NetBSDLuc Van Oostenryck1-0/+4
2020-01-22detect native OS in alphabetical orderLuc Van Oostenryck1-6/+6
2020-01-22fix typo when detecting SunOSLuc Van Oostenryck1-1/+1
2020-01-22add predefine_nostd()Luc Van Oostenryck2-0/+9
2020-01-21Merge branch 'arch-spec'Luc Van Oostenryck18-373/+673
2020-01-16show_parse: avoid null pointer dereference in do_show_type()Oleg Nesterov1-3/+3
2019-12-30ptrlist: fix typosLuc Van Oostenryck1-3/+3
2019-12-17Merge branch 'msg-wrong-redecl' into nextLuc Van Oostenryck5-18/+65
2019-12-17Merge branch 'eval-typeof' into nextLuc Van Oostenryck2-24/+27
2019-12-17Merge branch 'expand-init' (early part) into nextLuc Van Oostenryck18-22/+355
2019-12-17Merge branch 'top-level-init' into nextLuc Van Oostenryck1-2/+8
2019-12-17fix testcase with non-constant initializerLuc Van Oostenryck1-2/+8
2019-12-16arch: arch_mach is not needed anymoreLuc Van Oostenryck3-4/+0
2019-12-16arch: use arch_target for INT128's predefineLuc Van Oostenryck9-9/+9
2019-12-16arch: move cmodel predefines to the target files.Luc Van Oostenryck4-50/+21
2019-12-16arch: move target-specific predefines to the target files.Luc Van Oostenryck11-85/+169
2019-12-16arch: use an arch-specific default for -msize-longLuc Van Oostenryck3-1/+3
2019-12-16arch: move handle_arch_finalize() into target_init()Luc Van Oostenryck5-34/+32
2019-12-16arch: move parsing of --arch=<ARCH> to target.cLuc Van Oostenryck3-46/+58
2019-12-16arch: move arch-specificities to their own filesLuc Van Oostenryck16-167/+401
2019-12-16cgcc: rename 'ppc64+{be,le}' to 'ppc64{be,le}'Luc Van Oostenryck1-5/+5
2019-12-16cgcc: add support for riscv32Luc Van Oostenryck1-0/+3
2019-12-15improve diagnostic message about wrong redeclarationLuc Van Oostenryck5-18/+65
2019-12-15typeof: avoid using is_bitfield_type()Luc Van Oostenryck1-2/+2
2019-12-15typeof: extract examine_typeof() from examine_symbol_type()Luc Van Oostenryck1-20/+21
2019-12-15typeof: do not let classify_type() do its own SYM_TYPEOF expansionLuc Van Oostenryck1-4/+2
2019-12-15testcase: remove trailing ';' in commandsLuc Van Oostenryck2-2/+2
2019-12-15mark strings as examined & evaluatedLuc Van Oostenryck1-0/+4
2019-12-10fix cost of dereference of symbols with complex typeLuc Van Oostenryck2-6/+5
2019-12-10fix simplify_loads() when doing type punningLuc Van Oostenryck3-2/+11
2019-12-10fix expansion of initializer (default)Luc Van Oostenryck2-3/+63
2019-12-10fix expansion of initializer (mismatching type)Luc Van Oostenryck3-2/+4
2019-12-10fix expansion of initializer (mismatching size)Luc Van Oostenryck2-5/+4
2019-12-10degenerated arrays & functions are addressable tooLuc Van Oostenryck3-1/+16
2019-12-10fix addressability marking in evaluate_addressof()Luc Van Oostenryck2-1/+2
2019-12-10extract mark_addressable() from evaluate_addressof().Luc Van Oostenryck1-4/+9
2019-12-10add test for constant expansion of complex initializerLuc Van Oostenryck3-0/+53
2019-12-10add test for dereference cost of symbol with complex typeLuc Van Oostenryck1-0/+21
2019-12-10add test for union castLuc Van Oostenryck1-0/+27
2019-12-10add testcase for addressability of 'complex' symbolsLuc Van Oostenryck1-0/+24
2019-12-10add testcase for addressability of degenerated symbolLuc Van Oostenryck1-0/+18
2019-12-10add testcase for expansion of default initializersLuc Van Oostenryck2-0/+39
2019-12-10split testcases for type punning & constant initializer expansionLuc Van Oostenryck5-5/+66
2019-12-09Merge branch 'premature-examine' into nextLuc Van Oostenryck2-1/+28
2019-12-09fix premature examination of dereferenced objectLuc Van Oostenryck2-1/+28
2019-12-09Merge branch 'bitfield-size'Luc Van Oostenryck3-10/+40
2019-12-09Merge branch 'no-std-includes'Luc Van Oostenryck2-3/+2
2019-12-09Merge branch 'cleanups'Luc Van Oostenryck1-1/+1
2019-12-04Merge branch 'stdc-version'Luc Van Oostenryck2-35/+40
2019-12-04cgcc: only define __CYGWIN32__ for -m32 buildsRamsay Jones1-1/+3
2019-12-01teach sparse about C17Luc Van Oostenryck2-0/+15
2019-12-01separate definition of __STDC_NO_ATOMICS__ and friends from C11Luc Van Oostenryck1-3/+5
2019-12-01simplify definition of __STRICT_ANSI__Luc Van Oostenryck1-8/+2
2019-12-01reorganize the __STDC_VERSION__/__STRICT_ANSI__ switch statementLuc Van Oostenryck1-8/+5
2019-11-30bitfield: display the bitfield name in error messagesLuc Van Oostenryck3-12/+10
2019-11-30bitfield: keep the bitfield identLuc Van Oostenryck1-0/+1
2019-11-30bitfield: oversized bitfields are errorsLuc Van Oostenryck2-3/+4
2019-11-30bitfield: don't warn twice on invalid widthLuc Van Oostenryck1-3/+2
2019-11-30bitfield: add testcases for invalid bitfield widthLuc Van Oostenryck1-0/+31
2019-11-28remove redundant degenerate() in compatible_assignment_types()Luc Van Oostenryck1-1/+1
2019-11-28testsuite: avoid standard includes in the testsLuc Van Oostenryck2-3/+2
2019-11-28cgcc: fix definition of 'linux' macroRamsay Jones1-1/+1
2019-11-28alt definition for STANDARD_GNU89 & friendsLuc Van Oostenryck1-3/+6
2019-11-28allow to test the standard version outside of lib.cLuc Van Oostenryck2-7/+12
2019-11-28simplify initialization of WdeclarationafterstatementLuc Van Oostenryck1-14/+3
2019-11-28cgcc: add support for riscv64Luc Van Oostenryck1-0/+3
2019-11-28arch: fix wchar_t & wint_t for openbsdLuc Van Oostenryck1-0/+4
2019-11-28arch: add missing predefines for PPCLuc Van Oostenryck1-0/+3
2019-11-28arch: add missing predfines: __amd64 & __amd64__Luc Van Oostenryck1-0/+2
2019-11-28cgcc: filter-out -msize-long & -msize-llp64Luc Van Oostenryck1-0/+1
2019-11-28spec: replace lllong_ctype by int128_ctypeLuc Van Oostenryck4-15/+15
2019-11-28Merge branch 'arch-cleanup' into masterLuc Van Oostenryck5-47/+76
2019-11-28arch: add note for 128-bit long double on mips64Luc Van Oostenryck1-0/+2
2019-11-28arch: sparc32 on SunOS/Solaris uses 128-bit long doublesLuc Van Oostenryck1-1/+4
2019-11-28arch: fix wchar_t & wint_t on SunOS/SolarisLuc Van Oostenryck1-1/+6
2019-11-28arch: use a variable for the OSLuc Van Oostenryck4-11/+41
2019-11-28arch: add predefines for INT128 only on supported archsLuc Van Oostenryck2-2/+13
2019-11-28arch: (almost) all platforms simply use int for int32Luc Van Oostenryck1-13/+0
2019-11-28arch: char32_t should be the same as uint32_t, not uintLuc Van Oostenryck1-1/+1
2019-11-27Merge branch 'arm-hf' into masterLuc Van Oostenryck9-215/+328
2019-11-27cgcc: use -mfloat-abi=hard for armhfLuc Van Oostenryck1-1/+1
2019-11-27fp-abi: teach sparse about -m{hard,soft}-floatLuc Van Oostenryck2-1/+2
2019-11-27fp-abi: teach sparse about -mfloat-abi on ARMLuc Van Oostenryck7-4/+39
2019-11-27fp-abi: add tests for ARM's -mfloat-abi=... & -msoft-floatLuc Van Oostenryck5-0/+45
2019-11-26Merge branch 'arch-cygwin' into masterLuc Van Oostenryck9-23/+66
2019-11-26Merge branch 'parse-spec' into masterLuc Van Oostenryck7-126/+124
2019-11-26Merge branch 'static-forward' into masterLuc Van Oostenryck2-9/+33
2019-11-25spec: get rid of all specifier MOD_XXXLuc Van Oostenryck7-95/+68
2019-11-25spec: make ctype_declare[] more readableLuc Van Oostenryck1-51/+71
2019-11-21allow 'static' forward declarationLuc Van Oostenryck2-9/+33
2019-11-21let function definition inherit prototype attributesLuc Van Oostenryck3-5/+10
2019-11-20propagate function modifiers only to functionsLuc Van Oostenryck4-26/+28
2019-11-19fix assignment check with function attributeLuc Van Oostenryck2-2/+8
2019-11-19fix assignment: pointer to __pure/__noreturn function to void *Luc Van Oostenryck1-1/+1
2019-11-19add tests for function attributesLuc Van Oostenryck9-10/+134
2019-11-15option: simpler handling of key-value for suboptionsLuc Van Oostenryck1-20/+40
2019-11-15option: use handle_switches() for -m flagsLuc Van Oostenryck1-17/+17
2019-11-15option: allow handle_switches() to set non-boolean valuesLuc Van Oostenryck1-0/+4
2019-11-15cgcc: let cygwin use -fshort-wcharLuc Van Oostenryck1-0/+1
2019-11-15arch: teach sparse about -fshort-wcharLuc Van Oostenryck4-0/+11
2019-11-15arch: keep cygwin specifics with i386/x86-64 specificsLuc Van Oostenryck1-4/+3
2019-11-15option: move all option parsing helpers before their potential usesLuc Van Oostenryck1-180/+188
2019-11-15function attributes apply to the function declarationLuc Van Oostenryck3-1/+37
2019-11-14arch: keep BSD & Darwin specifics with i386/x86-64 specificsLuc Van Oostenryck1-7/+7
2019-11-14arch: remove impossible cases with 64-bit arch not being lp64Luc Van Oostenryck2-18/+9
2019-11-14arch: do not needlessly set bitness on 32-bit archsLuc Van Oostenryck1-1/+0
2019-11-14arch: simplify i386/x86-64 specificsLuc Van Oostenryck1-4/+4
2019-11-14arch: fix the signedness of plain charsLuc Van Oostenryck6-8/+40
2019-11-12Add -Wexternal-function-has-definitionJohn Levon5-3/+13
2019-11-12lib.c: fix spelling of _BIG_ENDIANRamsay Jones1-1/+1
2019-11-11spec: s/size/rank/Luc Van Oostenryck1-6/+6
2019-11-11spec: KW_LONG is not neededLuc Van Oostenryck2-3/+3
2019-11-11spec: KW_SHORT is not neededLuc Van Oostenryck2-4/+4
2019-11-11spec: improve parsing of __int128Luc Van Oostenryck1-4/+4
2019-11-11spec: add '.class = CInt'Luc Van Oostenryck1-0/+3
2019-11-11spec: types[] is indexed by the specifier classLuc Van Oostenryck1-2/+4
2019-11-11spec: process chars like other integer typesLuc Van Oostenryck1-9/+9
2019-11-10Merge branch 'eval-typeof' into nextLuc Van Oostenryck6-4/+46
2019-11-10typeof: examine it at show-timeLuc Van Oostenryck2-1/+1
2019-11-10typeof: add a test for unexamined typeofLuc Van Oostenryck1-0/+11
2019-11-10typeof: fix up comment in examine_pointer_type()Luc Van Oostenryck1-4/+5
2019-11-09Merge branch 'cgcc-cleanup' into nextLuc Van Oostenryck2-3/+4
2019-11-09cgcc: let sparse define _BIG_ENDIANLuc Van Oostenryck2-2/+3
2019-11-08cgcc: remove _STRING_ARCH_unalignedLuc Van Oostenryck1-2/+2
2019-11-06arch: fix setting the endiannessLuc Van Oostenryck1-3/+1
2019-11-05show-type: add a test program to test do_show_type() & friendsLuc Van Oostenryck3-0/+30
2019-11-05Merge branch 'option-arch'Luc Van Oostenryck9-65/+232
2019-11-03Merge branch 'rem-unused'Luc Van Oostenryck5-16/+4
2019-11-03remove unneeded MOD_TYPELuc Van Oostenryck4-7/+3
2019-11-03remove unused SYM_TYPEDEFLuc Van Oostenryck4-4/+0
2019-11-03remove unused SYM_MEMBERLuc Van Oostenryck4-4/+0
2019-11-03remove unused KW_STATEMENTLuc Van Oostenryck1-1/+1
2019-11-03fix pointer casts in evaluate_compare()Xi Wang1-4/+4
2019-11-01Merge branch 'double-underscore'Luc Van Oostenryck1-1/+7
2019-11-01Merge branch 'cmodel'Luc Van Oostenryck2-0/+125
2019-10-30.gitignore: alphasort the patternsLuc Van Oostenryck1-12/+12
2019-10-30Add '__' prefix and suffix to all __attribute__ #definesJoe Perches1-1/+7
2019-10-30cgcc: removed unneeded predefines for integersLuc Van Oostenryck1-48/+4
2019-10-30cgcc: specify the arch via --archLuc Van Oostenryck1-4/+11
2019-10-30arch: add an option to specify the desired arch: --arch=<arch>Luc Van Oostenryck6-0/+182
2019-10-30arch: change the arch when changing -m32/64Luc Van Oostenryck1-0/+21
2019-10-30arch: add support for s390 (ILP32)Luc Van Oostenryck3-1/+7
2019-10-30arch: reorder MACH_XXX definesLuc Van Oostenryck1-12/+6
2019-10-30arch: add predefine for __mips__Luc Van Oostenryck1-0/+1
2019-10-28options: add support for -mcmodelLuc Van Oostenryck2-0/+99
2019-10-28options: add support for -fpic, -fPIC, -fpie & -fPIELuc Van Oostenryck2-0/+26
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.Luc 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