Age | Commit message (Expand) | Author | Files | Lines |
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 argumentv0.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 |
2009-07-17 | fun with declarations and definitions | Al Viro | 1 | -0/+7 |
2008-12-28 | Also warn about sizeof(function) | Alexey Zaytsev | 1 | -0/+6 |
2008-12-28 | Warn about explicit usage of sizeof(void) | Christopher Li | 1 | -1/+14 |
2008-12-25 | Teach classify_type to handle typeof | Christopher Li | 1 | -0/+5 |
2008-12-18 | Expand "dubious !x & y" handling to other combinations of !, &, and |. | Josh Triplett | 1 | -3/+10 |
2008-12-17 | Unhardcode byte size being 8 bits. | David Given | 1 | -13/+13 |
2008-12-15 | Evaluate iterator symbols | Christopher Li | 1 | -0/+1 |
2008-04-05 | Fix type mismatches with incomplete types | Geoff Johnstone | 1 | -0/+4 |
2008-04-03 | catch !x & y brainos | Al Viro | 1 | -0/+3 |
2008-04-03 | fix show_typename() | Al Viro | 1 | -2/+2 |
2008-04-03 | saner warnings for restricted types | Al Viro | 1 | -13/+20 |
2007-08-31 | Rename Wcast_to_address_space to Wcast_to_as to match the command-line argument | Josh Triplett | 1 | -1/+1 |
2007-07-29 | [PATCH] saner -Wtypesign | Al Viro | 1 | -22/+25 |
2007-07-29 | [PATCH] sanitize evaluate_postop() | Al Viro | 1 | -19/+19 |
2007-07-29 | [PATCH] fix evaluate_compare() | Al Viro | 1 | -2/+2 |
2007-07-29 | [PATCH] sanitize evaluate_ptr_add(), start checking for pointers to functions | Al Viro | 1 | -16/+25 |
2007-07-29 | [PATCH] ...,array should degenerate | Al Viro | 1 | -1/+3 |
2007-07-28 | [PATCH] handling of typeof in evaluate_member_dereference() | Al Viro | 1 | -1/+1 |
2007-07-28 | [PATCH] new helper: unfoul() | Al Viro | 1 | -8/+14 |
2007-07-28 | [PATCH] no such thing as array of functions | Al Viro | 1 | -6/+12 |
2007-07-14 | [PATCH] deal correctly with qualifiers on arrays | Al Viro | 1 | -34/+37 |
2007-07-14 | [PATCH] rewrite type_difference() | Al Viro | 1 | -120/+152 |
2007-07-14 | [PATCH] fix the sanity check in evaluate_ptr_sub() | Al Viro | 1 | -6/+7 |
2007-07-14 | [PATCH] get compatible_assignment_types() deal with all cases | Al Viro | 1 | -14/+43 |
2007-07-14 | [PATCH] start cleaning type_difference() | Al Viro | 1 | -25/+9 |
2007-07-14 | [PATCH] integer_promotions() can't get SYM_NODE or SYM_ENUM | Al Viro | 1 | -7/+2 |
2007-07-14 | [PATCH] clean up evaluate_sign() | Al Viro | 1 | -6/+8 |
2007-07-10 | fix handling of pointers in ?: | Al Viro | 1 | -33/+49 |
2007-07-10 | fix handling of address_space in casts and assignments | Al Viro | 1 | -54/+37 |
2007-07-08 | first pass at null pointer constants | Al Viro | 1 | -71/+145 |
2007-07-08 | fix the comma handling in integer constant expressions | Al Viro | 1 | -0/+6 |
2007-06-26 | [PATCH] fix handling of integer constant expressions | Al Viro | 1 | -0/+43 |
2007-06-26 | [PATCH] implement __builtin_offsetof() | Al Viro | 1 | -0/+84 |
2007-06-25 | [PATCH] warn on return <void expression>; | Al Viro | 1 | -0/+2 |
2007-06-25 | [PATCH] in case of compound literal we want to delay examining type | Al Viro | 1 | -5/+6 |
2007-06-25 | [PATCH] move degenerate() down into compatible_assignment_types() | Al Viro | 1 | -17/+13 |
2007-06-25 | [PATCH] fix default argument promotion | Al Viro | 1 | -5/+14 |
2007-06-25 | [PATCH] fix index conversions in evaluate_ptr_add() | Al Viro | 1 | -42/+50 |
2007-06-25 | [PATCH] clean up usual_conversions(), kill evaluate_shift() | Al Viro | 1 | -44/+34 |
2007-06-25 | [PATCH] clean up the typechecking in arithmetics | Al Viro | 1 | -98/+73 |
2007-06-25 | [PATCH] cleanup of evaluate_assign_op() | Al Viro | 1 | -14/+16 |