diff options
| author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-02-16 07:47:53 +0000 |
|---|---|---|
| committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-02-16 07:47:53 +0000 |
| commit | 1fb1fb2b88ff35ff45a7f6b8a0a832260008993d (patch) | |
| tree | 24b6ca5881355343960a084ee3014d9349c0631e | |
| parent | 7598ce37397b9eef4ed5f2aa7d6589761b9e5ca0 (diff) | |
* win32/Makefile.sub (CRTDEFFLAGS): separated from DEFS.
* win32/win32.c (rtc_error_handler): ignores RTC errors.
* win32/win32.c (NtInitialize): suppress useless CRT assertions.
[ruby-core:22116]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@22338 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
| -rw-r--r-- | ChangeLog | 10 | ||||
| -rw-r--r-- | win32/Makefile.sub | 8 | ||||
| -rw-r--r-- | win32/win32.c | 14 |
3 files changed, 26 insertions, 6 deletions
@@ -1,7 +1,11 @@ -Mon Feb 16 01:17:51 2009 Nobuyoshi Nakada <nobu@ruby-lang.org> +Mon Feb 16 16:47:43 2009 Nobuyoshi Nakada <nobu@ruby-lang.org> - * win32/win32.c (_CrtDbgReportW): prevent from false positive - assertions in msvcrtd. [ruby-core:22116] + * win32/Makefile.sub (CRTDEFFLAGS): separated from DEFS. + + * win32/win32.c (rtc_error_handler): ignores RTC errors. + + * win32/win32.c (NtInitialize): suppress useless CRT assertions. + [ruby-core:22116] Sun Feb 15 21:43:44 2009 Nobuyoshi Nakada <nobu@ruby-lang.org> diff --git a/win32/Makefile.sub b/win32/Makefile.sub index 7de798eab2..ed49b5e775 100644 --- a/win32/Makefile.sub +++ b/win32/Makefile.sub @@ -176,12 +176,12 @@ LDSHARED = $(LD) -LD XCFLAGS = -DRUBY_EXPORT -I. -I$(srcdir) -I$(srcdir)/missing $(XCFLAGS) !if $(MSC_VER) >= 1400 # Prevents VC++ 2005 (cl ver 14) warnings -DEFS = -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE +CRTDEFFLAGS = -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE MANIFESTTOOL = mt -nologo LDSHARED_1 = $(MANIFESTTOOL) -manifest $(@).manifest -outputresource:$(@);2 LDSHARED_2 = @$(RM) $(@:/=\).manifest !endif -CPPFLAGS = $(DEFS) $(ARCHDEFS) $(CPPFLAGS) +CPPFLAGS = $(CRTDEFFLAGS) $(DEFS) $(ARCHDEFS) $(CPPFLAGS) DLDFLAGS = $(LDFLAGS) -dll SOLIBS = @@ -328,6 +328,10 @@ $(CONFIG_H): $(MKFILES) $(srcdir)/win32/Makefile.sub $(win_srcdir)/Makefile.sub !if $(MSC_VER) > 1100 #define NORETURN(x) __declspec(noreturn) x !endif +!if $(MSC_VER) >= 1300 +#define DEPRECATED(x) __declspec(deprecated) x +#define NOINLINE(x) __declspec(noinline) x +!endif #define RUBY_EXTERN extern __declspec(dllimport) #define HAVE_DECL_SYS_NERR 1 !if !defined(WIN32_WCE) diff --git a/win32/win32.c b/win32/win32.c index 0336398139..747ca0b606 100644 --- a/win32/win32.c +++ b/win32/win32.c @@ -27,6 +27,9 @@ #include <winbase.h> #include <wincon.h> #include <shlobj.h> +#if _MSC_VER >= 1400 +#include <crtdbg.h> +#endif #ifdef __MINGW32__ #include <mswsock.h> #include <mbstring.h> @@ -366,10 +369,17 @@ flock(int fd, int oper) static void init_stdhandle(void); #if _MSC_VER >= 1400 -static void invalid_parameter(const wchar_t *expr, const wchar_t *func, const wchar_t *file, unsigned int line, uintptr_t dummy) +static void +invalid_parameter(const wchar_t *expr, const wchar_t *func, const wchar_t *file, unsigned int line, uintptr_t dummy) { // nothing to do } + +static int __cdecl +rtc_error_handler(int e, const char *src, int line, const char *exe, const char *fmt, ...) +{ + return 0; +} #endif static CRITICAL_SECTION select_mutex; @@ -469,7 +479,9 @@ NtInitialize(int *argc, char ***argv) #if _MSC_VER >= 1400 static void set_pioinfo_extra(void); + _CrtSetReportMode(_CRT_ASSERT, 0); _set_invalid_parameter_handler(invalid_parameter); + _RTC_SetErrorFunc(rtc_error_handler); set_pioinfo_extra(); #endif |
