diff options
author | Chris Lattner <sabre@nondot.org> | 2009-04-10 18:00:12 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-04-10 18:00:12 +0000 |
commit | 7c5d24efcd2e505b5739f7def08dfe25ce59a1b2 (patch) | |
tree | e01b6c45f5d831455439bd6b9655a651293d2778 /include/clang/Frontend/PCHBitCodes.h | |
parent | f1202511ee2438ba6e57489c2d4e84342b35436c (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.h | 20 |
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 /// |