]> granicus.if.org Git - clang/commitdiff
Generate code for member exprs.
authorAnders Carlsson <andersca@mac.com>
Fri, 2 Nov 2007 16:59:10 +0000 (16:59 +0000)
committerAnders Carlsson <andersca@mac.com>
Fri, 2 Nov 2007 16:59:10 +0000 (16:59 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43641 91177308-0d34-0410-b5e6-96231b3b80d8

CodeGen/CGExprAgg.cpp
test/CodeGen/struct.c

index ea36225ba58279bdbf74d6b4d49f1bc8066c1ec4..7646081d54789953ccf6a4baf476103d69bc1b5f 100644 (file)
@@ -61,6 +61,8 @@ public:
 
   // l-values.
   void VisitDeclRefExpr(DeclRefExpr *DRE) { return EmitAggLoadOfLValue(DRE); }
+  void VisitMemberExpr(MemberExpr *ME) { return EmitAggLoadOfLValue(ME); }
+  
   //  case Expr::ArraySubscriptExprClass:
 
   // Operators.
index 83ac4d219511bb8aa2fcc5767dbe890fc34b79eb..329dfdeb6d436802f37f385119ba8d68409ae7f8 100644 (file)
@@ -73,7 +73,20 @@ typedef struct {
 extern range f6();
 void f7()
 {
-       range r = f6();
+  range r = f6();
+}
+
+/* Member expressions */
+typedef struct {
+  range range1;
+  range range2;
+} rangepair;
+
+void f8()
+{
+  rangepair p;
+
+  range r = p.range1;
 }