diff --git a/include/llvm/Assembly/Parser.h b/include/llvm/Assembly/Parser.h
index dc1b17eb50b..15d8d5b8d73 100644
--- a/include/llvm/Assembly/Parser.h
+++ b/include/llvm/Assembly/Parser.h
@@ -36,7 +36,8 @@ Module *ParseAssemblyFile(const std::string &Filename);// throw (ParseException)
// ParseException - For when an exceptional event is generated by the parser.
// This class lets you print out the exception message
//
-struct ParseException {
+class ParseException {
+public:
ParseException(const std::string &filename, const std::string &message,
int LineNo = -1, int ColNo = -1);
diff --git a/win32/AsmParser/AsmParser.vcproj b/win32/AsmParser/AsmParser.vcproj
new file mode 100644
index 00000000000..ce06c7fad0d
--- /dev/null
+++ b/win32/AsmParser/AsmParser.vcproj
@@ -0,0 +1,180 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/win32/Bytecode/Bytecode.vcproj b/win32/Bytecode/Bytecode.vcproj
index 83947201dec..e84edf42c26 100644
--- a/win32/Bytecode/Bytecode.vcproj
+++ b/win32/Bytecode/Bytecode.vcproj
@@ -184,14 +184,6 @@
RelativePath="..\..\include\llvm\Bytecode\Writer.h">
-
-
-
-
diff --git a/win32/TableGen/TableGen.vcproj b/win32/TableGen/TableGen.vcproj
index 9c2291896fb..ee35cc4a2c3 100644
--- a/win32/TableGen/TableGen.vcproj
+++ b/win32/TableGen/TableGen.vcproj
@@ -170,7 +170,7 @@ move $(InputDir)$(InputName).hpp $(InputDir)$(InputName).h
diff --git a/win32/llc/llc.vcproj b/win32/llc/llc.vcproj
index c7337563ef4..69111f8692d 100644
--- a/win32/llc/llc.vcproj
+++ b/win32/llc/llc.vcproj
@@ -133,11 +133,6 @@
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
-
-
diff --git a/win32/lli/lli.vcproj b/win32/lli/lli.vcproj
index 0b29ea6b3a9..0f3127f91ff 100644
--- a/win32/lli/lli.vcproj
+++ b/win32/lli/lli.vcproj
@@ -133,11 +133,6 @@
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
-
-
diff --git a/win32/llvm-as/llvm-as.vcproj b/win32/llvm-as/llvm-as.vcproj
new file mode 100644
index 00000000000..dad0127572b
--- /dev/null
+++ b/win32/llvm-as/llvm-as.vcproj
@@ -0,0 +1,137 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/win32/llvm-dis/llvm-dis.vcproj b/win32/llvm-dis/llvm-dis.vcproj
index 7308bee70c8..332275bc318 100644
--- a/win32/llvm-dis/llvm-dis.vcproj
+++ b/win32/llvm-dis/llvm-dis.vcproj
@@ -131,11 +131,6 @@
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
-
-
diff --git a/win32/llvm.sln b/win32/llvm.sln
index 44012fd362d..437093eae84 100644
--- a/win32/llvm.sln
+++ b/win32/llvm.sln
@@ -105,6 +105,21 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "llvm-dis", "llvm-dis\llvm-d
{0F8407F3-FA23-4CF1-83A9-DCBE0B361489} = {0F8407F3-FA23-4CF1-83A9-DCBE0B361489}
EndProjectSection
EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "llvm-as", "llvm-as\llvm-as.vcproj", "{4FBC40A5-E626-4A6C-A9D3-FAE5C28D30CC}"
+ ProjectSection(ProjectDependencies) = postProject
+ {28AA9146-3482-4F41-9CC6-407B1D258508} = {28AA9146-3482-4F41-9CC6-407B1D258508}
+ {19514E48-456C-4B9D-8637-F2285476461E} = {19514E48-456C-4B9D-8637-F2285476461E}
+ {F1EFF064-8869-4DFF-8E1A-CD8F4A5F8D61} = {F1EFF064-8869-4DFF-8E1A-CD8F4A5F8D61}
+ {45CD78D7-C5D9-47FE-AD12-F3251EEDAFFB} = {45CD78D7-C5D9-47FE-AD12-F3251EEDAFFB}
+ {0F8407F3-FA23-4CF1-83A9-DCBE0B361489} = {0F8407F3-FA23-4CF1-83A9-DCBE0B361489}
+ {3DC216F5-1DDD-478A-84F8-C124E5C31982} = {3DC216F5-1DDD-478A-84F8-C124E5C31982}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AsmParser", "AsmParser\AsmParser.vcproj", "{3DC216F5-1DDD-478A-84F8-C124E5C31982}"
+ ProjectSection(ProjectDependencies) = postProject
+ {19514E48-456C-4B9D-8637-F2285476461E} = {19514E48-456C-4B9D-8637-F2285476461E}
+ EndProjectSection
+EndProject
Global
GlobalSection(SolutionConfiguration) = preSolution
Debug = Debug
@@ -175,6 +190,14 @@ Global
{B13476BC-30AB-4EA0-BC1E-212C0A459405}.Debug.Build.0 = Debug|Win32
{B13476BC-30AB-4EA0-BC1E-212C0A459405}.Release.ActiveCfg = Release|Win32
{B13476BC-30AB-4EA0-BC1E-212C0A459405}.Release.Build.0 = Release|Win32
+ {4FBC40A5-E626-4A6C-A9D3-FAE5C28D30CC}.Debug.ActiveCfg = Debug|Win32
+ {4FBC40A5-E626-4A6C-A9D3-FAE5C28D30CC}.Debug.Build.0 = Debug|Win32
+ {4FBC40A5-E626-4A6C-A9D3-FAE5C28D30CC}.Release.ActiveCfg = Release|Win32
+ {4FBC40A5-E626-4A6C-A9D3-FAE5C28D30CC}.Release.Build.0 = Release|Win32
+ {3DC216F5-1DDD-478A-84F8-C124E5C31982}.Debug.ActiveCfg = Debug|Win32
+ {3DC216F5-1DDD-478A-84F8-C124E5C31982}.Debug.Build.0 = Debug|Win32
+ {3DC216F5-1DDD-478A-84F8-C124E5C31982}.Release.ActiveCfg = Release|Win32
+ {3DC216F5-1DDD-478A-84F8-C124E5C31982}.Release.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
EndGlobalSection