diff options
Diffstat (limited to 'clang/lib/Sema/Sema.cpp')
| -rw-r--r-- | clang/lib/Sema/Sema.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/clang/lib/Sema/Sema.cpp b/clang/lib/Sema/Sema.cpp index 9a00783da1e..35fd86fd251 100644 --- a/clang/lib/Sema/Sema.cpp +++ b/clang/lib/Sema/Sema.cpp @@ -178,6 +178,13 @@ void Sema::Initialize() { PushOnScopeChains(Context.getObjCProtocolDecl(), TUScope); } + // Initialize Microsoft "predefined C++ types". + if (PP.getLangOpts().MicrosoftExt && PP.getLangOpts().CPlusPlus) { + if (IdResolver.begin(&Context.Idents.get("type_info")) == IdResolver.end()) + PushOnScopeChains(Context.buildImplicitRecord("type_info", TTK_Class), + TUScope); + } + // Initialize predefined OpenCL types. if (PP.getLangOpts().OpenCL) { addImplicitTypedef("image1d_t", Context.OCLImage1dTy); |

