From: Anders Carlsson Date: Fri, 2 Nov 2007 16:59:10 +0000 (+0000) Subject: Generate code for member exprs. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a1ff3e9290943fef18b0a1e9888854c8fd0ba5a4;p=clang Generate code for member exprs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43641 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/CodeGen/CGExprAgg.cpp b/CodeGen/CGExprAgg.cpp index ea36225ba5..7646081d54 100644 --- a/CodeGen/CGExprAgg.cpp +++ b/CodeGen/CGExprAgg.cpp @@ -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. diff --git a/test/CodeGen/struct.c b/test/CodeGen/struct.c index 83ac4d2195..329dfdeb6d 100644 --- a/test/CodeGen/struct.c +++ b/test/CodeGen/struct.c @@ -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; }