summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--clang/lib/CodeGen/CGExprAgg.cpp1
-rw-r--r--clang/test/CodeGenCXX/rtti.cpp4
2 files changed, 5 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CGExprAgg.cpp b/clang/lib/CodeGen/CGExprAgg.cpp
index 901f867a591..0e10368ab04 100644
--- a/clang/lib/CodeGen/CGExprAgg.cpp
+++ b/clang/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/clang/test/CodeGenCXX/rtti.cpp b/clang/test/CodeGenCXX/rtti.cpp
index aea85a33b48..b64071c65f7 100644
--- a/clang/test/CodeGenCXX/rtti.cpp
+++ b/clang/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);
+}
OpenPOWER on IntegriCloud