aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/pre-process.c
AgeCommit message (Expand)AuthorFilesLines
2021-03-01pre-proc: do some path normalizationLuc Van Oostenryck1-0/+6
2020-08-01fix build on Hurd which doesn't define PATH_MAXLuc Van Oostenryck1-4/+0
2020-07-22add position to struct streamLuc Van Oostenryck1-2/+2
2020-07-19prepend diagnostics with source's path and include chainLuc Van Oostenryck1-5/+5
2020-07-06predefine: add helper predefine_{strong,weak}()Luc Van Oostenryck1-0/+26
2020-06-18pre-process: make __has_{attribute,builtin}() true builtin macrosLuc Van Oostenryck1-52/+32
2020-06-18pre-process: add support for __has_feature() & __has_extension()Luc Van Oostenryck1-0/+54
2020-06-18pre-process: add support for builtin macrosLuc Van Oostenryck1-0/+34
2020-06-18pre-process: rename 'expander' into 'expand_simple'Luc Van Oostenryck1-4/+4
2020-06-06pre-process: remove unneeded declaration of show_token_sequence()Luc Van Oostenryck1-2/+0
2020-06-06pre-process: fix a compiler array subscript type warningRamsay Jones1-1/+1
2020-03-16cpp: fix redefinition of a macro during its own expansionLuc Van Oostenryck1-1/+2
2020-03-15cpp: remove extra newlines during macro expansionLuc Van Oostenryck1-0/+1
2020-03-15cpp: silently allow conditional directives within a macroLuc Van Oostenryck1-3/+14
2020-03-15make "directive in macro's argument list" a warningOleg Nesterov1-1/+1
2020-01-22add predefine_nostd()Luc Van Oostenryck1-0/+8
2019-10-01make 'directive in argument list' clearerLuc Van Oostenryck1-1/+1
2018-12-09Merge branch 'dump-macros'Luc Van Oostenryck1-7/+20
2018-11-29Ignore #ident directivesJohn Levon1-0/+6
2018-11-25dump-macro: simplify processing of whitespaceLuc Van Oostenryck1-6/+3
2018-11-24dump-macro: break the loop at TOKEN_UNTAINTLuc Van Oostenryck1-3/+1
2018-11-24pre-process: print variable argument macros correctlyRamsay Jones1-1/+10
2018-11-24pre-process: don't put spaces in macro parameter listRamsay Jones1-1/+1
2018-11-24pre-process: print macros containing # and ## correctlyRamsay Jones1-0/+7
2018-11-24pre-process: suppress trailing space when dumping macrosRamsay Jones1-0/+2
2018-09-01has-attr: add support for __has_attribute()Luc Van Oostenryck1-9/+24
2018-06-12Merge branches 'has-builtin' and 'builtin-predef' into tipLuc Van Oostenryck1-61/+194
2018-06-08builtin: add predefine()Luc Van Oostenryck1-0/+38
2018-06-08builtin: add support for __has_builtin()Luc Van Oostenryck1-0/+37
2018-06-08extract replace_with_bool() from replace_with_defined()Luc Van Oostenryck1-3/+7
2018-06-08builtin: extract do_define() from do_handle_define()Luc Van Oostenryck1-30/+37
2018-06-08utils: convert alloc + copy to {mem,str}dup_alloc()Luc Van Oostenryck1-7/+3
2018-06-04dyn-macro: add real support for __BASE_FILE__Luc Van Oostenryck1-0/+6
2018-06-04dyn-macro: add support for __INCLUDE_LEVEL__Luc Van Oostenryck1-0/+9
2018-06-04dyn-macro: use a table to expand __DATE__, __FILE__, ...Luc Van Oostenryck1-21/+57
2018-05-04fix build on Hurd which doesn't define PATH_MAXLuc Van Oostenryck1-0/+4
2018-02-20ban use of 'true' or 'false'Luc Van Oostenryck1-2/+2
2017-08-31Sparse preprocessing bug with zero-arg variadic macrosAl Viro1-1/+3
2017-05-19teach sparse how to dump macro definitionsLuc Van Oostenryck1-0/+55
2015-02-08Teach sparse about the __COUNTER__ predefined macroLuc Van Oostenryck1-0/+4
2015-02-06Make macro expanded string immutableChristopher 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