diff options
| author | Anders Carlsson <andersca@mac.com> | 2007-11-02 16:59:10 +0000 |
|---|---|---|
| committer | Anders Carlsson <andersca@mac.com> | 2007-11-02 16:59:10 +0000 |
| commit | bfd60eedd7d4365fa7399c8a37bdd59d34a1e04d (patch) | |
| tree | bd660c27d2406f8dd4fc3c47f84b4be2f6a69494 | |
| parent | f859ef293c14f7b9e8f3c3761917660755eafb24 (diff) | |
| download | bcm5719-llvm-bfd60eedd7d4365fa7399c8a37bdd59d34a1e04d.tar.gz bcm5719-llvm-bfd60eedd7d4365fa7399c8a37bdd59d34a1e04d.zip | |
Generate code for member exprs.
llvm-svn: 43641
| -rw-r--r-- | clang/CodeGen/CGExprAgg.cpp | 2 | ||||
| -rw-r--r-- | clang/test/CodeGen/struct.c | 15 |
2 files changed, 16 insertions, 1 deletions
diff --git a/clang/CodeGen/CGExprAgg.cpp b/clang/CodeGen/CGExprAgg.cpp index ea36225ba58..7646081d547 100644 --- a/clang/CodeGen/CGExprAgg.cpp +++ b/clang/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/clang/test/CodeGen/struct.c b/clang/test/CodeGen/struct.c index 83ac4d21951..329dfdeb6d4 100644 --- a/clang/test/CodeGen/struct.c +++ b/clang/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; } |

