diff options
author | Mike Stump <mrs@apple.com> | 2009-11-18 00:40:12 +0000 |
---|---|---|
committer | Mike Stump <mrs@apple.com> | 2009-11-18 00:40:12 +0000 |
commit | 2710c4159ff4761ba9867aca18f60a178b297686 (patch) | |
tree | b3e23e833c8413d2a5a7d7023e0a15f0bbfdad7b | |
parent | 321c22f1c4271c3d9a3d4d3fc18847f948ab595b (diff) |
Fix one last gotcha with typeid.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89172 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/CodeGen/CGExprAgg.cpp | 1 | ||||
-rw-r--r-- | test/CodeGenCXX/rtti.cpp | 4 |
2 files changed, 5 insertions, 0 deletions
diff --git a/lib/CodeGen/CGExprAgg.cpp b/lib/CodeGen/CGExprAgg.cpp index 901f867a59..0e10368ab0 100644 --- a/lib/CodeGen/CGExprAgg.cpp +++ b/lib/CodeGen/CGExprAgg.cpp @@ -114,6 +114,7 @@ public: void VisitCXXConstructExpr(const CXXConstructExpr *E); void VisitCXXExprWithTemporaries(CXXExprWithTemporaries *E); void VisitCXXZeroInitValueExpr(CXXZeroInitValueExpr *E); + void VisitCXXTypeidExpr(CXXTypeidExpr *E) { EmitAggLoadOfLValue(E); } void VisitVAArgExpr(VAArgExpr *E); diff --git a/test/CodeGenCXX/rtti.cpp b/test/CodeGenCXX/rtti.cpp index aea85a33b4..b64071c65f 100644 --- a/test/CodeGenCXX/rtti.cpp +++ b/test/CodeGenCXX/rtti.cpp @@ -193,3 +193,7 @@ int test3() { if (typeid(int[5]) == typeid(enum a)) return 0; } + +bool test4(std::type_info* __pointee) { + return *__pointee == typeid (void); +} |