Putting back safe fixes 116836,116837,116838
llvm-svn: 116866
diff --git a/clang/lib/AST/Decl.cpp b/clang/lib/AST/Decl.cpp
index e822009..4898d6f 100644
--- a/clang/lib/AST/Decl.cpp
+++ b/clang/lib/AST/Decl.cpp
@@ -1580,6 +1580,8 @@
TagDecl* TagDecl::getDefinition() const {
if (isDefinition())
return const_cast<TagDecl *>(this);
+ if (const CXXRecordDecl *CXXRD = dyn_cast<CXXRecordDecl>(this))
+ return CXXRD->getDefinition();
for (redecl_iterator R = redecls_begin(), REnd = redecls_end();
R != REnd; ++R)