aboutsummaryrefslogtreecommitdiffstats
path: root/evaluate.c
AgeCommit message (Expand)AuthorFilesLines
2013-02-12Gentler handling of bitwise warnings in unary operationsAl Viro1-9/+17
2011-08-23Fix parsing empty asm clobberChristopher Li1-1/+1
2011-05-31Remove set but not used variableChristopher Li1-8/+2
2011-05-07evaluate: Allow sizeof(_Bool) to succeed.Ben Pfaff1-0/+5
2010-06-17parser: add support for asm gotoJiri Slaby1-0/+8
2010-03-29evaluate: check for NULL type inside typeofChristopher1-1/+3
2010-03-28New attribute designated_init: mark a struct as requiring designated initJosh Triplett1-0/+10
2009-08-01Add support for TImode type (__int128_t)Blue Swirl1-3/+3
2009-07-19move extern inline function to file scopeChristopher Li1-5/+0
2009-07-18Add missing checks for Waddress-spaceMartin Nagy1-4/+4
2009-07-17Fix implicit cast to floatThomas Schmid1-31/+0
2009-07-17fun with declarations and definitionsAl Viro1-0/+7
2008-12-28Also warn about sizeof(function)Alexey Zaytsev1-0/+6
2008-12-28Warn about explicit usage of sizeof(void)Christopher Li1-1/+14
2008-12-25Teach classify_type to handle typeofChristopher Li1-0/+5
2008-12-18Expand "dubious !x & y" handling to other combinations of !, &, and |.Josh Triplett1-3/+10
2008-12-17Unhardcode byte size being 8 bits.David Given1-13/+13
2008-12-15Evaluate iterator symbolsChristopher Li1-0/+1
2008-04-05Fix type mismatches with incomplete typesGeoff Johnstone1-0/+4
2008-04-03catch !x & y brainosAl Viro1-0/+3
2008-04-03fix show_typename()Al Viro1-2/+2
2008-04-03saner warnings for restricted typesAl Viro1-13/+20
2007-08-31Rename Wcast_to_address_space to Wcast_to_as to match the command-line argumentJosh Triplett1-1/+1
2007-07-29[PATCH] saner -WtypesignAl Viro1-22/+25
2007-07-29[PATCH] sanitize evaluate_postop()Al Viro1-19/+19
2007-07-29[PATCH] fix evaluate_compare()Al Viro1-2/+2
2007-07-29[PATCH] sanitize evaluate_ptr_add(), start checking for pointers to functionsAl Viro1-16/+25
2007-07-29[PATCH] ...,array should degenerateAl Viro1-1/+3
2007-07-28[PATCH] handling of typeof in evaluate_member_dereference()Al Viro1-1/+1
2007-07-28[PATCH] new helper: unfoul()Al Viro1-8/+14
2007-07-28[PATCH] no such thing as array of functionsAl Viro1-6/+12
2007-07-14[PATCH] deal correctly with qualifiers on arraysAl Viro1-34/+37
2007-07-14[PATCH] rewrite type_difference()Al Viro1-120/+152
2007-07-14[PATCH] fix the sanity check in evaluate_ptr_sub()Al Viro1-6/+7
2007-07-14[PATCH] get compatible_assignment_types() deal with all casesAl Viro1-14/+43
2007-07-14[PATCH] start cleaning type_difference()Al Viro1-25/+9
2007-07-14[PATCH] integer_promotions() can't get SYM_NODE or SYM_ENUMAl Viro1-7/+2
2007-07-14[PATCH] clean up evaluate_sign()Al Viro1-6/+8
2007-07-10fix handling of pointers in ?:Al Viro1-33/+49
2007-07-10fix handling of address_space in casts and assignmentsAl Viro1-54/+37
2007-07-08first pass at null pointer constantsAl Viro1-71/+145
2007-07-08fix the comma handling in integer constant expressionsAl Viro1-0/+6
2007-06-26[PATCH] fix handling of integer constant expressionsAl Viro1-0/+43
2007-06-26[PATCH] implement __builtin_offsetof()Al Viro1-0/+84
2007-06-25[PATCH] warn on return <void expression>;Al Viro1-0/+2
2007-06-25[PATCH] in case of compound literal we want to delay examining typeAl Viro1-5/+6
2007-06-25[PATCH] move degenerate() down into compatible_assignment_types()Al Viro1-17/+13
2007-06-25[PATCH] fix default argument promotionAl Viro1-5/+14
2007-06-25[PATCH] fix index conversions in evaluate_ptr_add()Al Viro1-42/+50
2007-06-25[PATCH] clean up usual_conversions(), kill evaluate_shift()Al Viro1-44/+34
2007-06-25[PATCH] clean up the typechecking in arithmeticsAl Viro1-98/+73
2007-06-25[PATCH] cleanup of evaluate_assign_op()Al Viro1-14/+16
2007-06-25[PATCH] remove useless argument in evaluate_ptr_sub()Al Viro1-4/+4
2007-06-25[PATCH] remove long-dead variable in evaluate_ptr_add()Al Viro1-4/+1
2007-06-25[PATCH] null pointer constants have no special meaning for pointer subtractionAl Viro1-17/+2
2007-06-25[PATCH] mechanically split compatible_assignment_types()Al Viro1-16/+47
2007-06-25[PATCH] take cast_to() out of usual_conversions(), do it in callersAl Viro1-14/+16
2007-06-25[PATCH] missing NULL checks in initializer handlingAl Viro1-2/+13
2007-06-18[PATCH] rewrite of initializer handlingAl Viro1-175/+394
2007-06-09Improve error message if using a member of an incomplete struct or unionPavel Roskin1-2/+7
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