summaryrefslogtreecommitdiffstatshomepage
path: root/validation
AgeCommit message (Expand)AuthorFilesLines
2020-06-12testsuite: plain chars are never compatible with [un]signed charsLuc Van Oostenryck1-0/+19
2020-06-09generic: fix crash when nothing matchLuc Van Oostenryck1-0/+23
2020-06-03univ-init: scalar initializer needs some additional checksLuc Van Oostenryck2-0/+35
2020-05-28add support for _GenericLuc Van Oostenryck3-0/+240
2020-05-27testsuite: add testcase for duplicated local definitionsLuc Van Oostenryck1-0/+28
2020-05-21Merge branch 'univ'Luc Van Oostenryck2-0/+25
2020-05-21Merge branch 'bad-goto'Luc Van Oostenryck21-16/+463
2020-05-21univ-init: conditionally accept { 0 } without warningsLuc Van Oostenryck2-0/+25
2020-05-21bad-label: respect attribute((unused))Luc Van Oostenryck1-0/+6
2020-05-21bad-label: check for unused labelsLuc Van Oostenryck1-1/+0
2020-05-21bad-goto: check declaration of label expressionsLuc Van Oostenryck2-2/+0
2020-05-21bad-goto: jumping inside a statement expression is an errorLuc Van Oostenryck6-6/+0
2020-05-21bad-goto: catch labels with reserved namesLuc Van Oostenryck1-1/+0
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: fix testcase typeof-safeLuc Van Oostenryck1-7/+20
2020-05-19testsuite: add a few testcases for nested functionsLuc Van Oostenryck1-0/+43
2020-05-19attribute: 'externally_visible' is just another 'declaration' modifierLuc Van Oostenryck2-2/+0
2020-05-17attribute: sort the table of modifier namesLuc Van Oostenryck2-4/+4
2020-04-13Merge branch 'fix-atomic-type'Luc Van Oostenryck2-22/+38
2020-03-24add support for GCC's __auto_typeLuc Van Oostenryck2-0/+100
2020-03-20teach sparse to linearize __builtin_unreachable()Luc Van Oostenryck3-3/+0
2020-03-20add an implicit __builtin_unreachable() for __noreturnLuc Van Oostenryck1-1/+0
2020-03-20add testcases for OP_UNREACHLuc Van Oostenryck4-7/+74
2020-03-16cpp: fix redefinition of a macro during its own expansionLuc Van Oostenryck1-0/+20
2020-03-15cpp: remove extra newlines during macro expansionLuc Van Oostenryck3-9/+16
2020-03-15cpp: silently allow conditional directives within a macroLuc Van Oostenryck2-1/+41
2020-03-15make "directive in macro's argument list" a warningOleg Nesterov1-4/+4
2020-02-09do the tree inlining during expansion phaseLuc Van Oostenryck1-1/+0
2020-02-09inline: add some testsLuc Van Oostenryck4-0/+108
2020-02-06fix type compatibility of _AtomicLuc Van Oostenryck2-22/+38
2019-12-17Merge branch 'msg-wrong-redecl' into nextLuc Van Oostenryck4-15/+60
2019-12-17Merge branch 'expand-init' (early part) into nextLuc Van Oostenryck15-7/+256
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-15improve diagnostic message about wrong redeclarationLuc Van Oostenryck4-15/+60
2019-12-15testcase: remove trailing ';' in commandsLuc Van Oostenryck2-2/+2
2019-12-10fix cost of dereference of symbols with complex typeLuc Van Oostenryck1-1/+0
2019-12-10fix simplify_loads() when doing type punningLuc Van Oostenryck2-2/+0
2019-12-10fix expansion of initializer (default)Luc Van Oostenryck1-1/+0
2019-12-10fix expansion of initializer (mismatching type)Luc Van Oostenryck2-2/+0
2019-12-10fix expansion of initializer (mismatching size)Luc Van Oostenryck1-1/+0
2019-12-10degenerated arrays & functions are addressable tooLuc Van Oostenryck2-1/+15
2019-12-10fix addressability marking in evaluate_addressof()Luc Van Oostenryck1-1/+0
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 Oostenryck1-0/+27
2019-12-09fix premature examination of dereferenced objectLuc Van Oostenryck1-0/+27
2019-12-09Merge branch 'bitfield-size'Luc Van Oostenryck1-0/+30
2019-11-30bitfield: display the bitfield name in error messagesLuc Van Oostenryck1-5/+5
2019-11-30bitfield: oversized bitfields are errorsLuc Van Oostenryck1-1/+0
2019-11-30bitfield: add testcases for invalid bitfield widthLuc Van Oostenryck1-0/+31
2019-11-28testsuite: avoid standard includes in the testsLuc Van Oostenryck2-3/+2
2019-11-28Merge branch 'arch-cleanup' into masterLuc Van Oostenryck1-0/+2
2019-11-28arch: add predefines for INT128 only on supported archsLuc Van Oostenryck1-0/+2
2019-11-27Merge branch 'arm-hf' into masterLuc Van Oostenryck5-0/+40
2019-11-27fp-abi: teach sparse about -m{hard,soft}-floatLuc Van Oostenryck1-1/+0
2019-11-27fp-abi: teach sparse about -mfloat-abi on ARMLuc Van Oostenryck4-4/+0
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 Oostenryck4-1/+27
2019-11-26Merge branch 'static-forward' into masterLuc Van Oostenryck1-9/+10
2019-11-21allow 'static' forward declarationLuc Van Oostenryck1-9/+10
2019-11-21let function definition inherit prototype attributesLuc Van Oostenryck2-5/+1
2019-11-20propagate function modifiers only to functionsLuc Van Oostenryck2-2/+0
2019-11-19add tests for function attributesLuc Van Oostenryck9-10/+134
2019-11-15arch: teach sparse about -fshort-wcharLuc Van Oostenryck1-0/+6
2019-11-15function attributes apply to the function declarationLuc Van Oostenryck1-0/+19
2019-11-14arch: fix the signedness of plain charsLuc Van Oostenryck3-1/+21
2019-11-10Merge branch 'eval-typeof' into nextLuc Van Oostenryck1-0/+10
2019-11-10typeof: examine it at show-timeLuc Van Oostenryck1-1/+0
2019-11-10typeof: add a test for unexamined typeofLuc Van Oostenryck1-0/+11
2019-10-30arch: add an option to specify the desired arch: --arch=<arch>Luc Van Oostenryck4-0/+106
2019-10-09"graph" segfaults on top-level asmLuc Van Oostenryck1-0/+1
2019-10-01make 'directive in argument list' clearerLuc Van Oostenryck1-4/+4
2019-09-30Merge branch 'fix-expand-asm' into tipLuc Van Oostenryck14-33/+228
2019-09-30Merge branch 'relax-constexpr' into tipLuc Van Oostenryck2-4/+10
2019-09-30Merge branch 'fix-bad-linear' into tipLuc Van Oostenryck2-0/+36
2019-09-30fix sign extension in casting enumsDan Carpenter1-1/+0
2019-09-30add test for enum sign extensionLuc Van Oostenryck1-0/+13
2019-09-30do not linearize invalid expressionLuc Van Oostenryck1-1/+0
2019-09-28asm: arrays & functions in non-memory operand degenerate into pointersLuc Van Oostenryck1-1/+0
2019-09-27asm: fix missing expansion of asm statementsLuc Van Oostenryck1-1/+0
2019-09-27asm: linearization of output memory operands is differentLuc Van Oostenryck1-1/+0
2019-09-27asm: missing evaluation of asm statementsLuc Van Oostenryck1-1/+0
2019-09-27asm: check earlier that body & constraints are stringsLuc Van Oostenryck1-3/+3
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 Oostenryck1-3/+3
2019-09-26expand: add missing expansion of compound literalsLuc Van Oostenryck2-2/+0
2019-09-26expand: add test for expansion of compound literalsLuc Van Oostenryck1-0/+27
2019-09-26shorter message for non-scalar in conditionalsLuc Van Oostenryck2-9/+9
2019-09-26more consistent type info in error messagesLuc Van Oostenryck6-29/+29
2019-09-02constexpr: relax constexprness of constant conditionalsLuc Van Oostenryck2-4/+10
2019-04-01fix allowing casts of AS pointers to uintptr_tLuc Van Oostenryck4-15/+57
2019-03-30also accept casts of AS pointers to uintptr_tLuc Van Oostenryck1-0/+60
2019-03-05add test for evaluation of invalid assignmentsLuc Van Oostenryck2-0/+37
2019-03-03expand: 'conservative' must not bypass valid simplificationsThomas Weißschuh2-0/+76
2019-02-28display extra info for type errors in compare & conditionalLuc Van Oostenryck1-2/+6
2019-02-18testsuite: fix bad escaping of '[' & ']'Luc Van Oostenryck2-2/+2
2019-02-17Merge branch 'branch-v0.6'Luc Van Oostenryck2-9/+9
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-04target.c: ignore -m64 on archs where int32_t is a longLuc Van Oostenryck18-0/+19
2019-02-04testsuite: remove unneeded -m64 from command-lineLuc Van Oostenryck1-1/+1
2018-12-29explain cause of 'incorrect type in conditional'Luc Van Oostenryck2-9/+9
2018-12-20Merge branch 'show-type'Luc Van Oostenryck12-61/+61
2018-12-19Merge branch 'bitwise-ptr'Luc Van Oostenryck2-0/+39
2018-12-17show-parse: do not display base type's redundant specifiersLuc Van Oostenryck5-37/+37
2018-12-17show-parse: don't display null ident in show_typename()Luc Van Oostenryck9-25/+25
2018-12-17add a flag to warn on casts to/from bitwise pointersLuc Van Oostenryck1-2/+1
2018-12-17Add testcases for bitwise cast on pointerThiebaud Weksteen2-0/+40
2018-12-17Merge branch 'predefs' into tipv0.6.0-rc1Luc Van Oostenryck8-59/+93
2018-12-17add predefined macros for [u]int32_tLuc Van Oostenryck1-0/+2
2018-12-17add predefined macros for [u]int64_tLuc Van Oostenryck1-0/+2
2018-12-17add predefined macros for [u]int{8,16}_tLuc Van Oostenryck1-0/+4
2018-12-17add predefined macros for [u]intmaxLuc Van Oostenryck1-0/+2
2018-12-17add predefined macros for [u]intptrLuc Van Oostenryck1-0/+2
2018-12-17make predefined_type_size() more genericLuc Van Oostenryck2-0/+12
2018-12-16show-parse: strip do_show_type()'s trailing spaceLuc Van Oostenryck1-2/+2
2018-12-14teach sparse about asm inlineLuc Van Oostenryck1-0/+52
2018-12-14fix '__SIZE_TYPE__' for LLP64Luc Van Oostenryck1-1/+0
2018-12-14testsuite: test predef macros on LP32/LP64/LLP64Luc Van Oostenryck7-59/+70
2018-12-12Merge branch 'as-named' into tipLuc Van Oostenryck5-20/+37
2018-12-12as-name: allow ident as address_spaceLuc Van Oostenryck1-0/+17
2018-12-10Merge branch 'fix-non-const-case' into tipLuc Van Oostenryck1-0/+37
2018-12-09as-name: add and use show_as()Luc Van Oostenryck4-20/+20
2018-12-09Merge branch 'dump-macros'Luc Van Oostenryck2-0/+52
2018-12-09don't allow newlines inside string literalsLuc Van Oostenryck2-4/+3
2018-12-08add testcase for missing deliminator ' or "Luc Van Oostenryck1-0/+18
2018-12-01Conditionalize 'warning: non-ANSI function ...'John Levon4-0/+53
2018-12-01Use -Wimplicit-int when warning about missing K&R argument typesLuc Van Oostenryck1-0/+15
2018-12-01fix implicit K&R argument typesLuc Van Oostenryck1-0/+16
2018-11-29Ignore #ident directivesJohn Levon2-0/+24
2018-11-24pre-process: add the -dM option to dump macro definitionsRamsay Jones2-0/+42
2018-11-24pre-process: print variable argument macros correctlyRamsay Jones1-0/+5
2018-11-24pre-process: don't put spaces in macro parameter listRamsay Jones1-1/+1
2018-11-24pre-process: print macros containing # and ## correctlyRamsay Jones1-0/+5
2018-11-23constant: add -Wconstant-suffix warningRamsay Jones2-0/+30
2018-11-22sparsei: add the --[no-]jit optionsRamsay Jones1-1/+1
2018-11-20fix expansion of function designatorLuc Van Oostenryck1-1/+0
2018-11-20add testcase for missing function designator expansionLuc Van Oostenryck1-0/+23
2018-10-05Merge branch 'fix-enum-type' into tipLuc Van Oostenryck14-3/+305
2018-10-05enum: more specific error message for empty enumLuc Van Oostenryck1-1/+1
2018-10-05enum: default to unsignedLuc Van Oostenryck3-4/+3
2018-10-05enum: warn when mixing different restricted typesLuc Van Oostenryck1-0/+20
2018-10-05enum: only warn (once) when mixing bitwisenessLuc Van Oostenryck1-0/+29
2018-10-05enum: use the smallest type that fitLuc Van Oostenryck3-3/+0
2018-10-05enum: fix cast_enum_list()Luc Van Oostenryck1-1/+0
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 Oostenryck1-1/+0
2018-10-05enum: add testcase for UB in oversized shiftLuc Van Oostenryck1-0/+17
2018-09-26print address space number for cast-from-AS warningsVincenzo Frascino2-3/+63
2018-09-10ssa: relax what can be promotedLuc Van Oostenryck1-2/+0
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 Oostenryck1-1/+0
2018-09-08add testcase for non-constant switch-caseLuc Van Oostenryck1-0/+38
2018-09-06Merge branch 'rem-trivial-phi' into tipLuc Van Oostenryck1-0/+14
2018-09-06Merge branches 'missing-return' and 'fix-logical-phi' into tipLuc Van Oostenryck13-90/+281
2018-09-06fix linearization of nested logical exprLuc Van Oostenryck4-93/+90
2018-09-06add tests for nested logical exprLuc Van Oostenryck1-0/+49
2018-09-06fix ordering of phi-node operandLuc Van Oostenryck2-5/+4
2018-09-06add testcases for wrong ordering in phi-nodesLuc Van Oostenryck4-0/+55
2018-09-06return nothing only in void functionsLuc Van Oostenryck1-1/+0
2018-09-06use UNDEF for missing returnsLuc Van Oostenryck5-5/+0
2018-09-06topasm: top-level asm is specialLuc Van Oostenryck1-0/+0
2018-09-05add testcases for missing return in last blockLuc Van Oostenryck6-0/+97
2018-09-01stricter warning for explicit cast to ulongLuc Van Oostenryck1-0/+56
2018-09-01Merge branch 'dead-switch' into tipLuc Van Oostenryck1-0/+19
2018-09-01Merge branch 'has-attribute' into tipLuc Van Oostenryck1-0/+56
2018-09-01trivial-phi: remove more complex trivial phi-nodesLuc Van Oostenryck1-1/+0
2018-09-01trivial-phi: add testcase for unneeded trivial phi-nodesLuc Van Oostenryck1-0/+15
2018-09-01fix linearization of unreachable switch (with reachable label).Luc Van Oostenryck1-1/+0
2018-09-01add tescase for unreachable label in switchLuc Van Oostenryck1-0/+20
2018-09-01has-attr: add support for __has_attribute()Luc Van Oostenryck1-1/+0
2018-09-01has-attr: add testcase for __has_attribute()Luc Van Oostenryck1-0/+57
2018-08-30Merge branch 'volatile-bitfield' and 'mode-pointer' into tipLuc Van Oostenryck2-0/+34
2018-08-25fix: do not optimize away accesses to volatile bitfieldsLuc Van Oostenryck1-1/+0
2018-08-25add testcase for accesses to volatile bitfieldsLuc Van Oostenryck1-0/+17
2018-08-25Merge branch 'ssa' into tipLuc Van Oostenryck32-71/+301
2018-08-25testsuite: remove useless test for loop-linearizationLuc Van Oostenryck1-136/+0
2018-08-25Merge branch 'kill-dead-stores' into tipLuc Van Oostenryck4-0/+128
2018-08-25add a testcase for enum using a modeLuc Van Oostenryck1-0/+18
2018-08-24Merge branches 'optim-trunc-or' and 'optim-mask-shift-or' into tipLuc Van Oostenryck4-4/+0
2018-08-24simplify TRUNC(SHIFT(a | b, S), N)Luc Van Oostenryck2-2/+0
2018-08-24simplify AND(SHIFT(a | b, S), M)Luc Van Oostenryck2-2/+0
2018-08-22simplify TRUNC((x & M') | y, N)Luc Van Oostenryck4-4/+0
2018-08-22Merge branches 'optim-shift-and' and 'optim-bitfield' into tipLuc Van Oostenryck38-0/+628
2018-08-22simplify ((x & M) << S) when (M << S) == (-1 << S)Luc Van Oostenryck1-1/+0
2018-08-22simplify ((x & M) << S) when (M << S) == 0Luc Van Oostenryck1-1/+0
2018-08-22simplify ((x & M) >> S) when (M >> S) == (-1 >> S)Luc Van Oostenryck1-1/+0
2018-08-22simplify ((x & M) >> S) when (M >> S) == 0Luc Van Oostenryck1-1/+0
2018-08-22add testcases for {LSR,SHL}(AND(x, M), S) with shared AND(x, M)Luc Van Oostenryck4-0/+66