diff options
-rw-r--r-- | lib/Frontend/InitPreprocessor.cpp | 1 | ||||
-rw-r--r-- | test/SemaCXX/MicrosoftExtensions.cpp | 7 |
2 files changed, 8 insertions, 0 deletions
diff --git a/lib/Frontend/InitPreprocessor.cpp b/lib/Frontend/InitPreprocessor.cpp index 29a8bec1f6..538e6e2c64 100644 --- a/lib/Frontend/InitPreprocessor.cpp +++ b/lib/Frontend/InitPreprocessor.cpp @@ -343,6 +343,7 @@ static void InitializePredefinedMacros(const TargetInfo &TI, // FIXME: This should be temporary until we have a __pragma // solution, to avoid some errors flagged in VC++ headers. Builder.defineMacro("_CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES", "0"); + Builder.append("class type_info;"); } } diff --git a/test/SemaCXX/MicrosoftExtensions.cpp b/test/SemaCXX/MicrosoftExtensions.cpp new file mode 100644 index 0000000000..c143e59fb3 --- /dev/null +++ b/test/SemaCXX/MicrosoftExtensions.cpp @@ -0,0 +1,7 @@ +// RUN: %clang_cc1 %s -fsyntax-only -verify -fms-extensions + + +// ::type_info is predeclared with forward class declartion +void f(const type_info &a); + + |