diff --git a/build/targets/NGenOrCrossGen.targets b/build/targets/NGenOrCrossGen.targets index 33dcaa3a63a..3dba4fc5b2d 100644 --- a/build/targets/NGenOrCrossGen.targets +++ b/build/targets/NGenOrCrossGen.targets @@ -16,9 +16,9 @@ NGen for both 32 and 64 bit product. If compiling use the app config file, if present. --> - + - + diff --git a/src/absil/ilwrite.fs b/src/absil/ilwrite.fs index ccc40c69d74..cac9ccbcefe 100644 --- a/src/absil/ilwrite.fs +++ b/src/absil/ilwrite.fs @@ -2857,9 +2857,8 @@ and newGuid (modul: ILModuleDef) = and deterministicGuid (modul: ILModuleDef) = let n = 16909060 - let m = hash n - let m2 = hash modul.Name - [| b0 m; b1 m; b2 m; b3 m; b0 m2; b1 m2; b2 m2; b3 m2; 0xa7uy; 0x45uy; 0x03uy; 0x83uy; b0 n; b1 n; b2 n; b3 n |] + let m2 = Seq.sum (Seq.mapi (fun i x -> i + int x) modul.Name) // use a stable hash + [| b0 n; b1 n; b2 n; b3 n; b0 m2; b1 m2; b2 m2; b3 m2; 0xa7uy; 0x45uy; 0x03uy; 0x83uy; b0 n; b1 n; b2 n; b3 n |] and GetModuleAsRow (cenv:cenv) (modul: ILModuleDef) = // Store the generated MVID in the environment (needed for generating debug information) diff --git a/src/fsharp/fsc/fsc.fsproj b/src/fsharp/fsc/fsc.fsproj index 40f56a0627e..a2e5127b61a 100644 --- a/src/fsharp/fsc/fsc.fsproj +++ b/src/fsharp/fsc/fsc.fsproj @@ -15,6 +15,10 @@ true + + x86 + + fscmain.fs diff --git a/src/fsharp/fsi/fsi.fsproj b/src/fsharp/fsi/fsi.fsproj index 5dbcac7557e..b8b6a9a020f 100644 --- a/src/fsharp/fsi/fsi.fsproj +++ b/src/fsharp/fsi/fsi.fsproj @@ -17,6 +17,7 @@ + x86 $(DefineConstants);FSI_SHADOW_COPY_REFERENCES;FSI_SERVER diff --git a/tests/fsharpqa/Source/CompilerOptions/fsc/determinism/binaryCompare.fsx b/tests/fsharpqa/Source/CompilerOptions/fsc/determinism/binaryCompare.fsx index 2147b88cb83..c70512bb866 100644 --- a/tests/fsharpqa/Source/CompilerOptions/fsc/determinism/binaryCompare.fsx +++ b/tests/fsharpqa/Source/CompilerOptions/fsc/determinism/binaryCompare.fsx @@ -13,8 +13,10 @@ let filePairsToCheck = |> Seq.map (fun f -> f, f.Replace("dummy","dummy2")) let compareFiles pair = - let correct = areSame pair = shouldBeSame - if not correct then + let correct = (areSame pair = shouldBeSame) + if correct then + printfn "Good, %s and %s were %s" (fst pair) (snd pair) (if shouldBeSame then "same" else "different") + else printfn "Expected %s and %s to be %s" (fst pair) (snd pair) (if shouldBeSame then "same" else "different") correct diff --git a/tests/fsharpqa/Source/run.pl b/tests/fsharpqa/Source/run.pl index d9c3de8c3de..e9363e6aea6 100644 --- a/tests/fsharpqa/Source/run.pl +++ b/tests/fsharpqa/Source/run.pl @@ -424,7 +424,9 @@ sub RunCompilerCommand { @CommandOutput = <$remote>; print "--------------------------------------------------------\n"; - print "Error from hosted compiler\n"; + print "Results from hosted compiler\n"; + print "msg: $msg\n"; + print "cmd: $cmd\n"; print "Exit code: $ExitCode\n"; print "Error: $Type\n"; print @CommandOutput; diff --git a/tests/fsharpqa/testenv/src/HostedCompilerServer/HostedCompilerServer.fsproj b/tests/fsharpqa/testenv/src/HostedCompilerServer/HostedCompilerServer.fsproj index 994b9060c14..915c0c9e106 100644 --- a/tests/fsharpqa/testenv/src/HostedCompilerServer/HostedCompilerServer.fsproj +++ b/tests/fsharpqa/testenv/src/HostedCompilerServer/HostedCompilerServer.fsproj @@ -8,6 +8,8 @@ true false $(RepoRoot)tests\fsharpqa\testenv\bin + AnyCPU + true diff --git a/vsintegration/src/FSharp.VS.FSI/sessions.fs b/vsintegration/src/FSharp.VS.FSI/sessions.fs index fb662d38d98..5e07e4672ea 100644 --- a/vsintegration/src/FSharp.VS.FSI/sessions.fs +++ b/vsintegration/src/FSharp.VS.FSI/sessions.fs @@ -66,7 +66,7 @@ let timeoutApp descr timeoutMS (f : 'a -> 'b) (arg:'a) = !r module SessionsProperties = - let mutable useAnyCpuVersion = false + let mutable useAnyCpuVersion = true // 64-bit by default let mutable fsiArgs = "--optimize" let mutable fsiShadowCopy = true let mutable fsiDebugMode = false