aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/evaluate.c
AgeCommit message (Expand)AuthorFilesLines
2007-05-26better recovery from bad operations on bitwiseAl Viro1-9/+20
2007-05-22Add -Wno-non-pointer-null to turn off warning about using a plain integer as ...Josh Triplett1-1/+1
2007-05-01Fix most -Wshadow warnings in Sparse.0.3Josh Triplett1-4/+4
2007-03-09Fix typos in commentsJosh Triplett1-6/+6
2007-03-02Add annotation for inline function call.Christopher Li1-1/+1
2007-02-27Introduce expression_errorChristopher Li1-41/+41
2007-02-13Bug fix in pointer modifier inheritance at function degeneration.Christopher Li1-5/+3
2007-01-27Fix mistaken comparison that becomes a no-op.James Westby1-1/+1
2007-01-27Marking anonymous string.Christopher Li1-0/+1
2006-11-06Typo fixesPavel Roskin1-1/+1
2006-10-17Add type information to enum mismatch warningAdam DiCarlo1-1/+4
2006-10-01[PATCH] handle fouled-bitwiseAl Viro1-15/+62
2006-10-01[PATCH] saner recovery from endianness errors, part 1.Al Viro1-9/+17
2006-10-01[PATCH] merged compatible_..._binop() into single functionAl Viro1-79/+61
2006-10-01[PATCH] beginning of SYM_RESTRICT rewrite: restricted_binop_type()Al Viro1-42/+62
2006-10-01[PATCH] evaluate_compare() can just use evaluate_arith() for non-pointer casesAl Viro1-16/+1
2006-10-01[PATCH] introduce classify_type(), use it in obvious placesAl Viro1-49/+58
2006-10-01[PATCH] casting null pointer constant to non-zero address space is always OKAl Viro1-1/+12
2006-09-30[PATCH] add support for __builtin_choose_expr()Al Viro1-11/+23
2006-09-30[PATCH] fix for switch(bad_type) {...} segfaultAl Viro1-8/+8
2006-08-29[PATCH] Add -Wno-enum-mismatchJosh Triplett1-0/+2
2006-08-29[PATCH] Add -Wno-address-spaceJosh Triplett1-1/+1
2006-07-13[PATCH] Fix -WtypesignPavel Roskin1-1/+1
2006-06-10Fix NULL ptr dereference with bad typeLinus Torvalds1-1/+1
2006-03-28[PATCH] Warning for mixing enums of different typesMorten Welinder1-7/+47
2006-01-08Fix incorrect cast simplification around '~' operationLinus Torvalds1-0/+2
2005-12-31Make local declarations be statements of their ownLinus Torvalds1-5/+9
2005-11-27[PATCH] Fix member offset calculationLuc Van Oostenryck1-0/+1
2005-11-22[PATCH] noderef is a qualifierAl Viro1-1/+1
2005-11-22[PATCH] new flag - -WdeclAl Viro1-0/+2
2005-11-22When taking the address of a symbol, fix up the pointer typeLinus Torvalds1-2/+4
2005-11-19Evaluate expressions fully when doing type comparisons on case statementsLinus Torvalds1-6/+8
2005-11-16Re-name "error()" function to "sparse_error()"Linus Torvalds1-47/+47
2005-11-16[PATCH] skip already evaluated symbolsMitesh Shah1-0/+3
2005-11-16Integer promotion: leave sufficiently large integer types as themselvesLinus Torvalds1-4/+13
2005-11-03Make switch/case statements check type compatibilityLinus Torvalds1-5/+41
2005-09-30Make sure to be more careful about marking symbols assignedLinus Torvalds1-2/+35
2005-09-22Turn the "incorrect type" error back into a warningLinus Torvalds1-1/+1
2005-09-22[PATCH] replaced warnings with errors.Mitesh Shah1-44/+44
2005-09-09[PATCH] More address space checkingviro@ZenIV.linux.org.uk1-29/+48
2005-07-11Don't warn about "nocast" warnings that only change "const"ness.Linus Torvalds1-4/+20
2005-06-16Fix up a few missing base type evaluationsLinus Torvalds1-3/+3
2005-06-16Fix up type examination.Linus Torvalds1-9/+11
2005-05-19Don't warn about undeclared "main()" function.Linus Torvalds1-0/+2
2005-05-17[PATCH] avoid a crash on bad asm statementLuc Van Oostenryck1-2/+2
2005-04-07[PATCH] static declearChristopher Li1-1/+1
2005-04-07Make enum symbols be regular symbols with constant initializers.Linus Torvalds1-30/+11
2005-04-07Warn about implicit casts to/from "nocast" typesLinus Torvalds1-6/+18
2005-04-07Don't warn about zero-sized "sizeof"Linus Torvalds1-1/+1
2005-04-07Warn about undeclared identifiers.Linus Torvalds1-0/+10
2005-04-07Warn about sizeof of zero size.Linus Torvalds1-1/+1
2005-04-07Be more careful about removing implicit casts.Linus Torvalds1-16/+32
2005-04-07Remove old stale pointer dereference type mess, thatLinus Torvalds1-14/+1
2005-04-07Export "is_ptr_type()" helper function to others.Linus Torvalds1-1/+1
2005-04-07Don't drop modifier bits from a member dereference.Linus Torvalds1-0/+2
2005-04-07Add compile-time "range-check" infrastructure to sparseLinus Torvalds1-1/+6
2005-04-07Make sure we evaluate pointer comparisons as unsigned.Linus Torvalds1-1/+5
2005-04-07Don't optimize away casts too early.Linus Torvalds1-23/+24
2005-04-07Evaluate asm outputs as assignments.Linus Torvalds1-0/+1
2005-04-07We didn't mark symbols with their address taken as beingLinus Torvalds1-0/+5
2005-04-07Add option "-Wptr-subtraction-blows" to warn about expensiveLinus Torvalds1-1/+7
2005-04-07Don't do the pointer offset update for a pointer additionLinus Torvalds1-11/+17
2005-04-07Verify that output/input asm constraints really look like outputs/inputs.Linus Torvalds1-0/+12
2005-04-07Save off the asm parameter name too.Linus Torvalds1-25/+55
2005-04-07Add "stream_name()" helper function, and use it.Linus Torvalds1-1/+1
2005-04-07Evaluate asm statement inputs/outputs and verify them.Linus Torvalds1-2/+60
2005-04-07Split out the blob allocator from lib.c into allocate.c.Linus Torvalds1-0/+1
2005-04-07Make expression tree have an "op value" for the inc/dec operations.Linus Torvalds1-6/+14
2005-04-07Fix subtle problem with fn array argumentsLinus Torvalds1-0/+1
2005-04-07Do early CSE before even doing the symbol simplification.Linus Torvalds1-1/+0
2005-04-07Update copyright notices a bit.Linus Torvalds1-1/+1
2005-04-07Duh. Fix sense of restricted assignment check.Linus Torvalds1-1/+1
2005-04-07Make "translation_unit()" do symbol evaluation too.Linus Torvalds1-3/+14
2005-04-07Fix up restricted type assignment checking.Linus Torvalds1-6/+16
2005-04-07Remove EXPR_BITFIELD entirely.Linus Torvalds1-14/+4
2005-04-07If two implied casts end up undoing each other, just remove them.Linus Torvalds1-0/+8
2005-04-07Separate explicit and implied casts.Linus Torvalds1-2/+3
2005-04-07Simplify implied casts.Linus Torvalds1-1/+36
2005-04-07Don't do assignment replacement at type evaluation time.Linus Torvalds1-113/+43
2005-04-07Only straight assignments are confusing in conditionals.Linus Torvalds1-1/+1
2005-04-07Don't warn about assignments in iterator conditionals.Linus Torvalds1-8/+8
2005-04-07Remove expansion of "short" conditionals at evaluation time.Linus Torvalds1-58/+25
2005-04-07Don't change conditionals upon evaluation.Linus Torvalds1-34/+7
2005-04-07enums, bitfields and nodes pick up their signednessLinus Torvalds1-1/+0
2005-04-07Remove "fieldwidth" member of struct symbolLinus Torvalds1-10/+4
2005-04-07Make bitfield assignment type evaluation aware of the bit offset.Linus Torvalds1-0/+2
2005-04-07Check integer/FP promotion early in compatible_assignment_types()Linus Torvalds1-6/+6
2005-04-07Use 'bad_type' instead of NULL when something bad happensLinus Torvalds1-1/+1
2005-04-07Fix up integer promotion so that it works on allLinus Torvalds1-11/+17
2005-04-07When re-evaluating the type of a function agument (because it wasLinus Torvalds1-0/+1
2005-04-07Now that we don't do array sizing at symbol eval time any more,Linus Torvalds1-34/+28
2005-04-07Do array sizing at "examine_symbol_type()" time.Linus Torvalds1-10/+2
2005-04-07Replace context/contextmask (never used) with in_context/out_context.Linus Torvalds1-27/+1
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-29/+70
2005-04-07Handle __func__, __FUNCTION__ and __PRETTY_FUNCTION__ the sameLinus Torvalds1-1/+1
2005-04-07[PATCH] two-arguments ?:Alexander Viro1-23/+59
2005-04-07[PATCH] #if expression handling cleanupsAlexander Viro1-4/+0
2005-04-07[PATCH] enum handlingAlexander Viro1-6/+33
2005-04-07Don't SIGSEGV on bad cast expressions.Linus Torvalds1-0/+3
2005-04-07Make enumerated constants have the type of the constantLinus Torvalds1-1/+1
2005-04-07Fix index expression conversion to EXPR_POS.Linus Torvalds1-1/+1
2005-04-07Make sure EXPR_POS expressions have the right type.Linus Torvalds1-0/+2
2005-04-07Allow EXPR_POS subexpressions in initializer evaluation.Linus Torvalds1-0/+7
2005-04-07Totally re-do how we build up the initializer tree: make theLinus Torvalds1-77/+142
2005-04-07Add "-Wtypesign" command line option.Linus Torvalds1-7/+18
2005-04-07Improve sign warnings a bit.Linus Torvalds1-12/+15
2005-04-07Complain about type differences in signedness.Linus Torvalds1-3/+6
2005-04-07Fix conditional expression evaluation bugletsLinus Torvalds1-7/+8
2005-04-07Many files:welinder@darter.rentec.com1-49/+49
2005-04-07Make END_FOR_EACH_PTR[_REVERSE] take the ptr name as an argument.Linus Torvalds1-6/+6
2005-04-07[PATCH] __attribute__((bitwise))Alexander Viro1-18/+144
2005-04-07[PATCH] evaluate_sign() typoAlexander Viro1-1/+1
2005-04-07[PATCH] uninlining inline functionsAlexander Viro1-5/+15
2005-04-07Check the right type in "alignof" evaluation.Linus Torvalds1-1/+1
2005-04-07Disallow sizeof/alignof/typeof on bitfields.welinder@troll.com1-2/+4
2005-04-07Make array dereference build the right evaluation tree.Linus Torvalds1-0/+8
2005-04-07Merge troll.com:/scratch/welinder/linus-sparsewelinder@troll.com1-37/+120
2005-04-07[PATCH] better recovery from type errors in EXPR_COMMAAlexander Viro1-2/+1
2005-04-07[PATCH] cast constraint checksAlexander Viro1-7/+30
2005-04-07[PATCH] <op>= handlingAlexander Viro1-16/+69
2005-04-07[PATCH] evaluate_statement() fixesAlexander Viro1-10/+20
2005-04-07evaluate.c:welinder@troll.com1-1/+3
2005-04-07[PATCH] casts are not lvaluesAlexander Viro1-2/+0
2005-04-07[PATCH] handling of non-lvalue compound objectsAlexander Viro1-10/+76
2005-04-07[PATCH] fix double warnings in inline callsAlexander Viro1-1/+1
2005-04-07[PATCH] "signed unsigned", "short long", "double x : 4", "int y : 1 : 2"terra@gnome.org1-9/+0
2005-04-07Mark an inline symbol accessed when taking its address.Linus Torvalds1-1/+2
2005-04-07EXPR_SAFELOGICAL is unnecessary. It ends up being the same as EXPR_BINOP.Linus Torvalds1-1/+0
2005-04-07Make expression expansion calculate the "cost" of theLinus Torvalds1-0/+1
2005-04-07Add "select" expression.Linus Torvalds1-0/+1
2005-04-07Simplify testing for "is it a string?" by just checkingLinus Torvalds1-2/+2
2005-04-07Don't evaluate a string initializer until _after_ we'veLinus Torvalds1-3/+2
2005-04-07Oops. Stupid typo fix for string type comparison.Linus Torvalds1-5/+7
2005-04-07Fix some more special cases in string initializers.Linus Torvalds1-10/+27
2005-04-07Allow array initializers to be arrays themselves.Linus Torvalds1-2/+14
2005-04-07Make sizeof understand the C99 "sizeof typed initializer" syntax.Linus Torvalds1-9/+14
2005-04-07Make the lazy pointer evaluation marker explicit.Linus Torvalds1-5/+5
2005-04-07[PATCH] Fix FP comparison typeterra@gnome.org1-1/+19
2005-04-07Remove premature tree optimization on member accesses.Linus Torvalds1-10/+15
2005-04-07The type of a label is the type of the statement it labels.Linus Torvalds1-2/+1
2005-04-07A statement expression has type "void" if the lastLinus Torvalds1-0/+2
2005-04-07[PATCH] FP handlingAlexander Viro1-23/+115
2005-04-07[PATCH] evaluate_conditional() prepared for FPAlexander Viro1-9/+9
2005-04-07[PATCH] arithmetic cleanups (preparation to FP)Alexander Viro1-18/+12
2005-04-07[PATCH] comparison operations fixAlexander Viro1-0/+15
2005-04-07[PATCH] unary type fixAlexander Viro1-1/+22
2005-04-07[PATCH] shift type fixAlexander Viro1-1/+26
2005-04-07[PATCH] bigger_int_type() fixAlexander Viro1-8/+22
2005-04-07[PATCH] integer promotion fixesAlexander Viro1-24/+27
2005-04-07Move the check for assignment to "const" to the evaluation phase.Linus Torvalds1-4/+10
2005-04-07Fix up "alignof" handling.Linus Torvalds1-12/+6
2005-04-07[PATCH] teach sparse about __alignof__Stephen Hemminger1-0/+24
2005-04-07Special evaluation rules for function argument types:Linus Torvalds1-6/+36
2005-04-07Fix integer/pointer errors in sparse.Linus Torvalds1-4/+4
2005-04-07Warn about plain integer conversion to NULL pointer.Linus Torvalds1-2/+5
2005-04-07Use 'is_null_ptr()' helper instead of open-coding theLinus Torvalds1-9/+9
2005-04-07Allow scalar initializers - they act largely like arrays of size 1.Linus Torvalds1-3/+11
2005-04-07Allow void returns in void functions.Linus Torvalds1-6/+4
2005-04-07Avoid crashing on bad type information in type_difference().Linus Torvalds1-0/+4
2005-04-07Do a better job of tracking array node attributesLinus Torvalds1-8/+21
2005-04-07Allow casting of user pointers to "unsigned long".Linus Torvalds1-1/+10
2005-04-07Warn about casts that remove address space information.Linus Torvalds1-0/+34
2005-04-07Add "force" type attribute.Linus Torvalds1-1/+1
2005-04-07Don't get confused about "void *" nodes.Linus Torvalds1-3/+3
2005-04-07Use new "info()" function for the type warning information.Linus Torvalds1-2/+2
2005-04-07Make sparse sources themselves be sparse-clean.Linus Torvalds1-1/+1
2005-04-07Remove bogus overly permissive type-comparisons.Linus Torvalds1-5/+0
2005-04-07When dereferencing an array, we need to pick up theLinus Torvalds1-3/+7
2005-04-07Degenerate the final expression of a statement expression.Linus Torvalds1-3/+7
2005-04-07Make sure user-defined types don't mix with otherLinus Torvalds1-1/+1
2005-04-07That last type optimization was wrong.Linus Torvalds1-2/+0
2005-04-07Don't unnecessarily create a new ctype in degenerate() if we already had one.Linus Torvalds1-0/+2
2005-04-07Duh. When I split up degenerate() and evaluate_addressof(),Linus Torvalds1-2/+8
2005-04-07Be more careful about "evaluate_dereference()".Linus Torvalds1-14/+17
2005-04-07Fix "addressof" of arrays.Linus Torvalds1-19/+29
2005-04-07Use "show_ident()" to show symbol names.Linus Torvalds1-2/+1
2005-04-07Ok, now that we get pointers-to-arrays right, stop playingLinus Torvalds1-1/+1
2005-04-07Make 'degenerate()' handle bad types gracefullyLinus Torvalds1-0/+2
2005-04-07Make sure we degenerate arrays and functions when doingLinus Torvalds1-1/+5
2005-04-07Allow for more permissive pointer difference calculations.Linus Torvalds1-1/+1
2005-04-07Fix pointer add: use the correct bit_size for the thingLinus Torvalds1-2/+14
2005-04-07Be more careful about evaluating a dereferenceLinus Torvalds1-18/+26
2005-04-07Oops. When dereferencing something, we sure shouldn'tLinus Torvalds1-5/+7
2005-04-07Fix (and simplify) array and function degeneration into pointersLinus Torvalds1-45/+16
2005-04-07Do a proper job of generating the pointer type for addressof()Linus Torvalds1-2/+7
2005-04-07Clean up evaluate_member_dereference() to take advantageLinus Torvalds1-6/+7
2005-04-07"a->b" is just shorthand for "(*a).b".Linus Torvalds1-21/+5
2005-04-07Fix "address_of" type evaluation and clean up the code.Linus Torvalds1-7/+13
2005-04-07Members don't just get the address space from theLinus Torvalds1-5/+9
2005-04-07Make "create_pointer()" not drop the address spaceLinus Torvalds1-2/+8
2005-04-07Fix integer type conversion: types smaller than an "int" alwaysLinus Torvalds1-6/+13
2005-04-07When evaluating a member dereference off a structureLinus Torvalds1-0/+12
2005-04-07When we miss the type information, warn about it instead of crashing.Linus Torvalds1-0/+4
2005-04-07Now that BITS_IN_XXXX aren't defined contstants any more,Linus Torvalds1-7/+7
2005-04-07Make the builtin functions be more type-correct, toLinus Torvalds1-8/+4
2005-04-07Accept "void *" for array assignments too.Linus Torvalds1-1/+1
2005-04-07Make type equality comparisons more generous.Linus Torvalds1-18/+40
2005-04-07Fix pointer additionLinus Torvalds1-1/+1
2005-04-07Remove special cases in addressof/member dereferece evaluation.Linus Torvalds1-22/+9