aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/Frontend/InitPreprocessor.cpp1
-rw-r--r--test/SemaCXX/MicrosoftExtensions.cpp7
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);
+
+