[all-commits] [llvm/llvm-project] 8edd34: Add support for #elifdef and #elifndef

Aaron Ballman via All-commits all-commits at lists.llvm.org
Thu May 27 05:58:14 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 8edd3464afbff65d7d5945b3a8b20009d6ff5deb
      https://github.com/llvm/llvm-project/commit/8edd3464afbff65d7d5945b3a8b20009d6ff5deb
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2021-05-27 (Thu, 27 May 2021)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticLexKinds.td
    M clang/include/clang/Basic/TokenKinds.def
    M clang/include/clang/Lex/DependencyDirectivesSourceMinimizer.h
    M clang/include/clang/Lex/PPCallbacks.h
    M clang/include/clang/Lex/PPConditionalDirectiveRecord.h
    M clang/include/clang/Lex/PreprocessingRecord.h
    M clang/include/clang/Lex/Preprocessor.h
    M clang/lib/Basic/IdentifierTable.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Index/IndexingAction.cpp
    M clang/lib/Lex/DependencyDirectivesSourceMinimizer.cpp
    M clang/lib/Lex/Lexer.cpp
    M clang/lib/Lex/PPConditionalDirectiveRecord.cpp
    M clang/lib/Lex/PPDirectives.cpp
    M clang/lib/Lex/PreprocessingRecord.cpp
    M clang/lib/Lex/Preprocessor.cpp
    M clang/lib/Sema/SemaCodeComplete.cpp
    M clang/test/Index/complete-preprocessor.m
    A clang/test/Preprocessor/elifdef.c
    M clang/test/Preprocessor/if_warning.c
    M clang/test/Preprocessor/ifdef-recover.c
    M clang/test/Preprocessor/macro_misc.c
    M clang/test/Preprocessor/macro_vaopt_check.cpp
    M clang/unittests/Lex/DependencyDirectivesSourceMinimizerTest.cpp

  Log Message:
  -----------
  Add support for #elifdef and #elifndef

WG14 adopted N2645 and WG21 EWG has accepted P2334 in principle (still
subject to full EWG vote + CWG review + plenary vote), which add
support for #elifdef as shorthand for #elif defined and #elifndef as
shorthand for #elif !defined. This patch adds support for the new
preprocessor directives.




More information about the All-commits mailing list