aboutsummaryrefslogtreecommitdiffstats
path: root/pre-process.c
AgeCommit message (Expand)AuthorFilesLines
2015-02-08Teach sparse about the __COUNTER__ predefined macroLuc Van Oostenryck1-0/+4
2015-02-06Make macro expanded string immutablereview-immutable-stringChristopher Li1-5/+17
2013-11-29sparse: Relicense under the MIT licenseFranz Schrober1-1/+17
2013-04-21Support #pragma onceJosh Triplett1-0/+9
2013-03-06Larger buffer size for token concatenationChristopher Li1-37/+11
2013-02-25Get rid of gcc warning about enum valuesChristopher Li1-3/+3
2013-02-12L ## 'a' is valid; so's L ## "a"Al Viro1-1/+26
2013-02-12switch to delayed handling of escape sequencesAl Viro1-5/+33
2013-02-12fix handling of -includeAl Viro1-30/+40
2013-02-12simplify handling of newline/whitespace flags in expand()Al Viro1-13/+19
2012-04-13Fix ,##__VA_ARGS__ kludgeAl Viro1-37/+120
2011-05-31Remove set but not used variableChristopher Li1-2/+0
2011-04-19Teach 'already_tokenized()' to use the stream name hash tableLinus Torvalds1-3/+5
2011-01-03use ARRAY_SIZE() when possibleNamhyung Kim1-2/+2
2010-06-17Parsing wide char stringChristopher Li1-2/+3
2010-04-08Allow parsing L'\0'Christopher Li1-0/+1
2009-07-18warn directive in argument listAl Viro1-2/+26
2008-12-18Rename dirafter to idirafter.Alexey Zaytsev1-2/+2
2008-12-18Set gcc include path at runtime.Alexey Zaytsev1-20/+76
2007-06-03Fix infinite loop in free_preprocessor_line()Alexey Dobriyan1-2/+2
2007-05-26check for whitespace before object-like macro bodyAl Viro1-5/+10
2007-05-20__DATE__ & __TIME expansionDamien Lespiau1-0/+13
2007-03-10Avoid returning an uninitialized pointer from dup_list of an empty listJosh Triplett1-1/+1
2007-03-09Fix typos in commentsJosh Triplett1-4/+4
2006-12-05implement #strong_undefOleg Nesterov1-6/+24
2006-12-05implement #strong_defineOleg Nesterov1-11/+17
2006-12-05prepare for #strong_{define,undef}Oleg Nesterov1-7/+8
2006-12-05fix 'weak' attribute lossOleg Nesterov1-3/+5
2006-12-05fix redefine of #weak_defineOleg Nesterov1-23/+32
2006-12-05kill NS_INVISIBLEMACRO, introduce NS_UNDEFOleg Nesterov1-3/+10
2006-12-05use lookup_macro() in handle_undef()Oleg Nesterov1-10/+5
2006-11-28Fix warning on self check.Christopher Li1-12/+16
2006-11-06Typo fixesPavel Roskin1-1/+1
2005-11-27[PATCH] eliminate elif_ignore, fix handling of unterminated #ifAl Viro1-55/+45
2005-11-27[PATCH] lookup_macro() should be staticAl Viro1-1/+1
2005-11-27[PATCH] check for !token in handle_preprocessor_line() should be eof_token(to...Al Viro1-1/+1
2005-11-27[PATCH] fixed stream->protect handlingAl Viro1-44/+46
2005-11-27[PATCH] fixed handling of out-of-place #elif/#else/#endifAl Viro1-10/+19
2005-11-27[PATCH] beginning of #include protection rewrite: cleanupAl Viro1-46/+31
2005-11-27[PATCH] fix places that didn't free preprocessor line for no reason.Al Viro1-30/+37
2005-11-27[PATCH] taking free_preprocessor_line() to caller of ->handler()Al Viro1-39/+40
2005-11-27[PATCH] remove bogus double warning on #define/#undef syntaxAl Viro1-2/+2
2005-11-27[PATCH] saner handling of #if[n]def syntax errorsAl Viro1-9/+28
2005-11-27[PATCH] remove true_nesting, turn if_nesting into a variableAl Viro1-13/+4
2005-11-22[PATCH] shut up the bogus warnings about the #if'ed-out sectionAl Viro1-4/+9
2005-11-22[PATCH] no need to special-case comma after ##Al Viro1-2/+0
2005-11-16Re-name "error()" function to "sparse_error()"Linus Torvalds1-29/+29
2005-09-22[PATCH] replaced warnings with errors.Mitesh Shah1-29/+29
2005-09-09Warn about undefined preprocessor symbols at expansion time, not parse timeLinus Torvalds1-3/+1
2005-08-03Don't overwrite built-in macros when redefining them.Linus Torvalds1-5/+19
2005-08-03Update the calling interface to "sparse()".Linus Torvalds1-1/+1
2005-08-02Don't free expressions after preprocessingLinus Torvalds1-1/+2
2005-05-19[PATCH] Fix SIGSEGV on unterminated preprocessor conditionalLuc Van Oostenryck1-0/+2
2005-05-19Fix position reporting on unterminated preprocessor conditionalLinus Torvalds1-3/+3
2005-04-07[PATCH] static declearChristopher Li1-2/+1
2005-04-07[PATCH] make include path handling gcc compatibleSam Ravnborg1-41/+151
2005-04-07Add "stream_name()" helper function, and use it.Linus Torvalds1-2/+2
2005-04-07Remove stat-based file identity tests.Linus Torvalds1-0/+19
2005-04-07Split out the blob allocator from lib.c into allocate.c.Linus Torvalds1-0/+1
2005-04-07Add "optimize" flag, and collect the flags into lib.c.Linus Torvalds1-3/+0
2005-04-07Update copyright notices a bit.Linus Torvalds1-1/+1
2005-04-07Free more token memory for re-useLinus Torvalds1-0/+2
2005-04-07Make the pre-processor free the tokens that never make itLinus Torvalds1-15/+26
2005-04-07Honor pre-processor conditionals even when they don't match within a stream.Linus Torvalds1-10/+6
2005-04-07Using a preprocessor symbol makes it non-weak.Linus Torvalds1-3/+11
2005-04-07Make #ifdef/#ifndef/defined() all use the same helper function.Linus Torvalds1-14/+11
2005-04-07Add "weak" definesLinus Torvalds1-1/+18
2005-04-07When re-defining a symbol, let the new definition shine through.Linus Torvalds1-0/+2
2005-04-07[PATCH] #if expression handling cleanupsAlexander Viro1-22/+24
2005-04-07Fix replace_by_integer.welinder@troll.com1-2/+2
2005-04-07[PATCH] trivial ansi-c declearChristopher Li1-1/+1
2005-04-07Morten made us almost -Wwrite-strings clean. Go the extra mile.Linus Torvalds1-4/+6
2005-04-07Janitorial trivialities.welinder@darter.rentec.com1-1/+1
2005-04-07Many files:welinder@darter.rentec.com1-34/+34
2005-04-07Remove "match_string_ident" now that nothing uses it.Linus Torvalds1-10/+0
2005-04-07[PATCH] make preprocesser command a symbolChristopher Li1-12/+17
2005-04-07symbol.c:welinder@troll.com1-1/+1
2005-04-07Make sure to handle TOKEN_STREAMEND even inside a false conditional.welinder@troll.com1-11/+15
2005-04-07Make elif_ignore also keep track of whether we have seen #else.welinder@troll.com1-30/+42
2005-04-07Encountering #warning or #error at the wrong spot means that the filewelinder@troll.com1-0/+4
2005-04-07Fix #warning for lines that end up with precisely 1024 characters.welinder@troll.com1-1/+1
2005-04-07Make "next_path" be per-stream for better "include_next".Linus Torvalds1-16/+11
2005-04-07Implement "include_next"Linus Torvalds1-7/+19
2005-04-07Re-organize search path handling.Linus Torvalds1-23/+49
2005-04-07pre-process.c:welinder@troll.com1-24/+53
2005-04-07pre-process.c, lib.c:welinder@troll.com1-1/+1
2005-04-07pre-process.c:welinder@troll.com1-1/+1
2005-04-07Handle preprocessor "# <nr> <file>" the same as #line <nr> <file>".Linus Torvalds1-2/+9
2005-04-07[PATCH] #lineterra@gnome.org1-0/+9
2005-04-07Make #include handling do the right thing for absolute paths.Linus Torvalds1-0/+8
2005-04-07Handle tokenized include-filename with angle brackets.Linus Torvalds1-0/+4
2005-04-07[PATCH] lazy-copy macro expansion in pre-processingAlexander Viro1-374/+574
2005-04-07[PATCH] saner handling of argument listsAlexander Viro1-25/+83
2005-04-07[PATCH] sparse cleanups of handle_define()Alexander Viro1-61/+66
2005-04-07[PATCH] more sparse fixes (body parsing, beginning of ## handling)Alexander Viro1-54/+80
2005-04-07Shrink "struct token" by moving "noexpand" into the position flags.Linus Torvalds1-4/+4
2005-04-07Oops. Al forgot to handle the new TOKEN_UNTAINT in tokenLinus Torvalds1-0/+1
2005-04-07[PATCH] Fix preprocessor expansion anti-recursion properlyAlexander Viro1-68/+95
2005-04-07Ok, this handles all token types in token comparison,Linus Torvalds1-10/+23
2005-04-07Be a bit better about comparing token lists.Linus Torvalds1-1/+29
2005-04-07Use the proper wrapper to access token types.Linus Torvalds1-1/+1
2005-04-07Fix equality testing for macro re-definition.Linus Torvalds1-13/+13
2005-04-07[PATCH] cleanup of macro arguments handlingAlexander Viro1-7/+19
2005-04-07Now that we do the proper (simplified) C99 number tokenLinus Torvalds1-7/+1
2005-04-07Remove TOKEN_FP vs TOKEN_INTEGER distinction, and make numbers beLinus Torvalds1-30/+10
2005-04-07This should largely fix token pasting.Linus Torvalds1-49/+70
2005-04-07The "original definition" part of the redefined warningLinus Torvalds1-1/+1
2005-04-07Oops. Fix the preprocessor handling of "..." arguments.Linus Torvalds1-0/+1
2005-04-07Fix token expansion array overflow.Linus Torvalds1-1/+7
2005-04-07[PATCH] print out the function which causes errorsChristopher Li1-7/+7
2005-04-07[PATCH] support __VA_ARGS__ variable macro argumentsChristopher Li1-7/+22
2005-04-07[PATCH] print out name of function which causes errorsChristopher Li1-1/+2
2005-04-07Update copyright notices to reflect the fact that TransmetaLinus Torvalds1-0/+1
2005-04-07Fix a nonchecked (and much too small) nesting level limit.Linus Torvalds1-2/+4
2005-04-07Add "-v" flag for verbose mode.Linus Torvalds1-0/+1
2005-04-07Get rid of "#pragma" lines for now, while still keeping aLinus Torvalds1-0/+26
2005-04-07[PATCH] Get gcc internal header files path from gcc itselfRyan Anderson1-2/+2
2005-04-07Fix include path ordering - check for local paths when givenLinus Torvalds1-16/+16
2005-04-07Gahh... I really need to revisit the expansion recursion avoidance. Linus Torvalds1-2/+4
2005-04-07Stupid pre-processor bug #6981: Don't avoid recursivelyLinus Torvalds1-2/+2
2005-04-07Add current directory to search path.Linus Torvalds1-0/+4
2005-04-07Avoid recursive expansion of tokens by keeping track of expansionLinus Torvalds1-29/+38
2005-04-07Fix (and simplify) handling of "defined()" in the preprocessor.Linus Torvalds1-19/+13
2005-04-07Use the new factored-out include code to do proper include pathLinus Torvalds1-20/+50
2005-04-07Factor out the pre-processor include file handling a little bit,Linus Torvalds1-17/+30
2005-04-07Make the pre-processor search both 3.2.1 and 3.2.2 gcc header files.Linus Torvalds1-1/+2
2005-04-07Start updating the copyright license comments to the OSL,Linus Torvalds1-1/+3
2005-04-07This should fix a macro argument expansion problem - we mark theLinus Torvalds1-2/+2
2005-04-07Add a "preprocessing" flag, so that the expression evaluator canLinus Torvalds1-0/+4
2005-04-07Add some limited attribute parsing. "packed", "aligned" and "type".Linus Torvalds1-1/+1
2005-04-07Change the copyright to Transmeta Corp, that's likely to beLinus Torvalds1-1/+1
2005-04-07Introduce a "struct position", and have the different types referLinus Torvalds1-65/+65
2005-04-07Clean up type handling in a big way. Don't leave thoseLinus Torvalds1-1/+1
2005-04-07Handle __LINE__ and __FILE__ in pre-processor.Linus Torvalds1-0/+24
2005-04-07Make the includepath be an array of "const char *"Linus Torvalds1-2/+2
2005-04-07Add preprocessor directives to manipulate the include path.Linus Torvalds1-0/+51
2005-04-07Split the compile time constant evaluation up intoLinus Torvalds1-91/+1
2005-04-07Move expression data structures to "expression.h", they gotLinus Torvalds1-0/+1
2005-04-07Uhuh. Fix stupid thinko in insertion of macro expansion.Linus Torvalds1-4/+3
2005-04-07Remove unused variableLinus Torvalds1-1/+0
2005-04-07Don't expand arguments that are preceded by '#' or preceded or followedLinus Torvalds1-3/+6
2005-04-07Fix stringify that got broken by other changesLinus Torvalds1-1/+0
2005-04-07Teach ## expansion about the magic gcc behaviour: x ## arg goesLinus Torvalds1-0/+24
2005-04-07Fix recursive expansion of preprocessor macros. Linus Torvalds1-50/+47
2005-04-07Handle '#' properly (well, _more_ properly) in macro expansion.Linus Torvalds1-9/+28
2005-04-07Fix showing of tokens - whitespace messed up.Linus Torvalds1-2/+4
2005-04-07Remove global argument/arglist pointers, and pass them properly asLinus Torvalds1-11/+24
2005-04-07Make the naming in expand_arguments() match the othersLinus Torvalds1-2/+2
2005-04-07Move includepath[] array out of pre-processor, since we wantLinus Torvalds1-9/+1
2005-04-07Parse enum declarations, and associate the enum's with theLinus Torvalds1-9/+29
2005-04-07Add copyright statements and file comments. Add a FAQ, README, andLinus Torvalds1-0/+2
2005-04-07Fix constant expression parsing (a constant expression canLinus Torvalds1-2/+2
2005-04-07Bind symbols when declared. Bind arguments to functions.Linus Torvalds1-4/+4
2005-04-07Parse __alignof__ (although right now it ends up parsing as aLinus Torvalds1-3/+0
2005-04-07First cut at retokenization (ie 'a ## b') in macro expansion.Linus Torvalds1-0/+101
2005-04-07Fix up whitespace for token expansion to make printout prettier.Linus Torvalds1-0/+1
2005-04-07Avoid re-tokenizing header files that are protected byLinus Torvalds1-3/+26
2005-04-07Start tracking whether a stream may be constant or not. Very experimental.Linus Torvalds1-24/+40
2005-04-07Make the tokenizer insert begin/end tokens at stream boundaries,Linus Torvalds1-3/+12
2005-04-07Re-name the "action" thing as something saner - it's now a "stream".Linus Torvalds1-3/+13
2005-04-07Fix fd leak in tokenization.Linus Torvalds1-0/+1
2005-04-07Tokenization drops whitespace, but there is one area where it isLinus Torvalds1-2/+7
2005-04-07This gets us up and parsing through a lot of the regular header files:Linus Torvalds1-7/+15
2005-04-07Do preprocessor macro argument substitution.Linus Torvalds1-1/+72
2005-04-07Make preprocessor expansion a hell of a lot more readable byLinus Torvalds1-25/+35
2005-04-07Parse the incoming argument list for macro expansion.Linus Torvalds1-2/+28
2005-04-07Add scaffolding for argument handling of macros. Very preliminary.Linus Torvalds1-9/+28
2005-04-07Make the preprocessor use the C parser, and then evaluate preprocessorLinus Torvalds1-113/+132
2005-04-07Properly expand tokens on #if/#elif/#include preprocessor linesLinus Torvalds1-34/+55
2005-04-07Argh, fix the pre-processor expression parsing warning to warnLinus Torvalds1-3/+3
2005-04-07Make preprocessor errors more readable, to help adding theLinus Torvalds1-1/+1
2005-04-07Do proper recursive expansion, with the right avoidance of infiniteLinus Torvalds1-10/+30
2005-04-07Fix stream naming on include - we need to allocate stable storage for itLinus Torvalds1-2/+5
2005-04-07Fix 'elif' semantics: if we've ever seen a previous if that matched,Linus Torvalds1-10/+12
2005-04-07Move some common parsing routines to "lib", so thattheLinus Torvalds1-1/+124
2005-04-07Teach the preprocessing pass to handle 'include' and Linus Torvalds1-2/+97
2005-04-07Do much more pre-processing work: support #ifdef/#else/#endifLinus Torvalds1-21/+196
2005-04-07Preprocessor symbol handling: handle simple cases of #define andLinus Torvalds1-8/+83
2005-04-07Add initial preprocessor pass (doesn't actually do much)Linus Torvalds1-0/+51