aboutsummaryrefslogtreecommitdiff
path: root/include/clang/Frontend/PCHBitCodes.h
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-04-10 18:00:12 +0000
committerChris Lattner <sabre@nondot.org>2009-04-10 18:00:12 +0000
commit7c5d24efcd2e505b5739f7def08dfe25ce59a1b2 (patch)
treee01b6c45f5d831455439bd6b9655a651293d2778 /include/clang/Frontend/PCHBitCodes.h
parentf1202511ee2438ba6e57489c2d4e84342b35436c (diff)
emit function-like and object-like macros to the PCH file.
Note that we don't do anything useful with identifier infos yet and don't emit the tokens that the macros are defined to. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68797 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/Frontend/PCHBitCodes.h')
-rw-r--r--include/clang/Frontend/PCHBitCodes.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/include/clang/Frontend/PCHBitCodes.h b/include/clang/Frontend/PCHBitCodes.h
index e4e50e3aa6..a8257bf007 100644
--- a/include/clang/Frontend/PCHBitCodes.h
+++ b/include/clang/Frontend/PCHBitCodes.h
@@ -115,6 +115,26 @@ namespace clang {
/// macro instantiation.
SM_SLOC_INSTANTIATION_ENTRY = 4
};
+
+ /// \brief Record types used within a preprocessor block.
+ enum PreprocessorRecordTypes {
+ // The macros in the PP section are a PP_MACRO_* instance followed by a
+ // list of PP_TOKEN instances for each token in the definition.
+
+ /// \brief An object-like macro definition.
+ /// [PP_MACRO_OBJECT_LIKE, IdentInfoID, SLoc, IsUsed]
+ PP_MACRO_OBJECT_LIKE = 1,
+
+ /// \brief A function-like macro definition.
+ /// [PP_MACRO_FUNCTION_LIKE, <ObjectLikeStuff>, IsC99Varargs, IsGNUVarars,
+ /// NumArgs, ArgIdentInfoID* ]
+ PP_MACRO_FUNCTION_LIKE = 2,
+
+ /// \brief Describes one token.
+ /// [PPTOKEN, SLoc, Length, IdentInfoID, Kind, Flags]
+ PP_TOKEN = 3
+ };
+
/// \defgroup PCHAST Precompiled header AST constants
///