It was previously enabled in both but should only have been part of the drop-in
quirks mode that is 'MicrosoftMode' given that it's only useful for
compatibility with the Microsoft headers/runtime.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@198548
91177308-0d34-0410-b5e6-
96231b3b80d8
}
// Initialize Microsoft "predefined C++ types".
- if (PP.getLangOpts().MicrosoftExt && PP.getLangOpts().CPlusPlus) {
+ if (PP.getLangOpts().MicrosoftMode && PP.getLangOpts().CPlusPlus) {
if (IdResolver.begin(&Context.Idents.get("type_info")) == IdResolver.end())
PushOnScopeChains(Context.buildImplicitRecord("type_info", TTK_Class),
TUScope);
}
+namespace ms_predefined_types {
+ // ::type_info is predeclared with forward class declartion
+ void f(const type_info &a);
+}
+
namespace ms_protected_scope {
struct C { C(); };
// RUN: %clang_cc1 %s -triple i686-pc-win32 -fsyntax-only -Wmicrosoft -Wc++11-extensions -Wno-long-long -verify -fms-extensions -fexceptions -fcxx-exceptions
-// ::type_info is predeclared with forward class declartion
-void f(const type_info &a);
-
-
// Microsoft doesn't validate exception specification.
namespace microsoft_exception_spec {