aboutsummaryrefslogtreecommitdiffstatshomepage
AgeCommit message (Expand)AuthorFilesLines
2020-05-21bad-goto: check declaration of label expressionsLuc Van Oostenryck3-2/+1
2020-05-21bad-goto: extract check_label_declaration()Luc Van Oostenryck1-6/+16
2020-05-21bad-goto: label expression inside a statement expression is UBLuc Van Oostenryck1-0/+1
2020-05-21bad-goto: jumping inside a statement expression is an errorLuc Van Oostenryck8-10/+27
2020-05-21scope: give a scope for labels & gotosLuc Van Oostenryck3-1/+12
2020-05-21scope: add is_in_scope()Luc Van Oostenryck2-0/+11
2020-05-21scope: let labels have their own scopeLuc Van Oostenryck3-2/+21
2020-05-21scope: s/{start,end}_symbol_scope/{start,end}_block_scope/Luc Van Oostenryck3-10/+10
2020-05-21scope: __label__ is specialLuc Van Oostenryck1-2/+1
2020-05-21scope: __func__ is specialLuc Van Oostenryck1-3/+2
2020-05-21scope: extract bind_symbol_with_scope() from bind_symbol()Luc Van Oostenryck2-4/+10
2020-05-21scope: move scope opening/ending inside compound_statement()Luc Van Oostenryck2-9/+6
2020-05-21scope: no memset() needed after __alloc_scope()Luc Van Oostenryck1-2/+0
2020-05-21bad-goto: catch labels with reserved namesLuc Van Oostenryck2-1/+2
2020-05-21bad-goto: do not linearize function with undeclared labelsLuc Van Oostenryck1-0/+1
2020-05-21bad-goto: simplify testing of undeclared labelsLuc Van Oostenryck1-1/+2
2020-05-21bad-goto: reorg test in evaluate_goto_statement()Luc Van Oostenryck1-3/+7
2020-05-21bad-goto: do not linearize if the IR will be invalidLuc Van Oostenryck2-1/+2
2020-05-21bad-goto: reorganize testcases and add some moreLuc Van Oostenryck18-13/+332
2020-05-21bad-goto: add testcases for linearization of invalid labelsLuc Van Oostenryck1-0/+19
2020-05-21bad-goto: add testcase for 'jump inside discarded expression statement'Luc Van Oostenryck2-0/+57
2020-05-21misc: always use the node for current_fnLuc Van Oostenryck2-3/+3
2020-05-21misc: s/fntype/rettype/Luc Van Oostenryck1-5/+6
2020-05-21misc: fix testcase typeof-safeLuc Van Oostenryck1-7/+20
2020-05-19testsuite: add a few testcases for nested functionsLuc Van Oostenryck1-0/+43
2020-05-17attribute: teach sparse about attribute((gnu_inline))Luc Van Oostenryck3-4/+7
2020-05-17attribute: separate modifiers into type/declarationLuc Van Oostenryck2-6/+11
2020-05-17attribute: add support for unusedLuc Van Oostenryck3-3/+6
2020-05-17attribute: allow some attribute to be present multiple timesLuc Van Oostenryck2-1/+3
2020-05-17attribute: add helper apply_mod() and use itLuc Van Oostenryck1-7/+9
2020-05-17attribute: sort the table of modifier namesLuc Van Oostenryck3-17/+17
2020-05-14show-parse: null pointer dereference in do_show_type()Davidson Francis1-1/+1
2020-05-14build: fix LLVM version detectionQuentin Monnet1-1/+2
2020-04-13Merge branch 'fix-atomic-type'Luc Van Oostenryck3-25/+41
2020-04-11do not use expr->left for conditionalsLuc Van Oostenryck1-1/+1
2020-03-24add support for GCC's __auto_typeLuc Van Oostenryck5-0/+159
2020-03-20Merge branch 'unreach'Luc Van Oostenryck9-9/+135
2020-03-20teach sparse to linearize __builtin_unreachable()Luc Van Oostenryck4-3/+7
2020-03-20add support for linearization of builtinsLuc Van Oostenryck3-1/+40
2020-03-20add an implicit __builtin_unreachable() for __noreturnLuc Van Oostenryck2-1/+10
2020-03-20add instruction OP_UNREACHLuc Van Oostenryck3-0/+7
2020-03-20add testcases for OP_UNREACHLuc Van Oostenryck4-7/+74
2020-03-18sindex: Add option to search by locationAlexey Gladkov2-2/+80
2020-03-16cpp: fix redefinition of a macro during its own expansionLuc Van Oostenryck2-1/+22
2020-03-15cpp: remove extra newlines during macro expansionLuc Van Oostenryck4-9/+17
2020-03-15cpp: silently allow conditional directives within a macroLuc Van Oostenryck3-4/+55
2020-03-15make "directive in macro's argument list" a warningOleg Nesterov2-5/+5
2020-03-15teach sparse about -pedantic/-WpedanticLuc Van Oostenryck2-0/+15
2020-03-11Add semantic index utilityAlexey Gladkov4-1/+1249
2020-03-02dissect: enforce toplevel() if SYM_STRUCT was not definedOleg Nesterov1-0/+3
2020-02-20dissect: fix sym_is_local(SYM_STRUCT/UNION/ENUM)Oleg Nesterov2-3/+4
2020-02-20struct_union_enum_specifier: always initialize sym->scopeOleg Nesterov3-0/+7
2020-02-13dissect: kill no_member()Oleg Nesterov1-15/+14
2020-02-13dissect: don't set ->ident = '?' in no_member()Oleg Nesterov2-6/+7
2020-02-13dissect: use show_ident() to print dctx->identOleg Nesterov1-6/+3
2020-02-13dissect: move __sparse() callsite from test-dissect.c to dissect.cOleg Nesterov3-12/+6
2020-02-13dissect: introduce sym_is_local() for reporterOleg Nesterov3-5/+20
2020-02-10dissect: enforce sym->kind='f' when it looks like a function callOleg Nesterov2-2/+4
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