diff --git a/.gitignore b/.gitignore index e66c732ccb1..1c8ca3d8c9c 100644 --- a/.gitignore +++ b/.gitignore @@ -94,3 +94,4 @@ tests/fsharpqa/Source/CodeGen/EmittedIL/QueryExpressionStepping/Utils.dll tests/fsharpqa/Source/CodeGen/EmittedIL/ComputationExpressions/ComputationExprLibrary.dll *.csproj.user +*.orig diff --git a/src/fsharp-compiler-build.proj b/src/fsharp-compiler-build.proj index 685429e75ee..a1db2680d4c 100644 --- a/src/fsharp-compiler-build.proj +++ b/src/fsharp-compiler-build.proj @@ -12,8 +12,8 @@ - - + + diff --git a/src/fsharp/FSComp.txt b/src/fsharp/FSComp.txt index 7cc540bbff6..6a037cc3e05 100644 --- a/src/fsharp/FSComp.txt +++ b/src/fsharp/FSComp.txt @@ -1331,4 +1331,4 @@ descriptionUnavailable,"(description unavailable...)" 3176,tcFieldNameConflictsWithGeneratedNameForAnonymousField,"Named field '%s' conflicts with autogenerated name for anonymous field." 3177,tastConstantExpressionOverflow,"This literal expression or attribute argument results in an arithmetic overflow." 3178,tcIllegalStructTypeForConstantExpression,"This is not valid literal expression. The [] attribute will be ignored." -3179,fscSystemRuntimeInteropServicesIsRequired,"System.Runtime.InteropServices assembly is required to use UnknownWrapper\DispatchWrapper classes." \ No newline at end of file +3179,fscSystemRuntimeInteropServicesIsRequired,"System.Runtime.InteropServices assembly is required to use UnknownWrapper\DispatchWrapper classes." diff --git a/src/fsharp/FSharp.Build/FSharp.Build.fsproj b/src/fsharp/FSharp.Build/FSharp.Build.fsproj index 5c1898e5e8b..12e1961662a 100644 --- a/src/fsharp/FSharp.Build/FSharp.Build.fsproj +++ b/src/fsharp/FSharp.Build/FSharp.Build.fsproj @@ -14,15 +14,15 @@ {702A7979-BCF9-4C41-853E-3ADFC9897890} - - FSBuild.txt - + + FSBuild.txt + - assemblyinfo.FSharp.Build.dll.fs + Utilities/assemblyinfo.FSharp.Build.dll.fs - CompilerLocationUtils.fs + Utilities/CompilerLocationUtils.fs @@ -50,9 +50,9 @@ - {DED3BBD7-53F4-428A-8C9F-27968E768605} - FSharp.Core + {DED3BBD7-53F4-428A-8C9F-27968E768605} + FSharp.Core - \ No newline at end of file + diff --git a/src/fsharp/FSharp.Compiler-proto/FSharp.Compiler-proto.fsproj b/src/fsharp/FSharp.Compiler-proto/FSharp.Compiler-proto.fsproj index ceeb15b2dfb..3d17ec31947 100644 --- a/src/fsharp/FSharp.Compiler-proto/FSharp.Compiler-proto.fsproj +++ b/src/fsharp/FSharp.Compiler-proto/FSharp.Compiler-proto.fsproj @@ -124,7 +124,7 @@ ildiag.fs - ReferenceResolution.fs + ReferenceResolution.fs il.fsi @@ -180,28 +180,26 @@ range.fs - ErrorLogger.fs - - - + ErrorLogger.fs + + InternalCollections.fsi InternalCollections.fs - ilread.fsi ilread.fs - - ilwrite.fsi - - - ilwrite.fs - + + ilwrite.fsi + + + ilwrite.fs + ilreflect.fs @@ -214,13 +212,13 @@ ilxsettings.fs - - pubclo.fsi - - + + pubclo.fsi + + pubclo.fs - + cu_erase.fs @@ -241,23 +239,23 @@ layout.fs - - ast.fs - - - - lexhelp.fsi - - - lexhelp.fs - - - - sreflect.fsi - - - sreflect.fs - + + ast.fs + + + + lexhelp.fsi + + + lexhelp.fs + + + + sreflect.fsi + + + sreflect.fs + QueueList.fs @@ -265,14 +263,14 @@ tast.fs - env.fs - - - tastops.fsi - - - tastops.fs - + env.fs + + + tastops.fsi + + + tastops.fs + pickle.fsi @@ -282,16 +280,15 @@ lexfilter.fs - - import.fsi - - + + import.fsi + + import.fs infos.fs - NicePrint.fs @@ -316,10 +313,10 @@ outcome.fs - - csolve.fsi - - + + csolve.fsi + + csolve.fs @@ -328,10 +325,10 @@ formats.fs - - nameres.fsi - - + + nameres.fsi + + nameres.fs @@ -361,10 +358,10 @@ opt.fs - - detuple.fsi - - + + detuple.fsi + + detuple.fs @@ -418,9 +415,9 @@ + - diff --git a/src/fsharp/FSharp.Compiler.Interactive.Settings/FSharp.Compiler.Interactive.Settings.fsproj b/src/fsharp/FSharp.Compiler.Interactive.Settings/FSharp.Compiler.Interactive.Settings.fsproj index 63ae670f1cb..44508f41f7e 100644 --- a/src/fsharp/FSharp.Compiler.Interactive.Settings/FSharp.Compiler.Interactive.Settings.fsproj +++ b/src/fsharp/FSharp.Compiler.Interactive.Settings/FSharp.Compiler.Interactive.Settings.fsproj @@ -15,31 +15,30 @@ 512 - - FSInteractiveSettings.txt - + + FSInteractiveSettings.txt + - assemblyinfo.FSharp.Compiler.Interactive.Settings.dll.fs + Utilities/assemblyinfo.FSharp.Compiler.Interactive.Settings.dll.fs + + + Utilities/fsiattrs.fs - fsiaux.fsi + InteractiveSettings/fsiaux.fsi - fsiaux.fs - - - fsiattrs.fs + InteractiveSettings/fsiaux.fs - - {DED3BBD7-53F4-428A-8C9F-27968E768605} - FSharp.Core - - + {DED3BBD7-53F4-428A-8C9F-27968E768605} + FSharp.Core + + - + diff --git a/src/fsharp/FSharp.Compiler.Server.Shared/FSharp.Compiler.Server.Shared.fsproj b/src/fsharp/FSharp.Compiler.Server.Shared/FSharp.Compiler.Server.Shared.fsproj index 92264b3adea..cc573183528 100644 --- a/src/fsharp/FSharp.Compiler.Server.Shared/FSharp.Compiler.Server.Shared.fsproj +++ b/src/fsharp/FSharp.Compiler.Server.Shared/FSharp.Compiler.Server.Shared.fsproj @@ -14,9 +14,9 @@ v2.0 - - FSServerShared.txt - + + FSServerShared.txt + assemblyinfo.FSharp.Compiler.Server.Shared.dll.fs @@ -30,9 +30,9 @@ - {DED3BBD7-53F4-428A-8C9F-27968E768605} - FSharp.Core - + {DED3BBD7-53F4-428A-8C9F-27968E768605} + FSharp.Core + diff --git a/src/fsharp/FSharp.Compiler/FSharp.Compiler.fsproj b/src/fsharp/FSharp.Compiler/FSharp.Compiler.fsproj index d4592072418..212c34fdcbd 100644 --- a/src/fsharp/FSharp.Compiler/FSharp.Compiler.fsproj +++ b/src/fsharp/FSharp.Compiler/FSharp.Compiler.fsproj @@ -500,13 +500,13 @@ - + - + {DED3BBD7-53F4-428A-8C9F-27968E768605} FSharp.Core diff --git a/src/fsharp/FSharp.Core.Unittests/FSharp.Core.Unittests.fsproj b/src/fsharp/FSharp.Core.Unittests/FSharp.Core.Unittests.fsproj index 384b7d452d6..a3555d80826 100644 --- a/src/fsharp/FSharp.Core.Unittests/FSharp.Core.Unittests.fsproj +++ b/src/fsharp/FSharp.Core.Unittests/FSharp.Core.Unittests.fsproj @@ -103,4 +103,4 @@ - \ No newline at end of file + diff --git a/src/fsharp/FSharp.Core/FSharp.Core.fsproj b/src/fsharp/FSharp.Core/FSharp.Core.fsproj index e575021f690..97b8140a04e 100644 --- a/src/fsharp/FSharp.Core/FSharp.Core.fsproj +++ b/src/fsharp/FSharp.Core/FSharp.Core.fsproj @@ -189,10 +189,10 @@ Units/SI.fs - fslib-extra-pervasives.fsi + Extras/fslib-extra-pervasives.fsi - fslib-extra-pervasives.fs + Extras/fslib-extra-pervasives.fs assemblyinfo.FSharp.Core.dll.fs @@ -208,9 +208,9 @@ '$(TargetFramework)' == 'sl3-wp' "/> + '$(TargetFramework)' == 'portable47' OR + '$(TargetFramework)' == 'XNA\5.0' OR + '$(TargetFramework)' == 'sl3-wp' "/> diff --git a/src/fsharp/FSharp.Core/Linq.fs b/src/fsharp/FSharp.Core/Linq.fs index 64b0217c7e3..65e8b294033 100644 --- a/src/fsharp/FSharp.Core/Linq.fs +++ b/src/fsharp/FSharp.Core/Linq.fs @@ -797,4 +797,4 @@ module LeafExpressionConverter = #endif - \ No newline at end of file + diff --git a/src/fsharp/FSharp.Core/control.fs b/src/fsharp/FSharp.Core/control.fs index 1fa224a5924..dd33de49d0c 100644 --- a/src/fsharp/FSharp.Core/control.fs +++ b/src/fsharp/FSharp.Core/control.fs @@ -399,7 +399,7 @@ namespace Microsoft.FSharp.Control [] type Trampoline() = - + [] static let bindLimitBeforeHijack = 300 #if FX_NO_THREAD_STATIC @@ -415,11 +415,12 @@ namespace Microsoft.FSharp.Control #else Trampoline.thisThreadHasTrampoline #endif + let mutable cont = None let mutable bindCount = 0 static let unfake FakeUnit = () - + // Install a trampolineStack if none exists member this.ExecuteAction (firstAction : unit -> FakeUnitValue) = let rec loop action = @@ -442,6 +443,7 @@ namespace Microsoft.FSharp.Control loop firstAction finally #if FX_NO_THREAD_STATIC + () #else if thisIsTopTrampoline then Trampoline.thisThreadHasTrampoline <- false diff --git a/src/fsharp/FSharp.Core/printf.fs b/src/fsharp/FSharp.Core/printf.fs index 3c0ef1a01a7..b06c97e0ba8 100644 --- a/src/fsharp/FSharp.Core/printf.fs +++ b/src/fsharp/FSharp.Core/printf.fs @@ -157,7 +157,7 @@ module internal PrintfImpl = buf.Append(c) |> ignore go (i + 1) buf go i (Text.StringBuilder()) - + /// Abstracts generated printer from the details of particular environment: how to write text, how to produce results etc... [] type PrintfEnv<'State, 'Residue, 'Result> = @@ -1266,7 +1266,11 @@ module internal PrintfImpl = ) #endif - [] + [] +#if FX_NO_THREAD_STATIC +#else + [] +#endif static val mutable private last : string * CachedItem<'T, 'State, 'Residue, 'Result> static member Get(key : Format<'T, 'State, 'Residue, 'Result>) = @@ -1382,4 +1386,4 @@ module Printf = [] let eprintfn fmt = fprintfn System.Console.Error fmt #endif -#endif +#endif \ No newline at end of file diff --git a/src/fsharp/Fsc-proto/Fsc-proto.fsproj b/src/fsharp/Fsc-proto/Fsc-proto.fsproj index bc6abc2e95c..dbe51512d79 100644 --- a/src/fsharp/Fsc-proto/Fsc-proto.fsproj +++ b/src/fsharp/Fsc-proto/Fsc-proto.fsproj @@ -33,7 +33,7 @@ - + {33E0FB8C-93DC-4AD7-9DCD-9FBDA6C2F061} FSharp.Compiler-proto diff --git a/src/fsharp/Fsc/Fsc.fsproj b/src/fsharp/Fsc/Fsc.fsproj index ffed346655a..ace36f9e42f 100644 --- a/src/fsharp/Fsc/Fsc.fsproj +++ b/src/fsharp/Fsc/Fsc.fsproj @@ -24,14 +24,14 @@ - assemblyinfo.fsc.exe.fs + Resources/assemblyinfo.fsc.exe.fs fscmain.fs - PreserveNewest fsc.exe.config + PreserveNewest @@ -48,5 +48,5 @@ FSharp.Core - - \ No newline at end of file + + diff --git a/src/fsharp/build.fs b/src/fsharp/build.fs index 642a4291f03..098a2963697 100644 --- a/src/fsharp/build.fs +++ b/src/fsharp/build.fs @@ -3994,7 +3994,7 @@ type TcImports(tcConfigP:TcConfigProvider, initialResolutions:TcAssemblyResoluti if not (FileSystem.SafeExists sigFileName) then error(Error(FSComp.SR.buildExpectedSigdataFile(), m)); [ (ilShortAssemName, (fun () -> FileSystem.ReadAllBytesShim sigFileName))] - else + else sigDataReaders sigDataReaders |> List.map (fun (ccuName, sigDataReader) -> diff --git a/src/fsharp/fsi/Fsi.fsproj b/src/fsharp/fsi/Fsi.fsproj index b228772a3f4..abf45c3c7ab 100644 --- a/src/fsharp/fsi/Fsi.fsproj +++ b/src/fsharp/fsi/Fsi.fsproj @@ -27,19 +27,19 @@ FSIstrings.txt - assemblyinfo.fsi.exe.fs + Utilities/assemblyinfo.fsi.exe.fs - InternalCollections.fsi + Utilities/InternalCollections.fsi - InternalCollections.fs + Utilities/InternalCollections.fs - console.fs + Console/console.fs - fsi.fs + InteractiveSession/fsi.fs PreserveNewest diff --git a/src/fsharp/tc.fs b/src/fsharp/tc.fs index b7224b92e84..befb478ecb2 100644 --- a/src/fsharp/tc.fs +++ b/src/fsharp/tc.fs @@ -278,8 +278,8 @@ let emptyTcEnv g = { eNameResEnv = NameResolutionEnv.Empty(g) eUngeneralizableItems=[] ePath=[] - eCompPath=cpath - eAccessPath=cpath + eCompPath=cpath // dummy + eAccessPath=cpath // dummy eAccessRights=computeAccessRights cpath [] None // compute this field eInternalsVisibleCompPaths=[] eModuleOrNamespaceTypeAccumulator= ref (NewEmptyModuleOrNamespaceType Namespace)