]> granicus.if.org Git - clang/commitdiff
Implement dereference operator in aggregate expression
authorSeo Sanghyeon <sanxiyn@gmail.com>
Fri, 14 Dec 2007 01:09:11 +0000 (01:09 +0000)
committerSeo Sanghyeon <sanxiyn@gmail.com>
Fri, 14 Dec 2007 01:09:11 +0000 (01:09 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45020 91177308-0d34-0410-b5e6-96231b3b80d8

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

index b0e360f28eda056465ad3d273a13abd483160762..1d8b3114b7eed4473be1ef897cd41a1d72c2549b 100644 (file)
@@ -61,6 +61,7 @@ public:
   // l-values.
   void VisitDeclRefExpr(DeclRefExpr *DRE) { return EmitAggLoadOfLValue(DRE); }
   void VisitMemberExpr(MemberExpr *ME) { return EmitAggLoadOfLValue(ME); }
+  void VisitUnaryDeref(UnaryOperator *E) { return EmitAggLoadOfLValue(E); }
   
   //  case Expr::ArraySubscriptExprClass:
 
index 574cec908c859594aa31cad655572d4608ec1695..34cbec570a806e1e3bb90094fecbff82e81f0725 100644 (file)
@@ -89,6 +89,10 @@ void f8()
   range r = p.range1;
 }
 
+void f9(range *p)
+{
+  range r = *p;
+}
 
 /* _Bool types */