From: Jeff Cohen Date: Wed, 26 Oct 2005 14:48:53 +0000 (+0000) Subject: Eliminate use of sed in Visual Studio builds. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=8030c258827a44c676cef7d31f53a8cd3b285063;p=oota-llvm.git Eliminate use of sed in Visual Studio builds. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24003 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/ADT/hash_map.in b/include/llvm/ADT/hash_map.in index 0b27ed3f17a..fe5c3939f52 100644 --- a/include/llvm/ADT/hash_map.in +++ b/include/llvm/ADT/hash_map.in @@ -24,7 +24,7 @@ // 3.0.4 std ext/hash_map // 3.1 __gnu_cxx ext/hash_map // HP aCC6 std stdex/rw/hashm*ap.h -// +// MS VC++ stdext hash_map #undef HAVE_GNU_EXT_HASH_MAP #undef HAVE_STD_EXT_HASH_MAP @@ -63,6 +63,14 @@ # define HASH_NAMESPACE std # endif +// Support Microsoft VC++. +#elif defined(_MSC_VER) +# include +# ifndef HASH_NAMESPACE +# define HASH_NAMESPACE stdext + using std::_Distance; +# endif + // Give a warning if we couldn't find it, instead of (or in addition to) // randomly doing something dumb. #else @@ -100,10 +108,6 @@ class hash_multimap : public rw_hashmultimap @@ -137,6 +141,10 @@ namespace stdext { #endif +using HASH_NAMESPACE::hash_map; +using HASH_NAMESPACE::hash_multimap; +using HASH_NAMESPACE::hash; + #include "llvm/ADT/HashExtras.h" #endif diff --git a/include/llvm/ADT/hash_set.in b/include/llvm/ADT/hash_set.in index 533b7574060..509314b5275 100644 --- a/include/llvm/ADT/hash_set.in +++ b/include/llvm/ADT/hash_set.in @@ -25,7 +25,7 @@ // 3.0.4 std ext/hash_set // 3.1 __gnu_cxx ext/hash_set // HP aCC6 std stdex/rw/hashset.h -// +// MS VC++ stdext hash_map #undef HAVE_GNU_EXT_HASH_SET #undef HAVE_STD_EXT_HASH_SET @@ -64,6 +64,13 @@ # define HASH_NAMESPACE std # endif +// Support Microsoft VC++. +#elif defined(_MSC_VER) +# include +# ifndef HASH_NAMESPACE +# define HASH_NAMESPACE stdext +# endif + // Give a warning if we couldn't find it, instead of (or in addition to) // randomly doing something dumb. #else @@ -94,7 +101,6 @@ class hash_set : #endif using HASH_NAMESPACE::hash_set; -using HASH_NAMESPACE::hash; // Include vector because ext/hash_set includes stl_vector.h and leaves // out specializations like stl_bvector.h, causing link conflicts. diff --git a/include/llvm/ADT/iterator.in b/include/llvm/ADT/iterator.in index f74aca28a63..47f70d12fdb 100644 --- a/include/llvm/ADT/iterator.in +++ b/include/llvm/ADT/iterator.in @@ -34,6 +34,12 @@ #undef HAVE_STD_ITERATOR #undef HAVE_FWD_ITERATOR +#ifdef _MSC_VER +# define HAVE_BI_ITERATOR 0 +# define HAVE_STD_ITERATOR 1 +# define HAVE_FWD_ITERATOR 0 +#endif + #if !HAVE_BI_ITERATOR # if HAVE_STD_ITERATOR /// If the bidirectional iterator is not defined, we attempt to define it in diff --git a/include/llvm/Support/DataTypes.h.in b/include/llvm/Support/DataTypes.h.in index cfec5f3862f..f16a2cd9a29 100644 --- a/include/llvm/Support/DataTypes.h.in +++ b/include/llvm/Support/DataTypes.h.in @@ -67,6 +67,7 @@ typedef u_int64_t uint64_t; // Visual C++ doesn't provide standard integer headers, but it does provide // built-in data types. #include +#include typedef __int64 int64_t; typedef unsigned __int64 uint64_t; typedef signed int int32_t; diff --git a/win32/Configure/Configure.vcproj b/win32/Configure/Configure.vcproj index 847d0d1b5a3..9aca7bd6ab2 100644 --- a/win32/Configure/Configure.vcproj +++ b/win32/Configure/Configure.vcproj @@ -74,8 +74,24 @@ @@ -86,8 +102,7 @@ @@ -98,8 +113,7 @@ @@ -110,8 +124,7 @@ @@ -122,8 +135,7 @@