summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/Expr.cpp
diff options
context:
space:
mode:
authorAlexey Bataev <a.bataev@hotmail.com>2015-11-25 12:01:00 +0000
committerAlexey Bataev <a.bataev@hotmail.com>2015-11-25 12:01:00 +0000
commitf763027f0477163d855c51425e2a9199739220be (patch)
treea77f1045da9a64ab548d54946a0e03c666b9eae8 /clang/lib/AST/Expr.cpp
parent8ade8d2efd832cc10d2fe1bee54e372272d58617 (diff)
downloadbcm5719-llvm-f763027f0477163d855c51425e2a9199739220be.tar.gz
bcm5719-llvm-f763027f0477163d855c51425e2a9199739220be.zip
[MSVC] 'property' with an empty array in array subscript expression.
MSVC supports 'property' attribute and allows to apply it to the declaration of an empty array in a class or structure definition. For example: ``` __declspec(property(get=GetX, put=PutX)) int x[]; ``` The above statement indicates that x[] can be used with one or more array indices. In this case, i=p->x[a][b] will be turned into i=p->GetX(a, b), and p->x[a][b] = i will be turned into p->PutX(a, b, i); Differential Revision: http://reviews.llvm.org/D13336 llvm-svn: 254067
Diffstat (limited to 'clang/lib/AST/Expr.cpp')
-rw-r--r--clang/lib/AST/Expr.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/clang/lib/AST/Expr.cpp b/clang/lib/AST/Expr.cpp
index dbc890d292d..33ea76ea74a 100644
--- a/clang/lib/AST/Expr.cpp
+++ b/clang/lib/AST/Expr.cpp
@@ -3004,6 +3004,7 @@ bool Expr::HasSideEffects(const ASTContext &Ctx,
return true;
case MSPropertyRefExprClass:
+ case MSPropertySubscriptExprClass:
case CompoundAssignOperatorClass:
case VAArgExprClass:
case AtomicExprClass:
OpenPOWER on IntegriCloud