aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/parse.c
AgeCommit message (Expand)AuthorFilesLines
2005-04-07Allow parsing of nested functions.Linus Torvalds1-7/+14
2005-04-07Allow the C99/C++ mixed variable declaration syntax.Linus Torvalds1-7/+10
2005-04-07Update copyright notices a bit.Linus Torvalds1-1/+1
2005-04-07Make "translation_unit()" do symbol evaluation too.Linus Torvalds1-2/+6
2005-04-07enums, bitfields and nodes pick up their signednessLinus Torvalds1-3/+0
2005-04-07Remove "fieldwidth" member of struct symbolLinus Torvalds1-11/+8
2005-04-07Use 'bad_type' instead of NULL when something bad happensLinus Torvalds1-6/+6
2005-04-07Don't generate invalid statements when encountering aLinus Torvalds1-0/+1
2005-04-07Make context attributes additive.Linus Torvalds1-4/+4
2005-04-07Replace context/contextmask (never used) with in_context/out_context.Linus Torvalds1-18/+11
2005-04-07Add an internal sparse "context" statement type.Linus Torvalds1-0/+5
2005-04-07Clean up declarator sym->ident handling.Linus Torvalds1-24/+14
2005-04-07Fix up "enum" base types.Linus Torvalds1-13/+26
2005-04-07Handle __func__, __FUNCTION__ and __PRETTY_FUNCTION__ the sameLinus Torvalds1-26/+3
2005-04-07Handle asm __volatile variant too.welinder@troll.com1-1/+1
2005-04-07[PATCH] graceful handling of old-style array initializersAlexander Viro1-31/+45
2005-04-07[PATCH] trivial sparse patch - ignore model attributeDavid Mosberger1-0/+3
2005-04-07Warn about old-style gcc named initializers, suggesting C99 usage.Linus Torvalds1-4/+12
2005-04-07Be more lenient in placement of 'asm("reg")' variable hard-registerLinus Torvalds1-13/+17
2005-04-07[PATCH] enum handlingAlexander Viro1-6/+99
2005-04-07Make enumerated constants have the type of the constantLinus Torvalds1-2/+5
2005-04-07Totally re-do how we build up the initializer tree: make theLinus Torvalds1-7/+14
2005-04-07Parse "nested" named or index initializers.Linus Torvalds1-3/+11
2005-04-07Many files:welinder@darter.rentec.com1-40/+40
2005-04-07symbol.h, symbol.c:welinder@troll.com1-11/+19
2005-04-07Reinstate non-ANSI warning for "int foo () { }".welinder@troll.com1-2/+12
2005-04-07Make END_FOR_EACH_PTR[_REVERSE] take the ptr name as an argument.Linus Torvalds1-5/+5
2005-04-07[PATCH] __attribute__((bitwise))Alexander Viro1-6/+21
2005-04-07[PATCH] parser.c cleanupAlexander Viro1-57/+64
2005-04-07[PATCH] uninlining inline functionsAlexander Viro1-3/+9
2005-04-07[PATCH] avoid matching idents with string comparesChristopher Li1-40/+40
2005-04-07__const in addition to const and __const__. Sigh.welinder@troll.com1-0/+1
2005-04-07Improve error reporting for bad K&R function parameterLinus Torvalds1-2/+9
2005-04-07Oops - when parsing a K&R function, we started at the wrong point.Linus Torvalds1-1/+1
2005-04-07Since we allow K&R declarations, allow empty ones too.Linus Torvalds1-0/+3
2005-04-07Improve K&R name matching.Linus Torvalds1-13/+11
2005-04-07Final part of K&R functions - integer promotionsLinus Torvalds1-4/+16
2005-04-07Apply the K&R parse ctypes to the argument list.Linus Torvalds1-4/+22
2005-04-07Parse K&R function declarations.Linus Torvalds1-5/+26
2005-04-07First cut at getting local structure ns handling right.welinder@troll.com1-2/+16
2005-04-07Merge troll.com:/scratch/welinder/linus-sparsewelinder@troll.com1-1/+1
2005-04-07Allow "extern" void declarations.Linus Torvalds1-1/+1
2005-04-07Put enums in the same namespace as unions and structs.welinder@troll.com1-4/+6
2005-04-07Check for illegal modifier combinations only after weLinus Torvalds1-1/+1
2005-04-07Handle __func__ correctly as a variable and not a #define.welinder@troll.com1-1/+28
2005-04-07Mondane cleanups at the level of typos.welinder@troll.com1-4/+4
2005-04-07Introduce -Wdefault-bitfield-sign and only warn when asked for.welinder@troll.com1-1/+2
2005-04-07parse.c:welinder@troll.com1-3/+4
2005-04-07Don't complain over sign problems with unnamed bitfields.welinder@troll.com1-1/+17
2005-04-07Fix nonterminated ident matching.Linus Torvalds1-2/+2
2005-04-07Fix merge issue with Al's stuff.welinder@troll.com1-5/+5
2005-04-07Mergewelinder@troll.com1-0/+5
2005-04-07[PATCH] attributes on bitfieldsAlexander Viro1-0/+5
2005-04-07parse.c:welinder@troll.com1-1/+1
2005-04-07parse.c:welinder@troll.com1-11/+27
2005-04-07parse.c:welinder@troll.com1-1/+2
2005-04-07parse.c:welinder@troll.com1-3/+8
2005-04-07parse.c:welinder@troll.com1-0/+30
2005-04-07parse.c:welinder@troll.com1-1/+7
2005-04-07Add "__word__" mode attribute and fix __QI__.Linus Torvalds1-1/+7
2005-04-07[PATCH] Silently ignore __attribute__((visibility("hidden")))terra@gnome.org1-0/+2
2005-04-07[PATCH] "signed unsigned", "short long", "double x : 4", "int y : 1 : 2"terra@gnome.org1-7/+18
2005-04-07Keep track of computed target label lists per-function.Linus Torvalds1-0/+16
2005-04-07Warn about missing ';' at end of declaration.Linus Torvalds1-1/+3
2005-04-07[PATCH] misc small updatesAlexander Viro1-0/+4
2005-04-07The base type of an enum is "int".Linus Torvalds1-0/+1
2005-04-07[PATCH] small sparse additionsChris Wedgwood1-0/+2
2005-04-07Introduce a "incomplete type" rather than leavingLinus Torvalds1-2/+12
2005-04-07[PATCH] More mode attribute recognitionDavid S. Miller1-4/+8
2005-04-07Add "force" type attribute.Linus Torvalds1-0/+4
2005-04-07User-defined types can mix with storage specifiers, so don'tLinus Torvalds1-1/+0
2005-04-07Add attribute mode "__QI__"Linus Torvalds1-1/+6
2005-04-07Make sure user-defined types don't mix with otherLinus Torvalds1-0/+7
2005-04-07[PATCH] more fun with sparseAlexander Viro1-0/+4
2005-04-07Fix type declaration parsing for multiple variables in theLinus Torvalds1-7/+5
2005-04-07Fix up modifier parsing, don't leave stale modifierLinus Torvalds1-0/+1
2005-04-07Ignore alias attributesDave Jones1-0/+2
2005-04-07Allow top-level inline asmsLinus Torvalds1-19/+57
2005-04-07Now that BITS_IN_XXXX aren't defined contstants any more,Linus Torvalds1-1/+1
2005-04-07Revert ptr-to-array type demotion. It's wrong.Linus Torvalds1-12/+0
2005-04-07Fix up pointer-to-array type declarations.Linus Torvalds1-0/+12
2005-04-07Fix up typename parsing.Linus Torvalds1-5/+3
2005-04-07Introduce "safe" pointer expressions.Linus Torvalds1-0/+4
2005-04-07[PATCH] make sparse recognise assembler naming (register and symbol names)Christopher Li1-0/+9
2005-04-07Fix up some __attribute__() parsing.Linus Torvalds1-1/+31
2005-04-07Allow variable-sized array size declarations.Linus Torvalds1-4/+1
2005-04-07Update copyright notices to reflect the fact that TransmetaLinus Torvalds1-0/+1
2005-04-07You can use a typedef as a variable name or a struct/unionLinus Torvalds1-4/+2
2005-04-07Now that inlining works, make the return handling work properly too,Linus Torvalds1-1/+4
2005-04-07This makes function inlining largely work correctly. In orderLinus Torvalds1-2/+23
2005-04-07Cleanup: factor out function body parsing into a function of its own.Linus Torvalds1-24/+34
2005-04-07Handle more attributes now that we warn about stuff we don'tLinus Torvalds1-3/+25
2005-04-07Peter Jones informs about the gcc "attribute((aligned))" behaviour:Linus Torvalds1-3/+5
2005-04-07Give better warnings for attribute mis-parses.Linus Torvalds1-12/+19
2005-04-07Make function returns a bit more realisticLinus Torvalds1-8/+42
2005-04-07Don't try to give typdefs storage bits.Linus Torvalds1-0/+7
2005-04-07Check whether a parameter declaration is a type before tryingLinus Torvalds1-0/+4
2005-04-07Fix enums. We can't turn _all_ enums into values, only the actualLinus Torvalds1-1/+1
2005-04-07Parse and evaluate gcc computed goto extensions: label addressingLinus Torvalds1-5/+8
2005-04-07Parse C99 style 'for()' statements with variable declarations.Linus Torvalds1-4/+13
2005-04-07Clean up for/while/do parsing by separating them outLinus Torvalds1-54/+71
2005-04-07Fix switch/case statement show-parse.Linus Torvalds1-0/+1
2005-04-07Add comments about special terator/switch statement symbols.Linus Torvalds1-7/+51
2005-04-07Start updating the copyright license comments to the OSL,Linus Torvalds1-1/+3
2005-04-07Evaluate array initializers (type fixing and array indexLinus Torvalds1-1/+2
2005-04-07Oops. Bad scoping for iterators and switch() statements. We didn'tLinus Torvalds1-4/+7
2005-04-07Mark all function declarations automatically extern unless theyLinus Torvalds1-1/+9
2005-04-07Show if/label/asm statements in a saner format.Linus Torvalds1-3/+24
2005-04-07Show iterators and goto's properly as pseudo-assembler.Linus Torvalds1-2/+3
2005-04-07Turn 'break'/'continue' statements into goto's withLinus Torvalds1-10/+34
2005-04-07Make sure that when we parse a pointer type, we properlyLinus Torvalds1-0/+6
2005-04-07Don't add inline functions to the top-level parse tree. They'llLinus Torvalds1-2/+3
2005-04-07Drop the MOD_ATTRIBUTE bit when parsing attributes.Linus Torvalds1-0/+1
2005-04-07Simplify typedef testing, and don't mess with MOD_EXTERNAL testingLinus Torvalds1-8/+8
2005-04-07Whee.. Arrays of arrays were type-parsed quite wrong. MaybeLinus Torvalds1-0/+1
2005-04-07Oops. Missed a place where we added pure symbol declarationsLinus Torvalds1-6/+1
2005-04-07Only add symbol definitions, not declarations, to the result listLinus Torvalds1-16/+29
2005-04-07Make "final type attributes" properly apply the attributeLinus Torvalds1-37/+46
2005-04-07Rename the symbol 'type' attribute as a 'context' attribute.Linus Torvalds1-39/+28
2005-04-07Add parsing of "noderef" attribute, and remember to save theLinus Torvalds1-0/+11
2005-04-07Add some limited attribute parsing. "packed", "aligned" and "type".Linus Torvalds1-0/+32
2005-04-07Get closer to actually looking at type attributes.Linus Torvalds1-13/+21
2005-04-07Prepare attribute parsing for future work.Linus Torvalds1-3/+5
2005-04-07Change the copyright to Transmeta Corp, that's likely to beLinus Torvalds1-1/+1
2005-04-07Save enough information at parse time to make "typeof" workLinus Torvalds1-4/+4
2005-04-07Fix modifiers for pointer types. Bug hidden by not veryLinus Torvalds1-2/+2
2005-04-07Make the parser discard the tokens after having parsedLinus Torvalds1-0/+2
2005-04-07Update comment about NS_LABEL scoping behaviour, nowLinus Torvalds1-3/+3
2005-04-07Separate scopes for blocks and functions. Function scopesLinus Torvalds1-2/+2
2005-04-07Make labels be symbols in their own namespace (NS_LABEL).Linus Torvalds1-2/+12
2005-04-07Remove last user of "struct token" from "struct expression".Linus Torvalds1-4/+5
2005-04-07Parse array initializer index specifiers:Linus Torvalds1-0/+24
2005-04-07Parse initializers properly. We parsed them before, but we didn'tLinus Torvalds1-25/+30
2005-04-07Introduce a "struct position", and have the different types referLinus Torvalds1-50/+50
2005-04-07Evaluate pointer subtractions correctly: handle the validLinus Torvalds1-9/+15
2005-04-07Fix postop and cast evaluators, that returned success when theyLinus Torvalds1-1/+4
2005-04-07Add tree evaluation to a few more statement types (iterators,Linus Torvalds1-8/+9
2005-04-07Fix indirect type parsing (functions, arrays, bitfields). UpdateLinus Torvalds1-25/+22
2005-04-07Make the 'void' type also be part of the new world orderLinus Torvalds1-2/+0
2005-04-07Fix typename parsing (incorrect ctype usage), and correctLinus Torvalds1-2/+4
2005-04-07Clean up type handling in a big way. Don't leave thoseLinus Torvalds1-7/+56
2005-04-07Replace for/while/do-while loops with a generic internalLinus Torvalds1-11/+50
2005-04-07Make array parsing use the proper constant evaluationLinus Torvalds1-7/+6
2005-04-07Add type size and alignment information to 'struct symbol'.Linus Torvalds1-1/+1
2005-04-07Like other type definitions, typedefs too can have multipleLinus Torvalds1-7/+11
2005-04-07Oops, I got the "typeof" parsing wrong. It always needs parenthesesLinus Torvalds1-7/+12
2005-04-07Parse type qualifiers properly instead of re-using the declarationLinus Torvalds1-14/+57
2005-04-07Fix up more stupidities in the type parsing. It might even be getting closeLinus Torvalds1-38/+43
2005-04-07Fix confusion between symbol types and modifier bit-names.Linus Torvalds1-24/+20
2005-04-07Make storage class specifiers move correctly up the chain ofLinus Torvalds1-6/+8
2005-04-07Parse enum declarations, and associate the enum's with theLinus Torvalds1-3/+24
2005-04-07Split up the printout functions into a file of their own.Linus Torvalds1-155/+0
2005-04-07Split up the expression parsing in "parse.c" into a file ofLinus Torvalds1-346/+5
2005-04-07Oops, looked at the wrong type for union/struct/enum/typeof cases.Linus Torvalds1-6/+8
2005-04-07Add copyright statements and file comments. Add a FAQ, README, andLinus Torvalds1-3/+7
2005-04-07Show for/while/do statements in debugging. Make symbol typeLinus Torvalds1-5/+28
2005-04-07Fix constant expression parsing (a constant expression canLinus Torvalds1-15/+18
2005-04-07More simplification and fixing of type parsingLinus Torvalds1-8/+7
2005-04-07More expression parsing simplifications.Linus Torvalds1-29/+30
2005-04-07Ok, move closer to a proper type parser. It's still way tooLinus Torvalds1-75/+91
2005-04-07It's ok to have an empty type declaration with no identifier.Linus Torvalds1-6/+13
2005-04-07Make iterators take a helper datum, and tell the callback whetherLinus Torvalds1-46/+38
2005-04-07Better warning for undeclared identifiersLinus Torvalds1-1/+1
2005-04-07Bind symbols when declared. Bind arguments to functions.Linus Torvalds1-19/+51
2005-04-07Add symbol scoping for proper parsing.Linus Torvalds1-4/+9
2005-04-07Parse __alignof__ (although right now it ends up parsing as aLinus Torvalds1-1/+3
2005-04-07Fix up warnings by adding includes and the proper prototypes.Linus Torvalds1-1/+1
2005-04-07Print out statement parse trees so that we can verify that theLinus Torvalds1-3/+67
2005-04-07Tokenization drops whitespace, but there is one area where it isLinus Torvalds1-0/+1
2005-04-07Move some common parsing routines to "lib", so thattheLinus Torvalds1-25/+1
2005-04-07Avoid using named initializers for anonymous union entries,Linus Torvalds1-2/+2
2005-04-07Add initial preprocessor pass (doesn't actually do much)Linus Torvalds1-10/+0
2005-04-07Make 'struct token' smaller (it's way too common). Linus Torvalds1-24/+19
2005-04-07Fix cast parsing. Add parsing of gcc typeof/attribute stuff. Parse theLinus Torvalds1-53/+182
2005-04-07Add allocators for statisticsLinus Torvalds1-10/+3
2005-04-07Add parsing for 'for', 'while', 'do', 'goto' and label statements.Linus Torvalds1-1/+48
2005-04-07Parse compound statements, 'break', 'continue', 'default', 'case' andLinus Torvalds1-4/+39
2005-04-07Parse if-else and return statementsLinus Torvalds1-14/+34
2005-04-07Parse a lot more types (including complex structures and unions andLinus Torvalds1-30/+95
2005-04-07Parse enums and structures properly. Name the types nicely.Linus Torvalds1-44/+66
2005-04-07Fix up confusion between different typedefs and namespaces.Linus Torvalds1-40/+62
2005-04-07Parse structure-or-union-specifiers.Linus Torvalds1-4/+50
2005-04-07Fix warning, missed return value, and add 'struct', 'union' andLinus Torvalds1-23/+24
2005-04-07Start binding typedefs. More work needed, but this parses correctly:Linus Torvalds1-15/+67
2005-04-07Parse enough of an 'external-declaration' to be able to parse a simpleLinus Torvalds1-2/+36
2005-04-07Add more type parsing: function and array declarators, functionLinus Torvalds1-65/+97
2005-04-07Parse some type declarators. Much more to go.Linus Torvalds1-9/+51
2005-04-07Make for more readable "expected xxxx" messages.Linus Torvalds1-19/+115
2005-04-07First cuts at simple type declaration and statement parsing.Linus Torvalds1-7/+86
2005-04-07Parse assignment expressions too..Linus Torvalds1-1/+27
2005-04-07Start handling minimal semantic information, needed for types.Linus Torvalds1-20/+55
2005-04-07Mark local parsing functions 'static'.Linus Torvalds1-18/+35
2005-04-07Parse more C expressions.Linus Torvalds1-25/+110
2005-04-07Add simple recursive-descent C expression parsing (but we only do theLinus Torvalds1-0/+176