aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/CGExprScalar.cpp
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2008-08-12 03:55:34 +0000
committerDaniel Dunbar <daniel@zuster.org>2008-08-12 03:55:34 +0000
commita008db15ee50455ff98db1e4251cdda5c89a90ee (patch)
treed1e58029281356655bc0849baa280305d7237eff /lib/CodeGen/CGExprScalar.cpp
parent259d93d1e1f820d5ee7251e875fdb7c883102f16 (diff)
Add @selector(...) codegen support.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54665 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/CGExprScalar.cpp')
-rw-r--r--lib/CodeGen/CGExprScalar.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/CodeGen/CGExprScalar.cpp b/lib/CodeGen/CGExprScalar.cpp
index 2bd39c1bd6..decf539f1c 100644
--- a/lib/CodeGen/CGExprScalar.cpp
+++ b/lib/CodeGen/CGExprScalar.cpp
@@ -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