Author: Roy Jacobson Date: 2022-08-31T23:16:49+03:00 New Revision: bb9dedce5d01f5608acd784942481f386c710c0d
URL: https://github.com/llvm/llvm-project/commit/bb9dedce5d01f5608acd784942481f386c710c0d DIFF: https://github.com/llvm/llvm-project/commit/bb9dedce5d01f5608acd784942481f386c710c0d.diff LOG: [Frontend] Restore Preprocessor::getPredefines() https://reviews.llvm.org/rG6bbf51f3ed59ae37f0fec729f25af002111c9e74 from May removed Preprocessor::getPredefines() from Clang's API, presumably as a cleanup because this method is unused in the LLVM codebase. However, it was/is used by a small number of third-party tools and is pretty harmless, so this patch adds it back and documents why it's here. The issue was raised in https://github.com/llvm/llvm-project/issues/57483, it would be nice to be able to land it into Clang 15 as it breaks those third-party tools and we can't easily add it back in bug fix releases. Reviewed By: brad.king, thieta Differential Revision: https://reviews.llvm.org/D133044 Added: Modified: clang/include/clang/Lex/Preprocessor.h Removed: ################################################################################ diff --git a/clang/include/clang/Lex/Preprocessor.h b/clang/include/clang/Lex/Preprocessor.h index c00600c68a34..7507be19f037 100644 --- a/clang/include/clang/Lex/Preprocessor.h +++ b/clang/include/clang/Lex/Preprocessor.h @@ -1375,6 +1375,11 @@ class Preprocessor { StringRef getLastMacroWithSpelling(SourceLocation Loc, ArrayRef<TokenValue> Tokens) const; + /// Get the predefines for this processor. + /// Used by some third-party tools to inspect and add predefines (see + /// https://github.com/llvm/llvm-project/issues/57483). + const std::string &getPredefines() const { return Predefines; } + /// Set the predefines for this Preprocessor. /// /// These predefines are automatically injected when parsing the main file. _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits