diff options
author | Francois Pichet <pichet2000@gmail.com> | 2011-12-12 23:24:39 +0000 |
---|---|---|
committer | Francois Pichet <pichet2000@gmail.com> | 2011-12-12 23:24:39 +0000 |
commit | 9d24a8be93b28488dbfb9bbe8aa6fe35b21a5b0c (patch) | |
tree | 2b4a322ce4bea3d1ee2c6505ac2a7c48b2c2bd83 /include/clang/Parse/Parser.h | |
parent | 2e1732299461634b9791ddfe6e3770c6be3a3675 (diff) |
Implement the Microsoft __if_exists/if_not_exists extension in initializer-list.
Necessary to parse Microsoft ATL code.
Example:
int array[] = {
0,
__if_exists(CLASS::Type) {2, }
3
};
will declare an array of 2 or 3 elements depending on if CLASS::Type exists or not.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146447 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/Parse/Parser.h')
-rw-r--r-- | include/clang/Parse/Parser.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/clang/Parse/Parser.h b/include/clang/Parse/Parser.h index a60800630e..07d21bfeed 100644 --- a/include/clang/Parse/Parser.h +++ b/include/clang/Parse/Parser.h @@ -1548,6 +1548,8 @@ private: void ParseMicrosoftIfExistsExternalDeclaration(); void ParseMicrosoftIfExistsClassDeclaration(DeclSpec::TST TagType, AccessSpecifier& CurAS); + bool ParseMicrosoftIfExistsBraceInitializer(ExprVector &InitExprs, + bool &InitExprsOk); bool ParseAsmOperandsOpt(SmallVectorImpl<IdentifierInfo *> &Names, SmallVectorImpl<Expr *> &Constraints, SmallVectorImpl<Expr *> &Exprs); |