index
:
sparse/sparse.git
bitwise-ones
format-check
maint-v0.6.2
maint-v0.6.3
master
C semantic parser
Luc Van Oostenryck
about
summary
refs
log
tree
commit
diff
stats
homepage
log msg
author
committer
range
path:
root
/
evaluate.c
Age
Commit message (
Expand
)
Author
Files
Lines
2022-06-24
fix "unreplaced" warnings caused by using typeof() on inline functions
Luc Van Oostenryck
1
-1
/
+1
2021-04-19
remove early simplification of casts during evaluation
Luc Van Oostenryck
1
-43
/
+1
2021-03-05
Merge branch 'slice'
Luc Van Oostenryck
1
-1
/
+0
2021-02-28
slice: remove unneeded nr_nrbits from EXPR_SLICE
Luc Van Oostenryck
1
-1
/
+0
2021-02-24
fix eval of the assignment of a non-restricted value to a restricted variable
Luc Van Oostenryck
1
-1
/
+1
2020-11-19
Merge branches 'cleanup-postop' and 'cleanup-linearize'
Luc Van Oostenryck
1
-2
/
+1
2020-11-19
simplify unrestricted postop
Luc Van Oostenryck
1
-2
/
+1
2020-11-18
unqual: statement expressions should drop qualifiers
Luc Van Oostenryck
1
-1
/
+1
2020-11-18
unqual: comma expressions should drop qualifiers
Luc Van Oostenryck
1
-1
/
+1
2020-11-18
unqual: unqualify_type() should check for null ctypes
Luc Van Oostenryck
1
-0
/
+2
2020-11-18
casts should drop qualifiers
Luc Van Oostenryck
1
-0
/
+13
2020-10-19
Merge branch 'warn-address-builtin' into next
Luc Van Oostenryck
1
-0
/
+4
2020-10-16
fix null pointer deref on return expression with invalid type
Luc Van Oostenryck
1
-1
/
+1
2020-10-16
warn when taking the address of a built-in function
Luc Van Oostenryck
1
-0
/
+4
2020-10-09
Merge branch 'usual-conv'
Luc Van Oostenryck
1
-31
/
+36
2020-10-08
fix usual conversion of integers
Luc Van Oostenryck
1
-31
/
+34
2020-10-08
fix evaluation of pointer to bool conversions
Luc Van Oostenryck
1
-0
/
+2
2020-10-01
flex-array: warn when using sizeof() on a flexible array
Luc Van Oostenryck
1
-0
/
+3
2020-08-18
Merge branch 'union-cast' into master
Luc Van Oostenryck
1
-20
/
+68
2020-08-18
Merge branch 'pointer-arith' into master
Luc Van Oostenryck
1
-2
/
+2
2020-08-18
Merge branch 'past-deep'
Luc Van Oostenryck
1
-2
/
+2
2020-08-18
remove unneeded predeclaration of evaluate_cast()
Luc Van Oostenryck
1
-2
/
+0
2020-08-17
fix evaluate_ptr_add() when sizeof(offset) != sizeof(pointer)
Luc Van Oostenryck
1
-2
/
+2
2020-08-17
union-cast: teach sparse about union casts
Luc Van Oostenryck
1
-1
/
+46
2020-08-15
union-cast: extract evaluate_compound_literal()
Luc Van Oostenryck
1
-19
/
+22
2020-08-09
Merge branch 'check-void' into tip
Luc Van Oostenryck
1
-1
/
+1
2020-08-09
fix checking if type is void
Luc Van Oostenryck
1
-1
/
+1
2020-08-08
Merge branch 'wstring-init' into next
Luc Van Oostenryck
1
-10
/
+15
2020-08-08
warning: conditionalize "advancing past deep designator"
Luc Van Oostenryck
1
-2
/
+2
2020-08-08
Merge branch 'sync-cas' into next
Luc Van Oostenryck
1
-4
/
+3
2020-08-08
wstring: call is_string_type() only when needed
Luc Van Oostenryck
1
-3
/
+2
2020-08-08
wstring: extend is_string_type() to also detect wide strings
Luc Van Oostenryck
1
-1
/
+4
2020-08-08
wstring: add support for checking size in string initializer
Luc Van Oostenryck
1
-2
/
+4
2020-08-08
wstring: add support for evaluation of wide string
Luc Van Oostenryck
1
-4
/
+5
2020-08-07
export evaluate_arguments()
Luc Van Oostenryck
1
-4
/
+3
2020-08-06
shift-assign: restrict shift count to unsigned int
Luc Van Oostenryck
1
-0
/
+5
2020-08-06
shift-assign: fix linearization of shift-assign
Luc Van Oostenryck
1
-1
/
+5
2020-07-13
fix evaluation error with assignment of qualified arrays
Luc Van Oostenryck
1
-2
/
+2
2020-07-04
add support for arch specific asm constraints
Luc Van Oostenryck
1
-1
/
+4
2020-07-04
avoid multiple warnings when inlining undeclared calls
Luc Van Oostenryck
1
-0
/
+4
2020-06-23
gensel: remove unneeded test/uninitialized warning
Luc Van Oostenryck
1
-3
/
+1
2020-06-20
gensel: validate the type of the associations
Luc Van Oostenryck
1
-0
/
+20
2020-06-20
gensel: controlling expression must be pointer-converted
Luc Van Oostenryck
1
-1
/
+3
2020-06-19
gensel: controlling expression must be lvalue converted
Luc Van Oostenryck
1
-1
/
+4
2020-06-19
gensel: use temporary variable in generic selection
Luc Van Oostenryck
1
-2
/
+4
2020-06-09
generic: fix crash when nothing match
Luc Van Oostenryck
1
-2
/
+6
2020-06-03
univ-init: scalar initializer needs some additional checks
Luc Van Oostenryck
1
-0
/
+3
2020-05-30
evaluate: mark evaluate_generic_selection() as static
Ramsay Jones
1
-1
/
+1
2020-05-28
add support for _Generic
Luc Van Oostenryck
1
-0
/
+36
2020-05-21
bad-goto: check declaration of label expressions
Luc Van Oostenryck
1
-0
/
+1
2020-05-21
bad-goto: extract check_label_declaration()
Luc Van Oostenryck
1
-6
/
+16
2020-05-21
bad-goto: catch labels with reserved names
Luc Van Oostenryck
1
-0
/
+2
2020-05-21
bad-goto: do not linearize function with undeclared labels
Luc Van Oostenryck
1
-0
/
+1
2020-05-21
bad-goto: simplify testing of undeclared labels
Luc Van Oostenryck
1
-1
/
+2
2020-05-21
bad-goto: reorg test in evaluate_goto_statement()
Luc Van Oostenryck
1
-3
/
+7
2020-05-21
misc: always use the node for current_fn
Luc Van Oostenryck
1
-2
/
+2
2020-05-21
misc: s/fntype/rettype/
Luc Van Oostenryck
1
-5
/
+6
2020-02-09
do the tree inlining during expansion phase
Luc Van Oostenryck
1
-16
/
+0
2019-12-17
Merge branch 'msg-wrong-redecl' into next
Luc Van Oostenryck
1
-3
/
+5
2019-12-17
Merge branch 'eval-typeof' into next
Luc Van Oostenryck
1
-4
/
+6
2019-12-17
Merge branch 'expand-init' (early part) into next
Luc Van Oostenryck
1
-4
/
+12
2019-12-15
improve diagnostic message about wrong redeclaration
Luc Van Oostenryck
1
-3
/
+5
2019-12-15
typeof: do not let classify_type() do its own SYM_TYPEOF expansion
Luc Van Oostenryck
1
-4
/
+2
2019-12-15
mark strings as examined & evaluated
Luc Van Oostenryck
1
-0
/
+4
2019-12-10
degenerated arrays & functions are addressable too
Luc Van Oostenryck
1
-0
/
+1
2019-12-10
fix addressability marking in evaluate_addressof()
Luc Van Oostenryck
1
-0
/
+2
2019-12-10
extract mark_addressable() from evaluate_addressof().
Luc Van Oostenryck
1
-4
/
+9
2019-12-09
Merge branch 'premature-examine' into next
Luc Van Oostenryck
1
-1
/
+1
2019-12-09
fix premature examination of dereferenced object
Luc Van Oostenryck
1
-1
/
+1
2019-11-28
remove redundant degenerate() in compatible_assignment_types()
Luc Van Oostenryck
1
-1
/
+1
2019-11-26
Merge branch 'parse-spec' into master
Luc Van Oostenryck
1
-11
/
+8
2019-11-25
spec: get rid of all specifier MOD_XXX
Luc Van Oostenryck
1
-11
/
+8
2019-11-19
fix assignment check with function attribute
Luc Van Oostenryck
1
-2
/
+6
2019-11-19
fix assignment: pointer to __pure/__noreturn function to void *
Luc Van Oostenryck
1
-1
/
+1
2019-11-03
fix pointer casts in evaluate_compare()
Xi Wang
1
-4
/
+4
2019-09-30
asm: warn on invalid empty constraints
Luc Van Oostenryck
1
-0
/
+3
2019-09-30
Merge branch 'fix-expand-asm' into tip
Luc Van Oostenryck
1
-40
/
+118
2019-09-28
asm: arrays & functions in non-memory operand degenerate into pointers
Luc Van Oostenryck
1
-0
/
+3
2019-09-27
asm: missing evaluation of asm statements
Luc Van Oostenryck
1
-0
/
+18
2019-09-27
asm: use parse_asm_constraint() to verify constraints
Luc Van Oostenryck
1
-20
/
+15
2019-09-27
asm: parse constraints
Luc Van Oostenryck
1
-2
/
+74
2019-09-27
asm: use a specific struct for asm operands
Luc Van Oostenryck
1
-4
/
+1
2019-09-27
asm: check earlier that body & constraints are strings
Luc Van Oostenryck
1
-11
/
+3
2019-09-26
expand: add missing expansion of compound literals
Luc Van Oostenryck
1
-0
/
+1
2019-09-26
shorter message for non-scalar in conditionals
Luc Van Oostenryck
1
-1
/
+1
2019-09-26
more consistent type info in error messages
Luc Van Oostenryck
1
-10
/
+10
2019-09-02
constexpr: relax constexprness of constant conditionals
Luc Van Oostenryck
1
-13
/
+15
2019-04-01
fix allowing casts of AS pointers to uintptr_t
Luc Van Oostenryck
1
-2
/
+2
2019-03-30
also accept casts of AS pointers to uintptr_t
Luc Van Oostenryck
1
-1
/
+1
2019-03-27
evaluate: externally_visible functions don't need a declaration
Jann Horn
1
-1
/
+1
2019-02-28
remove confusing intermediate 'where' in evaluate_assignment()
Luc Van Oostenryck
1
-2
/
+1
2019-02-28
display extra info for type errors in compare & conditional
Luc Van Oostenryck
1
-2
/
+6
2019-02-25
evaluate: sizeof(bool) could be larger than sizeof(char)
Luc Van Oostenryck
1
-1
/
+1
2019-02-17
Merge branch 'branch-v0.6'
Luc Van Oostenryck
1
-1
/
+1
2019-01-10
is_null_pointer_constant(): replace magic constant by enum
Aurelien Aptel
1
-8
/
+14
2018-12-29
explain cause of 'incorrect type in conditional'
Luc Van Oostenryck
1
-1
/
+1
2018-12-20
remove redundant check of _Bool bitsize
Luc Van Oostenryck
1
-1
/
+1
2018-12-17
add a flag to warn on casts to/from bitwise pointers
Luc Van Oostenryck
1
-0
/
+19
2018-12-12
as-named: warn on bad address space
Luc Van Oostenryck
1
-7
/
+7
2018-12-12
as-name: use idents for address spaces
Luc Van Oostenryck
1
-21
/
+24
2018-12-09
as-name: add and use show_as()
Luc Van Oostenryck
1
-3
/
+3
2018-09-26
print address space number for cast-from-AS warnings
Vincenzo Frascino
1
-1
/
+1
2018-09-01
stricter warning for explicit cast to ulong
Luc Van Oostenryck
1
-2
/
+2
2018-07-23
big-shift: fix evaluation of shift-assign
Luc Van Oostenryck
1
-0
/
+5
2018-06-23
cast: force_cast are OK on non-scalar values
Luc Van Oostenryck
1
-6
/
+6
2018-06-23
cast: rename evaluate_cast()'s vars with slightly more meaningful names
Luc Van Oostenryck
1
-48
/
+48
2018-06-04
Merge branches 'label-redef', 'goto-reserved', 'errmsg-builtin-pos', 'fix-bui...
Luc Van Oostenryck
1
-1
/
+33
2018-06-01
fix crash on 'goto <reserved word>'
Luc Van Oostenryck
1
-1
/
+1
2018-05-27
Merge branch 'vla-sizeof' into tip
Luc Van Oostenryck
1
-0
/
+32
2018-05-27
vla-sizeof: add support for sizeof of VLAs
Luc Van Oostenryck
1
-0
/
+32
2018-05-21
Merge branch 'doc-sphinx' into tip
Luc Van Oostenryck
1
-0
/
+1
2018-05-21
api: move evaluate interface to its own header file
Luc Van Oostenryck
1
-0
/
+1
2018-05-01
export check_duplicates()
Luc Van Oostenryck
1
-1
/
+1
2018-04-11
sparse: add -Wpointer-arith flag to toggle sizeof(void) warnings
Joey Pabalinas
1
-2
/
+4
2018-04-11
doc: copy-edit text related to applying sizeof to a _Bool
Joey Pabalinas
1
-1
/
+1
2018-02-20
ban use of 'true' or 'false'
Luc Van Oostenryck
1
-12
/
+12
2018-02-01
always evaluate both operands
Luc Van Oostenryck
1
-9
/
+9
2018-02-01
do not report bad types twice
Luc Van Oostenryck
1
-1
/
+6
2018-02-01
add helpers: valid_expr_type() & valid_subexpr_type()
Luc Van Oostenryck
1
-0
/
+11
2018-02-01
use valid_type to avoid to warn twice on conditionals
Luc Van Oostenryck
1
-1
/
+1
2018-02-01
early return if null ctype in evaluate_conditional()
Luc Van Oostenryck
1
-17
/
+15
2018-02-01
fix error in bad conditional
Luc Van Oostenryck
1
-1
/
+3
2018-01-31
report type & size on non-power-of-2 pointer subtraction
Luc Van Oostenryck
1
-1
/
+3
2017-12-21
Merge branches 'deref-fun-ptr' and 'deref-base-type' into tip
Luc Van Oostenryck
1
-0
/
+1
2017-12-21
dereference of a function is a no-op
Luc Van Oostenryck
1
-0
/
+3
2017-12-21
avoid unneeded alloc on error path
Luc Van Oostenryck
1
-1
/
+2
2017-12-21
fix: evaluate_dereference() unexamined base type
Luc Van Oostenryck
1
-0
/
+1
2017-12-08
fix: add missing degenerate() for logical not
Luc Van Oostenryck
1
-0
/
+1
2017-11-11
Merge branches 'volatile-loads-are-side-effects', 'fix-volatile-simplificatio...
Luc Van Oostenryck
1
-49
/
+35
2017-11-08
define MOD_QUALIFIER for (MOD_CONST | MOD_VOLATILE)
Luc Van Oostenryck
1
-1
/
+1
2017-09-17
use a specific struct for asm operands
Luc Van Oostenryck
1
-48
/
+34
2017-08-28
Merge remote-tracking branch 'luc/constexpr-v4' into master
Christopher Li
1
-54
/
+152
2017-08-04
fix: give a type to bad cond expr with known condition
Luc Van Oostenryck
1
-0
/
+12
2017-06-15
fix: add missing examine in evaluate_dereference()
Luc Van Oostenryck
1
-0
/
+2
2017-06-14
Merge branches 'quiets-bool-cast-restricted-v3', 'error-vs-warnings-v2', 'imp...
Luc Van Oostenryck
1
-1
/
+2
2017-06-10
finer control over error vs. warnings
Luc Van Oostenryck
1
-0
/
+1
2017-05-19
Merge branches 'dump-macros-v2', 'fix-predefined-size', 'fix-bool-context', '...
v0.5.1-rc1
Luc Van Oostenryck
1
-1
/
+1
2017-05-19
avoid warning on explicit 'bool <- restricted' casts
Luc Van Oostenryck
1
-3
/
+10
2017-05-19
returns the correct type when evaluating NULL
Luc Van Oostenryck
1
-1
/
+1
2017-05-11
avoid useless warning for 'bool <- restricted type' conversion
Luc Van Oostenryck
1
-0
/
+6
2017-03-31
give default return type in evaluate_call()
Luc Van Oostenryck
1
-1
/
+1
2017-03-31
return an error if too few args
Luc Van Oostenryck
1
-1
/
+3
2017-03-31
constexpr: treat comparisons between types as integer constexpr
Nicolai Stange
1
-4
/
+9
2017-03-31
constexpr: support compound literals as address constants
Nicolai Stange
1
-0
/
+2
2017-03-31
constexpr: relax some constant expression rules for pointer expressions
Nicolai Stange
1
-2
/
+27
2017-03-31
constexpr: examine constness of __builtin_offsetof at evaluation only
Nicolai Stange
1
-2
/
+6
2017-03-31
constexpr: recognize string literals as address constants
Nicolai Stange
1
-0
/
+1
2017-03-31
constexpr: recognize members of static compound objects as address constants
Nicolai Stange
1
-0
/
+6
2017-03-31
constexpr: recognize address constants created through pointer arithmetic
Nicolai Stange
1
-0
/
+7
2017-03-31
constexpr: recognize address constants created through casts
Nicolai Stange
1
-0
/
+7
2017-03-31
constexpr: recognize static objects as address constants
Nicolai Stange
1
-1
/
+2
2017-03-31
constexpr: check static storage duration objects' intializers' constness
Nicolai Stange
1
-0
/
+10
2017-03-31
constexpr: collect storage modifiers of initializers
Luc Van Oostenryck
1
-6
/
+7
2017-03-31
constexpr: rename handle_simple_initializer() to handle_initializer()
Luc Van Oostenryck
1
-4
/
+4
2017-03-31
constexpr: add support for tagging address constants
Nicolai Stange
1
-1
/
+18
2017-03-31
constexpr: examine constness of conditionals at evaluation only
Nicolai Stange
1
-6
/
+2
2017-03-31
constexpr: examine constness of preops at evaluation only
Nicolai Stange
1
-4
/
+4
2017-03-31
constexpr: examine constness of binops and alike at evaluation only
Nicolai Stange
1
-13
/
+6
2017-03-31
constexpr: examine constness of casts at evaluation only
Nicolai Stange
1
-8
/
+29
2017-03-31
constexpr: introduce additional expression constness tracking flags
Nicolai Stange
1
-26
/
+26
2017-03-22
fix evaluation of a function or array symbol in conditionals
Luc Van Oostenryck
1
-0
/
+1
2017-03-22
warn if testing the address of an array
Luc Van Oostenryck
1
-0
/
+3
2017-03-22
warn if testing the address of a function
Luc Van Oostenryck
1
-1
/
+4
2017-03-04
Allow casting to a restricted type if !restricted_value
Edward Cree
1
-1
/
+1
2017-02-13
validate expression's type in conditionals
Luc Van Oostenryck
1
-0
/
+5
2017-02-13
fix cast to bool
Luc Van Oostenryck
1
-0
/
+32
2017-02-13
fix typing error in compound assignment
Luc Van Oostenryck
1
-1
/
+4
2017-02-13
Remove unneeded variable in integer_promotion()
Luc Van Oostenryck
1
-3
/
+1
2017-02-13
cleanup: remove evaluate_arguments()'s unused argument
Luc Van Oostenryck
1
-2
/
+2
2017-01-27
Fix type checking of variadic functions
Luc Van Oostenryck
1
-1
/
+1
2015-03-13
Ignore pure attribute in assignement
Ard Biesheuvel
1
-1
/
+1
2014-10-25
teach next_designators() use array_element_offset()
Christopher Li
1
-1
/
+1
2014-10-10
sparse: treat function pointers as pointers to const data
Ard Biesheuvel
1
-0
/
+9
2014-09-18
Fix initializers in anonymous structs and unions
Linus Torvalds
1
-2
/
+18
2014-07-17
round up the array element size to byte align
Christopher Li
1
-1
/
+1
2014-04-03
Fix error at anoymous unions
Linus Torvalds
1
-12
/
+2
2014-04-01
Add warning about duplicate initializers
Linus Torvalds
1
-0
/
+8
2014-04-01
Support GCC's transparent unions
John Keeping
1
-1
/
+27
2014-04-01
evaluate: split out implementation of compatible_assignment_types
John Keeping
1
-23
/
+34
2014-02-27
sparse: Allow override of sizeof(bool) warning
Joe Perches
1
-1
/
+2
2013-11-29
sparse: Also check bit_offset when checking implicit casts
Franz Schrober
1
-1
/
+2
2013-11-29
sparse: Relicense under the MIT license
Franz Schrober
1
-1
/
+17
2013-11-29
Revert "Fix mistaken comparison that becomes a no-op."
Franz Schrober
1
-1
/
+1
2013-05-27
Fix expression type for floating point negation ('!')
Xi Wang
1
-1
/
+1
2013-05-27
Fix result type of relational and logical operators
Xi Wang
1
-6
/
+9
2013-04-26
Allow forced attribute in function argument
v0.4.5-rc1
Christopher Li
1
-1
/
+1
2013-04-19
Warn about initialization of a char array with a too long constant C string.
Masatake YAMATO
1
-4
/
+8
2013-02-13
Merge git://git.kernel.org/pub/scm/linux/kernel/git/viro/sparse into marge
Christopher Li
1
-9
/
+17
2013-02-12
Gentler handling of bitwise warnings in unary operations
Al Viro
1
-9
/
+17
2012-06-04
check missing or duplicate goto labels
Xi Wang
1
-1
/
+11
2011-08-23
Fix parsing empty asm clobber
Christopher Li
1
-1
/
+1
2011-05-31
Remove set but not used variable
Christopher Li
1
-8
/
+2
2011-05-07
evaluate: Allow sizeof(_Bool) to succeed.
Ben Pfaff
1
-0
/
+5
2010-06-17
parser: add support for asm goto
Jiri Slaby
1
-0
/
+8
2010-03-29
evaluate: check for NULL type inside typeof
Christopher
1
-1
/
+3
2010-03-28
New attribute designated_init: mark a struct as requiring designated init
Josh Triplett
1
-0
/
+10
2009-08-01
Add support for TImode type (__int128_t)
Blue Swirl
1
-3
/
+3
2009-07-19
move extern inline function to file scope
Christopher Li
1
-5
/
+0
2009-07-18
Add missing checks for Waddress-space
Martin Nagy
1
-4
/
+4
2009-07-17
Fix implicit cast to float
Thomas Schmid
1
-31
/
+0
[next]