aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/evaluate.c
AgeCommit message (Expand)AuthorFilesLines
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
2005-04-07Make arrays degenerate into pointers properly.Linus Torvalds1-1/+4
2005-04-07Mark increment/decrements as assignments.Linus Torvalds1-0/+4
2005-04-07Fix up safe expression testsLinus Torvalds1-0/+5
2005-04-07Introduce "safe" pointer expressions.Linus Torvalds1-10/+28
2005-04-07Fix up pointer creation..Linus Torvalds1-2/+8
2005-04-07Be more careful about type generation in dereferences.Linus Torvalds1-21/+38
2005-04-07Simplify and fix up "addressof" evaluation.Linus Torvalds1-21/+10
2005-04-07Support type equality testing for real.Linus Torvalds1-1/+4
2005-04-07Support C types as first-class citizens, allowing typeLinus Torvalds1-0/+15
2005-04-07When warning about function calls, don't assume thatLinus Torvalds1-4/+2
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-1/+2
2005-04-07Add "goto/label" support for linearization.Linus Torvalds1-0/+4
2005-04-07Allow variable-sized array size declarations.Linus Torvalds1-6/+6
2005-04-07Fix symbol derefence type information merge.Linus Torvalds1-1/+1
2005-04-07Fix lost string initializers, in evaluate_string().Jeff Garzik1-1/+6
2005-04-07[PATCH] Make sparse understand complex initializers inside expressionsDave Olien1-1/+18
2005-04-07[PATCH] print out name of function which causes errorsChristopher Li1-3/+6
2005-04-07Check for NULL pointers after having peeled off the SYM nodeLinus Torvalds1-0/+6
2005-04-07Update copyright notices to reflect the fact that TransmetaLinus Torvalds1-0/+1
2005-04-07More conversion from "iterate()" to an explicit FOR_EACH_PTR()Linus Torvalds1-17/+22
2005-04-07Imrpove warning message for failed member name lookup.Linus Torvalds1-1/+9
2005-04-07Cast evaluation is special: we want to simplify the cast earlyLinus Torvalds1-0/+9
2005-04-07Fix degenerate types for array/fn expressions. We used toLinus Torvalds1-2/+4
2005-04-07Make the "unknown named initializer" error message a bitLinus Torvalds1-1/+1
2005-04-07Fix up function inlining:Linus Torvalds1-5/+9
2005-04-07[PATCH] sparse function pointer arguments now accept void pointersDave Olien1-1/+1
2005-04-07[PATCH] sparse conditional expression evaluation fixDave Olien1-2/+8
2005-04-07[PATCH] sparse patch for typeless functionsDave Olien1-2/+2
2005-04-07Split tree evaluation into two phases: the first phaseLinus Torvalds1-225/+13
2005-04-07Now that inlining works, make the return handling work properly too,Linus Torvalds1-2/+6
2005-04-07[PATCH] allow casts as lvaluesDave Olien1-0/+2
2005-04-07[PATCH] minor sparse change fixing a typoDave Olien1-1/+1
2005-04-07Clean up function inlining some, and fix the type of theLinus Torvalds1-58/+8
2005-04-07[PATCH] sparse type checking on function pointersDave Olien1-0/+11
2005-04-07Add cheesy C++-like "const variable" evaluation. It's not C, butLinus Torvalds1-0/+11
2005-04-07Create "inline.c", which contains the function "copy_statement()",Linus Torvalds1-6/+13
2005-04-07Start doing inline function expansion.Linus Torvalds1-1/+50
2005-04-07Simplify if-statements without even evaluating the false sideLinus Torvalds1-3/+33
2005-04-07Fix enums. We can't turn _all_ enums into values, only the actualLinus Torvalds1-1/+2
2005-04-07Parse and evaluate gcc computed goto extensions: label addressingLinus Torvalds1-0/+4
2005-04-07Fxi up the builtin function evaluation. We really just wantLinus Torvalds1-6/+6
2005-04-07Add support for evaluating builtin functions at compile time.Linus Torvalds1-12/+34
2005-04-07Fix naming: "is_void_ptr()" did _not_ test for void pointers,Linus Torvalds1-3/+3
2005-04-07Make argument type differences show better error messages.Linus Torvalds1-7/+19
2005-04-07Check for duplicate symbol definitions only during declaration,Linus Torvalds1-3/+1
2005-04-07Don't unnecessarily create position expressions forLinus Torvalds1-5/+15
2005-04-07Arrays also degenerate in initializers, _except_ for the specialLinus Torvalds1-7/+5
2005-04-07Make functions degenerate to function pointers, and fix theLinus Torvalds1-12/+41
2005-04-07Start updating the copyright license comments to the OSL,Linus Torvalds1-1/+3
2005-04-07Evaluate initializer entry offsets, and add them back intoLinus Torvalds1-11/+18
2005-04-07Fix nested initializer evaluation (we should _not_Linus Torvalds1-12/+4
2005-04-07Evaluate structure and union initializers, including namedLinus Torvalds1-2/+42
2005-04-07Evaluate array initializers (type fixing and array indexLinus Torvalds1-18/+26
2005-04-07Print out the symbol name when we complain about re-declaring stuff withLinus Torvalds1-1/+2
2005-04-07Merge both node and array information at array degrade time.Linus Torvalds1-1/+2
2005-04-07Check for mismatched declarations using the new duplicateLinus Torvalds1-0/+18
2005-04-07Make arrays properly degenerate even if they are precededLinus Torvalds1-34/+45
2005-04-07Yeah, well... More typeof() tweaking.Linus Torvalds1-1/+1
2005-04-07Clean up silliness.Linus Torvalds1-1/+0
2005-04-07Fix type merging at dereference evaluation time.Linus Torvalds1-2/+4
2005-04-07Make type warning messages more readable, and realizeLinus Torvalds1-17/+9
2005-04-07Get member access vs member pointer dereference types right.Linus Torvalds1-5/+9
2005-04-07Ignore MOD_TOPLEVEL and other "internal" modifiersLinus Torvalds1-1/+2
2005-04-07Make string constants evaluate as a proper array dereference.Linus Torvalds1-4/+23
2005-04-07We should _not_ look at the node modifiers/address_spaceLinus Torvalds1-14/+6
2005-04-07Turn 'break'/'continue' statements into goto's withLinus Torvalds1-3/+1
2005-04-07Don't warn about dereferences to noderef pointers - we don't know yetLinus Torvalds1-10/+7
2005-04-07Be much more careful about type evaluation for pointer addition,Linus Torvalds1-14/+22
2005-04-07Be more careful about checking for compatible pointer assignmentLinus Torvalds1-36/+27
2005-04-07Fix up some address space evaluations. This is now alreadyLinus Torvalds1-6/+18
2005-04-07Make type difference show size differences differentlyLinus Torvalds1-1/+3
2005-04-07Ignore sign differences for "same type". Make theLinus Torvalds1-37/+51
2005-04-07Fix up type warnings to point to the right position.Linus Torvalds1-5/+8
2005-04-07Mark inline functions as accessed when they get called. We shouldLinus Torvalds1-1/+9
2005-04-07Fix integer type checking.Linus Torvalds1-0/+6
2005-04-07Evaluate and show return statement with proper type promotion.Linus Torvalds1-6/+36
2005-04-07Ehheh! We'd better evaluate the type of the argument declarationLinus Torvalds1-1/+3
2005-04-07Fix up degenerate arrays to handle the string case (which isLinus Torvalds1-25/+42
2005-04-07String initializers are effectively constant, but don't mark themLinus Torvalds1-1/+1
2005-04-07oops. Warn about undefined preprocessor symbol names before weLinus Torvalds1-1/+1
2005-04-07Add a "preprocessing" flag, so that the expression evaluator canLinus Torvalds1-2/+8
2005-04-07Allow pointers to differ in certain modifier bits. For example,Linus Torvalds1-10/+23
2005-04-07Re-introduce MOD_ADDRESSABLE handling that got dropped withLinus Torvalds1-0/+7
2005-04-07Put a note about the horrible wrongness in doing the expansionLinus Torvalds1-0/+5
2005-04-07Evaluate logical expressions, and short-circuit it.Linus Torvalds1-68/+38
2005-04-07Clean up and factor out offset add from member dereference.Linus Torvalds1-11/+21
2005-04-07Create helper function to verify lvalue'ness.Linus Torvalds1-21/+64
2005-04-07Evaluate conditional expressions with the gcc extensionLinus Torvalds1-21/+30
2005-04-07Simplify bitops, shifts, and equality checks.Linus Torvalds1-6/+20
2005-04-07To make the output more readable, drop the type informationLinus Torvalds1-1/+1
2005-04-07Handle the case of a degenerate array correctly: we shouldLinus Torvalds1-2/+15
2005-04-07Simplify more integer constant expressions. Get signLinus Torvalds1-9/+55
2005-04-07Simplify some constant integer operations. Better toLinus Torvalds1-2/+27
2005-04-07Fix member dereferences to match the new world order.Linus Torvalds1-0/+7