Index: lib/Frontend/InitPreprocessor.cpp
===================================================================
--- lib/Frontend/InitPreprocessor.cpp	(revision 112178)
+++ lib/Frontend/InitPreprocessor.cpp	(working copy)
@@ -343,6 +343,7 @@
       // 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;");
     }
   }
 
Index: test/Lexer/ms-extensions.c
===================================================================
--- test/Lexer/ms-extensions.c	(revision 112178)
+++ test/Lexer/ms-extensions.c	(working copy)
@@ -23,3 +23,6 @@
         unsigned short s = USHORT;
         unsigned char c = UCHAR;
 }
+
+// type_info forward class declaration is built-in.
+voif f(type_info &a);
