summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.win32.adoc12
-rw-r--r--otherlibs/unix/channels_win32.c3
-rw-r--r--otherlibs/unix/windbug.h15
-rw-r--r--runtime/caml/config.h5
-rw-r--r--runtime/caml/misc.h9
-rw-r--r--runtime/interp.c2
-rw-r--r--stdlib/headernt.c12
7 files changed, 14 insertions, 44 deletions
diff --git a/README.win32.adoc b/README.win32.adoc
index 63aec24e46..0f188ec3f7 100644
--- a/README.win32.adoc
+++ b/README.win32.adoc
@@ -108,13 +108,12 @@ C code (`ocamlc -custom`) require a Microsoft Visual C/C++ Compiler and the
`flexlink` tool (see <<bmflex,above>>).
Any edition (including Express/Community editions) of Microsoft Visual Studio
-2005 or later may be used to provide the required Windows headers and the C
+2008 or later may be used to provide the required Windows headers and the C
compiler. Additionally, some older Microsoft Windows SDKs include the
Visual C/C++ Compiler as well as the Build Tools for Visual Studio.
|=====
| | `cl` Version | Express | SDK/Build Tools
-| Visual Studio 2005 | 14.00.x.x | 32-bit only <<vs1,(*)>> |
| Visual Studio 2008 | 15.00.x.x | 32-bit only | Windows SDK 7.0 also provides 32/64-bit compilers
| Visual Studio 2010 | 16.00.x.x | 32-bit only | Windows SDK 7.1 also provides 32/64-bit compilers
| Visual Studio 2012 | 17.00.x.x | 32/64-bit |
@@ -124,11 +123,6 @@ Visual C/C++ Compiler as well as the Build Tools for Visual Studio.
| Visual Studio 2019 | 19.20.x.x | 32/64-bit | Build Tools for Visual Studio 2019 also provides 32/64-bit compilers
|=====
-[[vs1]]
-(*):: Visual C++ 2005 Express Edition does not provide an assembler; this can be
- downloaded separately from
- https://www.microsoft.com/en-gb/download/details.aspx?id=12654
-
=== COMPILATION FROM THE SOURCES
The command-line tools must be compiled from the Unix source distribution
@@ -157,7 +151,7 @@ for 32-bit or:
SetEnv /Release /x64
-for 64-bit. For Visual Studio 2005-2013, you need to use one of the shortcuts in
+for 64-bit. For Visual Studio 2008-2013, you need to use one of the shortcuts in
the "Visual Studio Tools" program group under the main program group for the
version of Visual Studio you installed. For Visual Studio 2015 and 2017, you
need to use the shortcuts in the "Windows Desktop Command Prompts" (2015) or
@@ -166,7 +160,7 @@ need to use the shortcuts in the "Windows Desktop Command Prompts" (2015) or
Unlike `SetEnv` for the Windows SDK, the architecture is selected by using a
different shortcut, rather than by running a command.
-For Visual Studio 2005-2010, excluding version-specific prefixes, these are
+For Visual Studio 2008-2010, excluding version-specific prefixes, these are
named "Command Prompt" for 32-bit and "x64 Cross Tools Command Prompt" or
"x64 Win64 Command Prompt" for 64-bit. It does not matter whether you use a
"Cross Tools" or "Win64" version for x64, this simply refers to whether the
diff --git a/otherlibs/unix/channels_win32.c b/otherlibs/unix/channels_win32.c
index 3221eb9362..ccd7f7e588 100644
--- a/otherlibs/unix/channels_win32.c
+++ b/otherlibs/unix/channels_win32.c
@@ -79,9 +79,6 @@ CAMLprim value caml_unix_inchannel_of_filedescr(value handle)
struct channel * chan;
DWORD err;
-#if defined(_MSC_VER) && _MSC_VER < 1400
- fflush(stdin);
-#endif
err = check_stream_semantics(handle);
if (err != 0) {
caml_win32_maperr(err);
diff --git a/otherlibs/unix/windbug.h b/otherlibs/unix/windbug.h
index 33901151f5..fe865001d3 100644
--- a/otherlibs/unix/windbug.h
+++ b/otherlibs/unix/windbug.h
@@ -37,21 +37,6 @@
/* Test if we are in dbug mode */
int caml_win32_debug_test (void);
-#elif defined(_MSC_VER) && _MSC_VER <= 1400
-
-/* Not all versions of the Visual Studio 2005 C Compiler (Version 14) support
- variadic macros, hence the test for this branch being <= 1400 rather than
- < 1400.
- This convoluted pair of macros allow DEBUG_PRINT to remain while temporarily
- suppressing the warning displayed for a macro called with too many
- parameters.
- */
-#define DEBUG_PRINT_S(fmt) __pragma(warning(pop))
-#define DEBUG_PRINT \
- __pragma(warning(push)) \
- __pragma(warning(disable:4002)) \
- DEBUG_PRINT_S
-
#else
/* Visual Studio supports variadic macros in all versions from 2008 (CL 15). */
diff --git a/runtime/caml/config.h b/runtime/caml/config.h
index 4b1d3ac876..486e87249b 100644
--- a/runtime/caml/config.h
+++ b/runtime/caml/config.h
@@ -35,12 +35,7 @@
#endif /* __PIC__ */
#endif /* HAS_ARCH_CODE32 */
-/* Microsoft introduced the LL integer literal suffix in Visual C++ .NET 2003 */
-#if defined(_MSC_VER) && _MSC_VER < 1400
-#define INT64_LITERAL(s) s ## i64
-#else
#define INT64_LITERAL(s) s ## LL
-#endif
#if defined(_MSC_VER) && !defined(__cplusplus)
#define Caml_inline static __inline
diff --git a/runtime/caml/misc.h b/runtime/caml/misc.h
index 26349b6753..9ca2928961 100644
--- a/runtime/caml/misc.h
+++ b/runtime/caml/misc.h
@@ -34,8 +34,7 @@
/* Supported since at least GCC 3.1 */
#define CAMLdeprecated_typedef(name, type) \
typedef type name __attribute ((deprecated))
-#elif defined(_MSC_VER) && _MSC_VER >= 1310
- /* NB deprecated("message") only supported from _MSC_VER >= 1400 */
+#elif defined(_MSC_VER)
#define CAMLdeprecated_typedef(name, type) \
typedef __declspec(deprecated) type name
#else
@@ -90,7 +89,7 @@ CAMLdeprecated_typedef(addr, char *);
#define CAMLnoreturn_start
#define CAMLnoreturn_end __attribute__ ((noreturn))
#define Noreturn __attribute__ ((noreturn))
-#elif defined(_MSC_VER) && _MSC_VER >= 1500
+#elif defined(_MSC_VER)
#define CAMLnoreturn_start __declspec(noreturn)
#define CAMLnoreturn_end
#define Noreturn
@@ -143,7 +142,7 @@ CAMLdeprecated_typedef(addr, char *);
#define CAMLalign(n) alignas(n)
#elif defined(SUPPORTS_ALIGNED_ATTRIBUTE)
#define CAMLalign(n) __attribute__((aligned(n)))
-#elif defined(_MSC_VER) && _MSC_VER >= 1500
+#elif defined(_MSC_VER)
#define CAMLalign(n) __declspec(align(n))
#else
#error "How do I align values on this platform?"
@@ -171,7 +170,7 @@ CAMLdeprecated_typedef(addr, char *);
#define CAMLunused_start __attribute__ ((unused))
#define CAMLunused_end
#define CAMLunused __attribute__ ((unused))
-#elif defined(_MSC_VER) && _MSC_VER >= 1500
+#elif defined(_MSC_VER)
#define CAMLunused_start __pragma( warning (push) ) \
__pragma( warning (disable:4189 ) )
#define CAMLunused_end __pragma( warning (pop))
diff --git a/runtime/interp.c b/runtime/interp.c
index 161e3485a9..96f00f07f2 100644
--- a/runtime/interp.c
+++ b/runtime/interp.c
@@ -1370,7 +1370,7 @@ do_resume: {
#ifndef THREADED_CODE
default:
-#if _MSC_VER >= 1200
+#ifdef _MSC_VER
__assume(0);
#else
caml_fatal_error("bad opcode (%"
diff --git a/stdlib/headernt.c b/stdlib/headernt.c
index 43109c865e..6345b021ae 100644
--- a/stdlib/headernt.c
+++ b/stdlib/headernt.c
@@ -34,7 +34,7 @@
char * default_runtime_name = RUNTIME_NAME;
static
-#if _MSC_VER >= 1200
+#ifdef _MSC_VER
__forceinline
#else
__inline
@@ -124,7 +124,7 @@ static __inline void __declspec(noreturn) run_runtime(wchar_t * runtime,
write_console(errh, runtime);
write_console(errh, L"\r\n");
ExitProcess(2);
-#if _MSC_VER >= 1200
+#ifdef _MSC_VER
__assume(0); /* Not reached */
#endif
}
@@ -147,7 +147,7 @@ static __inline void __declspec(noreturn) run_runtime(wchar_t * runtime,
write_console(errh, runtime);
write_console(errh, L"\r\n");
ExitProcess(2);
-#if _MSC_VER >= 1200
+#ifdef _MSC_VER
__assume(0); /* Not reached */
#endif
}
@@ -156,7 +156,7 @@ static __inline void __declspec(noreturn) run_runtime(wchar_t * runtime,
GetExitCodeProcess(procinfo.hProcess , &retcode);
CloseHandle(procinfo.hProcess);
ExitProcess(retcode);
-#if _MSC_VER >= 1200
+#ifdef _MSC_VER
__assume(0); /* Not reached */
#endif
}
@@ -179,7 +179,7 @@ int wmain(void)
write_console(errh, truename);
write_console(errh, L" not found or is not a bytecode executable file\r\n");
ExitProcess(2);
-#if _MSC_VER >= 1200
+#ifdef _MSC_VER
__assume(0); /* Not reached */
#endif
}
@@ -187,7 +187,7 @@ int wmain(void)
MultiByteToWideChar(CP, 0, runtime_path, -1, wruntime_path,
sizeof(wruntime_path)/sizeof(wchar_t));
run_runtime(wruntime_path , cmdline);
-#if _MSC_VER >= 1200
+#ifdef _MSC_VER
__assume(0); /* Not reached */
#endif
#ifdef __MINGW32__