Expansion of macros like __FILE__, __DATE__, ... must, contrary to usual macros, be done dynamically. This series improves support for them: - consider them as defined (like GCC do) - use table + method for their expansion (avoid useless compares) - add support for __INCLUDE_LEVEL__ & __BASE_FILE__ Luc Van Oostenryck (4): dyn-macro: add testcase for __LINE__ & friends dyn-macro: use a table to expand __DATE__, __FILE__, ... dyn-macro: add support for __INCLUDE_LEVEL__ dyn-macro: add real support for __BASE_FILE__ ident-list.h | 5 -- lib.c | 6 +- lib.h | 2 + pre-process.c | 93 +++++++++++++++++++------ symbol.h | 1 + validation/preprocessor/base-file.c | 17 +++++ validation/preprocessor/base-file.h | 2 + validation/preprocessor/dynamic.c | 37 ++++++++++ validation/preprocessor/include-level.c | 14 ++++ validation/preprocessor/include-level.h | 1 + 10 files changed, 149 insertions(+), 29 deletions(-) create mode 100644 validation/preprocessor/base-file.c create mode 100644 validation/preprocessor/base-file.h create mode 100644 validation/preprocessor/dynamic.c create mode 100644 validation/preprocessor/include-level.c create mode 100644 validation/preprocessor/include-level.h -- 2.17.1 -- To unsubscribe from this list: send the line "unsubscribe linux-sparse" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html