runtime: move SetErrorMode constants into function so they are not exported

Change-Id: Ib1a2adbcdbd7d96f9b4177abc3c9cf0ab09c1df4
Reviewed-on: https://go-review.googlesource.com/2716
Reviewed-by: Dave Cheney <dave@cheney.net>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Minux Ma <minux@golang.org>
diff --git a/src/runtime/os1_windows.go b/src/runtime/os1_windows.go
index 7f860a3..7ac1cfe 100644
--- a/src/runtime/os1_windows.go
+++ b/src/runtime/os1_windows.go
@@ -105,12 +105,17 @@
 	currentThread  = ^uintptr(1) // -2 = current thread
 )
 
-const (
-	SEM_FAILCRITICALERRORS     = 0x0001
-	SEM_NOGPFAULTERRORBOX      = 0x0002
-	SEM_NOALIGNMENTFAULTEXCEPT = 0x0004
-	SEM_NOOPENFILEERRORBOX     = 0x8000
-)
+func disableWER() {
+	// do not display Windows Error Reporting dialogue
+	const (
+		SEM_FAILCRITICALERRORS     = 0x0001
+		SEM_NOGPFAULTERRORBOX      = 0x0002
+		SEM_NOALIGNMENTFAULTEXCEPT = 0x0004
+		SEM_NOOPENFILEERRORBOX     = 0x8000
+	)
+	errormode := uint32(stdcall1(_SetErrorMode, SEM_NOGPFAULTERRORBOX))
+	stdcall1(_SetErrorMode, uintptr(errormode)|SEM_FAILCRITICALERRORS|SEM_NOGPFAULTERRORBOX|SEM_NOOPENFILEERRORBOX)
+}
 
 var (
 	kernel32Name                    = []byte("kernel32.dll\x00")
@@ -123,9 +128,7 @@
 
 	kernel32 := stdcall1(_LoadLibraryA, uintptr(unsafe.Pointer(&kernel32Name[0])))
 
-	// don't display the crash dialog
-	errormode := uint32(stdcall1(_SetErrorMode, SEM_NOGPFAULTERRORBOX))
-	stdcall1(_SetErrorMode, uintptr(errormode)|SEM_FAILCRITICALERRORS|SEM_NOGPFAULTERRORBOX|SEM_NOOPENFILEERRORBOX)
+	disableWER()
 
 	externalthreadhandlerp = funcPC(externalthreadhandler)