diff options
author | Daniel Dunbar <daniel@zuster.org> | 2008-08-12 03:55:34 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2008-08-12 03:55:34 +0000 |
commit | bceb904f91e04103dabe383540369b85bd68e423 (patch) | |
tree | 6c069ff663450160a34c472be7625a188e651e4c /clang/lib/CodeGen | |
parent | cb515c8b0a2294b5f7bfd09ebfe6b0eaa723c3a8 (diff) | |
download | bcm5719-llvm-bceb904f91e04103dabe383540369b85bd68e423.tar.gz bcm5719-llvm-bceb904f91e04103dabe383540369b85bd68e423.zip |
Add @selector(...) codegen support.
llvm-svn: 54665
Diffstat (limited to 'clang/lib/CodeGen')
-rw-r--r-- | clang/lib/CodeGen/CGExprScalar.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CGExprScalar.cpp b/clang/lib/CodeGen/CGExprScalar.cpp index 2bd39c1bd6b..decf539f1c8 100644 --- a/clang/lib/CodeGen/CGExprScalar.cpp +++ b/clang/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 |