aboutsummaryrefslogtreecommitdiffstats
path: root/expand.c
AgeCommit message (Expand)AuthorFilesLines
2022-08-23simplify signed constants earlyLinus Torvalds1-6/+22
2022-05-31cast_value: remove error-prone redundant argumentLuc Van Oostenryck1-3/+3
2022-05-31cast_value: assign the new typeLuc Van Oostenryck1-0/+4
2020-08-09force to 0 expressions which are erroneously non-constantLuc Van Oostenryck1-1/+5
2020-08-06bad-shift: wait dead code elimination to warn about bad shiftsLuc Van Oostenryck1-18/+0
2020-05-28add support for _GenericLuc Van Oostenryck1-0/+1
2020-05-21misc: always use the node for current_fnLuc Van Oostenryck1-1/+1
2020-02-09do the tree inlining during expansion phaseLuc Van Oostenryck1-0/+19
2019-12-10fix cost of dereference of symbols with complex typeLuc Van Oostenryck1-5/+5
2019-12-10fix expansion of initializer (default)Luc Van Oostenryck1-2/+63
2019-12-10fix expansion of initializer (mismatching type)Luc Van Oostenryck1-0/+4
2019-12-10fix expansion of initializer (mismatching size)Luc Van Oostenryck1-4/+4
2019-11-25spec: get rid of all specifier MOD_XXXLuc Van Oostenryck1-6/+5
2019-09-30Merge branch 'fix-expand-asm' into tipLuc Van Oostenryck1-4/+25
2019-09-27asm: fix missing expansion of asm statementsLuc Van Oostenryck1-1/+17
2019-09-27asm: use a specific struct for asm operandsLuc Van Oostenryck1-3/+0
2019-09-26expand: add missing expansion of compound literalsLuc Van Oostenryck1-0/+8
2019-03-03expand: add explanation to 'conservative'Luc Van Oostenryck1-0/+5
2019-03-03expand: 'conservative' must not bypass valid simplificationsThomas Weißschuh1-8/+15
2018-11-20fix expansion of function designatorLuc Van Oostenryck1-0/+2
2018-07-23big-shift: add -Wshift-count-{negative,overflow}Luc Van Oostenryck1-0/+5
2018-07-23big-shift: do not truncate the count when checking itLuc Van Oostenryck1-5/+8
2018-07-23big-shift: fix warning message for negative shift countLuc Van Oostenryck1-1/+5
2018-07-22big-shift: also check shift count of shift-assignmentLuc Van Oostenryck1-1/+20
2018-07-22big-shift: use the base type for shift-too-big warningLuc Van Oostenryck1-0/+2
2018-07-22big-shift: move the check into check_shift_count()Luc Van Oostenryck1-5/+5
2018-07-21big-shift: don't take the modulo at expand timeLuc Van Oostenryck1-5/+2
2018-05-21api: move evaluate interface to its own header fileLuc Van Oostenryck1-0/+1
2018-02-20ban use of 'true' or 'false'Luc Van Oostenryck1-9/+9
2017-12-21fix expansion of constant bitfield dereferenceLuc Van Oostenryck1-0/+2
2017-11-11Merge branches 'volatile-loads-are-side-effects', 'fix-volatile-simplificatio...Luc Van Oostenryck1-2/+5
2017-11-11define MOD_ACCESS for (MOD_ASSIGNED | MOD_ADDRESSABLE)Luc Van Oostenryck1-1/+1
2017-11-08define MOD_QUALIFIER for (MOD_CONST | MOD_VOLATILE)Luc Van Oostenryck1-1/+1
2017-09-17use a specific struct for asm operandsLuc Van Oostenryck1-0/+3
2017-08-28Merge remote-tracking branch 'luc/constexpr-v4' into masterChristopher Li1-1/+1
2017-08-04take comma expr in account for constant valueLuc Van Oostenryck1-0/+30
2017-03-31constexpr: introduce additional expression constness tracking flagsNicolai Stange1-1/+1
2017-03-27fix expansion of integers to floatsLuc Van Oostenryck1-2/+1
2017-03-04ignore whole-range overlapping initializerLuc Van Oostenryck1-2/+11
2017-03-04fix checking of overlapping initializerLuc Van Oostenryck1-2/+23
2017-03-04allow to warn on all overlapping initializersLuc Van Oostenryck1-1/+2
2017-03-04use option: '-Woverride-init'Luc Van Oostenryck1-0/+3
2017-02-27fix expansion cost of pure functionsLuc Van Oostenryck1-1/+1
2017-02-13move evaluation & expansion of builtins in a separate fileLuc Van Oostenryck1-23/+1
2013-11-29sparse: Relicense under the MIT licenseFranz Schrober1-1/+17
2013-05-11fix SIGFPE caused by signed division overflowXi Wang1-0/+2
2013-04-08Proper variable length array warningChristopher Li1-2/+9
2013-02-28fix casting constant to _BoolXi Wang1-0/+8
2011-08-25sparse: Fix __builtin_safe_p for pure and const functionsPekka Enberg1-0/+3
2009-08-01Add support for TImode type (__int128_t)Blue Swirl1-1/+2
2009-07-17Fix implicit cast to floatThomas Schmid1-3/+3
2008-12-17Unhardcode byte size being 8 bits.David Given1-1/+1
2007-08-31Rename Wundefined_preprocessor to Wundef to match the command-line argumentJosh Triplett1-1/+1
2007-08-30is_zero_constant: declare saved constJosh Triplett1-1/+1
2007-07-27Make "Initializer entry defined twice" a warning, not an errorJosh Triplett1-1/+1
2007-07-14[PATCH] rewrite type_difference()Al Viro1-2/+4
2007-07-10fix handling of address_space in casts and assignmentsAl Viro1-0/+1
2007-07-08first pass at null pointer constantsAl Viro1-11/+27
2007-07-08fix the comma handling in integer constant expressionsAl Viro1-3/+38
2007-06-26[PATCH] fix handling of integer constant expressionsAl Viro1-1/+15
2007-06-26[PATCH] implement __builtin_offsetof()Al Viro1-0/+1
2007-05-26saner reporting of overlaps in initializersAl Viro1-1/+3
2007-03-10Prevent potential NULL pointer dereference in expand_compareJosh Triplett1-10/+12
2007-03-10Remove stray space from expand_compare in expand.cJosh Triplett1-1/+1
2007-03-09Fix typos in commentsJosh Triplett1-2/+2
2007-03-02Add annotation for inline function call.Christopher Li1-3/+3
2007-02-27Introduce expression_errorChristopher Li1-7/+7
2007-02-22Fix the segfault when initializer has unknown symbolChristopher Li1-1/+1
2006-11-06Typo fixesPavel Roskin1-1/+1
2006-10-16Merge branch 'fix-defined-twice-error-on-empty-struct' into stagingJosh Triplett1-6/+4
2006-09-30[PATCH] fix duplicate initializer detectionAl Viro1-2/+2
2006-09-13"Initializer entry defined twice" should not trigger with zero-size fieldsJosh Triplett1-6/+4
2006-09-03Make sparse warn about initializers that initialize the same member twiceLinus Torvalds1-20/+34
2006-08-29[PATCH] Add -Wno-cast-truncateJosh Triplett1-0/+4
2005-12-31Make local declarations be statements of their ownLinus Torvalds1-16/+17
2005-11-16Re-name "error()" function to "sparse_error()"Linus Torvalds1-5/+5
2005-09-26Simplify constant array (or structure) dereferences furtherLinus Torvalds1-39/+46
2005-09-26Teach dereference expansion to look into constant array dereferencesLinus Torvalds1-12/+53
2005-09-22[PATCH] replaced warnings with errors.Mitesh Shah1-4/+4
2005-09-09Warn about undefined preprocessor symbols at expansion time, not parse timeLinus Torvalds1-0/+8
2005-04-07Add compile-time "range-check" infrastructure to sparseLinus Torvalds1-1/+6
2005-04-07Split out the blob allocator from lib.c into allocate.c.Linus Torvalds1-0/+1
2005-04-07Be more graceful about missing types and malformed expressions.Linus Torvalds1-1/+1
2005-04-07When expanding a constant short conditional, make sureLinus Torvalds1-0/+2
2005-04-07Update copyright notices a bit.Linus Torvalds1-1/+1
2005-04-07Remove EXPR_BITFIELD entirely.Linus Torvalds1-3/+0
2005-04-07Separate explicit and implied casts.Linus Torvalds1-0/+1
2005-04-07Fix up dropped bit checkLinus Torvalds1-6/+11
2005-04-07Make the cast truncation warning a bit more readable.Linus Torvalds1-1/+3
2005-04-07Make casts warn if they drop bits from constant values.Linus Torvalds1-3/+10
2005-04-07Remove remnants of two-expression x ? : y handling..Linus Torvalds1-1/+0
2005-04-07Fix cost of a simplified int/fp binop expression.Linus Torvalds1-2/+2
2005-04-07Implement __builtin_safe_p() to match __builtin_constant_p.Linus Torvalds1-3/+19
2005-04-07Do some trivial statement simplification.Linus Torvalds1-18/+52
2005-04-07Add an internal sparse "context" statement type.Linus Torvalds1-0/+3
2005-04-07Add __sizeof_ptr__ that looks at a pointer expression andLinus Torvalds1-0/+1
2005-04-07We actually _can_ have multiple initializers at offset zero.Linus Torvalds1-2/+6
2005-04-07[PATCH] #if expression handling cleanupsAlexander Viro1-11/+0
2005-04-07Make sure sort does not degenerate.welinder@anemone.rentec.com1-8/+8
2005-04-07Use the list sorter to sort the EXPR_INITIALIZER lists.Linus Torvalds1-0/+32
2005-04-07Do the EXPR_POS simplification breadth first, not depth first. Linus Torvalds1-4/+4
2005-04-07Simplify EXPR_INITIALIZER that is nested inside a simple EXPR_POS.Linus Torvalds1-6/+32
2005-04-07Simplify nested EXPR_POS expressions.Linus Torvalds1-1/+25
2005-04-07For functions that lack a type, print out error rather than SIGSEGV.Linus Torvalds1-0/+4
2005-04-07Fix shift size check and make warning more readable.Linus Torvalds1-9/+13
2005-04-07Fix up format string buglet found by the compiler.Linus Torvalds1-1/+1
2005-04-07Many files:welinder@darter.rentec.com1-12/+12
2005-04-07Make END_FOR_EACH_PTR[_REVERSE] take the ptr name as an argument.Linus Torvalds1-4/+4
2005-04-07Split "side effects" from "might take an exception" costs.Linus Torvalds1-15/+16
2005-04-07Cset exclude: welinder@troll.com|ChangeSet|20040812190944|57264welinder@troll.com1-3/+1
2005-04-07Mergewelinder@troll.com1-0/+3
2005-04-07[PATCH] handling of non-lvalue compound objectsAlexander Viro1-0/+3
2005-04-07expand.c:welinder@troll.com1-1/+3
2005-04-07expand.c:welinder@troll.com1-2/+11
2005-04-07[PATCH] simplify_float_binopterra@gnome.org1-3/+5
2005-04-07Oops. Must expand conditional expression before checking it for constantness.Linus Torvalds1-2/+3
2005-04-07EXPR_SAFELOGICAL is unnecessary. It ends up being the same as EXPR_BINOP.Linus Torvalds1-2/+1
2005-04-07Make expression expansion calculate the "cost" of theLinus Torvalds1-125/+177
2005-04-07Add "select" expression.Linus Torvalds1-0/+1
2005-04-07simplify_int_binop: split signed and unsigned operationsLinus Torvalds1-15/+83
2005-04-07[PATCH] simplify_float_cmpterra@gnome.org1-1/+3
2005-04-07Fix silly typo in new fp->integer constant conversion.Linus Torvalds1-1/+1
2005-04-07[PATCH] FP handlingAlexander Viro1-39/+159
2005-04-07[PATCH] boolean in constant expressions done rightAlexander Viro1-1/+1
2005-04-07[PATCH] comparison operations fixAlexander Viro1-7/+31
2005-04-07Move the check for assignment to "const" to the evaluation phase.Linus Torvalds1-6/+0
2005-04-07Warn about assignments to 'const' types.Linus Torvalds1-0/+6
2005-04-07[PATCH] teach sparse about __alignof__Stephen Hemminger1-0/+1
2005-04-07Initialize C type system after parsing the command line arguments.Linus Torvalds1-1/+1
2005-04-07Add a note about bogus warnings we can get.Linus Torvalds1-0/+8
2005-04-07Make the "noderef" attribute work right.Linus Torvalds1-3/+4
2005-04-07Support type equality testing for real.Linus Torvalds1-1/+17
2005-04-07Support C types as first-class citizens, allowing typeLinus Torvalds1-0/+15
2005-04-07Remove now-obsolete temporary statement types.Linus Torvalds1-7/+0
2005-04-07Add proper linearization of switch statements.Linus Torvalds1-0/+2
2005-04-07Split "STMT_GOTO_BB" into "STMT_CONDTRUE" and "STMT_CONDFALSE".Linus Torvalds1-0/+5
2005-04-07Allow variable-sized array size declarations.Linus Torvalds1-0/+2
2005-04-07Warn about non-constant case statements.Linus Torvalds1-2/+10
2005-04-07Disable premature dead code removal: a block thatLinus Torvalds1-0/+3
2005-04-07Update copyright notices to reflect the fact that TransmetaLinus Torvalds1-0/+1
2005-04-07Start migrating the last straggling users of the "iterate()"Linus Torvalds1-12/+10
2005-04-07Cast evaluation is special: we want to simplify the cast earlyLinus Torvalds1-2/+2
2005-04-07Fix up function inlining:Linus Torvalds1-3/+0
2005-04-07Split tree evaluation into two phases: the first phaseLinus Torvalds1-0/+609