[PATCH] D13336: [MSVC] 'property' with an empty array in array subscript expression.

Reid Kleckner via cfe-commits cfe-commits at lists.llvm.org
Mon Oct 19 17:13:53 PDT 2015

rnk added a subscriber: rnk.
rnk added a comment.

I spent some time reading through the pseudo-object implementation in clang, but I still don't understand it. We should ask John if he can review this.

My gut feeling is that we shouldn't have a global DenseMap in Sema just for this. Should we have some other node, like an ObjCSubscriptRefExpr that describes this instead?

We need *some* AST for the as-written syntactic form. Can you send a dump of the AST for the test?

Comment at: lib/Sema/SemaExpr.cpp:3986-3987
@@ -3971,1 +3985,4 @@
+  if (MSProp && MSProp->getPropertyDecl()->getType()->isArrayType())
+    return base;
Will this affect the syntactic form of the expression?

Comment at: test/CodeGenCXX/ms-property.cpp:32
@@ +31,3 @@
+  // CHECK-NEXT: call void @"\01?PutX@?$St at M@@QEAAXMMM at Z"(%class.St* %{{.+}}, float 2.300000e+01, float 1.000000e+00, float [[J1]])
+  p2->x[23][1] = j1;
+  return 0;
Can you add a ++ test?


More information about the cfe-commits mailing list