]> granicus.if.org Git - clang/commitdiff
Add @selector(...) codegen support.
authorDaniel Dunbar <daniel@zuster.org>
Tue, 12 Aug 2008 03:55:34 +0000 (03:55 +0000)
committerDaniel Dunbar <daniel@zuster.org>
Tue, 12 Aug 2008 03:55:34 +0000 (03:55 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54665 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/CGExprScalar.cpp

index 2bd39c1bd6b9c841730e2a939b1772c465cd5c0a..decf539f1c8a3084457944a29ad07b50d68403b1 100644 (file)
@@ -134,6 +134,7 @@ public:
     return EmitLoadOfLValue(E);
   }
   Value *VisitObjCMessageExpr(ObjCMessageExpr *E);
+  Value *VisitObjCSelectorExpr(ObjCSelectorExpr *E);
   Value *VisitObjCIvarRefExpr(ObjCIvarRefExpr *E) { return EmitLoadOfLValue(E);}
   Value *VisitArraySubscriptExpr(ArraySubscriptExpr *E);
   Value *VisitShuffleVectorExpr(ShuffleVectorExpr *E);
@@ -501,6 +502,10 @@ Value *ScalarExprEmitter::VisitObjCMessageExpr(ObjCMessageExpr *E) {
                                       &Args[0], Args.size());
 }
 
+Value *ScalarExprEmitter::VisitObjCSelectorExpr(ObjCSelectorExpr *E) {
+  return Runtime->GetSelector(Builder, E->getSelector());
+}
+
 Value *ScalarExprEmitter::VisitArraySubscriptExpr(ArraySubscriptExpr *E) {
   // Emit subscript expressions in rvalue context's.  For most cases, this just
   // loads the lvalue formed by the subscript expr.  However, we have to be