Skip to content

Commit 8edd521

Browse files
author
Omar Tawfik
committed
Merge branch 'master' of https://github.com/Microsoft/visualfsharp into setuploc
2 parents 5400076 + 714ad7f commit 8edd521

File tree

145 files changed

+7684
-2842
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

145 files changed

+7684
-2842
lines changed

BuildToolsVersion.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.0.25-prerelease-00404-01
1+
1.0.25-prerelease-00517-05

DotnetCLIVersion.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.0.0-rc2-002665
1+
1.0.0-preview2-003121

README.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,7 @@
88
| |Debug (Build only)|Release (Tests Part 1)|Release (Tests Part 2)|
99
|:----------:|:----------------:|:------------------:|:-----------------------:|
1010
|**master** |[![Build Status](http://dotnet-ci.cloudapp.net/buildStatus/icon?job=Microsoft_visualfsharp/master/debug_windows_nt)](http://dotnet-ci.cloudapp.net/job/Microsoft_visualfsharp/job/master/job/debug_windows_nt/)|[![Build Status](http://dotnet-ci.cloudapp.net/buildStatus/icon?job=Microsoft_visualfsharp/master/release_ci_part1_windows_nt)](http://dotnet-ci.cloudapp.net/job/Microsoft_visualfsharp/job/master/job/release_ci_part1_windows_nt/)|[![Build Status](http://dotnet-ci.cloudapp.net/buildStatus/icon?job=Microsoft_visualfsharp/master/release_ci_part2_windows_nt)](http://dotnet-ci.cloudapp.net/job/Microsoft_visualfsharp/job/master/job/release_ci_part2_windows_nt/)|
11-
|**vs2015** ||||
12-
|**roslyn** ||||
11+
|**roslyn** |[![Build Status](http://dotnet-ci.cloudapp.net/buildStatus/icon?job=Microsoft_visualfsharp/roslyn/debug_windows_nt)](http://dotnet-ci.cloudapp.net/job/Microsoft_visualfsharp/job/roslyn/job/debug_windows_nt/)|[![Build Status](http://dotnet-ci.cloudapp.net/buildStatus/icon?job=Microsoft_visualfsharp/roslyn/release_ci_part1_windows_nt)](http://dotnet-ci.cloudapp.net/job/Microsoft_visualfsharp/job/roslyn/job/release_ci_part1_windows_nt/)|[![Build Status](http://dotnet-ci.cloudapp.net/buildStatus/icon?job=Microsoft_visualfsharp/roslyn/release_ci_part2_windows_nt)](http://dotnet-ci.cloudapp.net/job/Microsoft_visualfsharp/job/roslyn/job/release_ci_part2_windows_nt/)|
1312

1413
###Contributing to the F# Language, Library, and Tools
1514

VisualFSharp.sln

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
Microsoft Visual Studio Solution File, Format Version 12.00
33
# Visual Studio 15
44
VisualStudioVersion = 15.0.25123.0
5+
# Visual Studio 14
6+
VisualStudioVersion = 14.0.24720.0
57
MinimumVisualStudioVersion = 10.0.40219.1
68
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "FSharp.Compiler", "src\fsharp\FSharp.Compiler\FSharp.Compiler.fsproj", "{2E4D67B4-522D-4CF7-97E4-BA940F0B18F3}"
79
EndProject
@@ -120,7 +122,15 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "XMLFile", "vsintegration\It
120122
EndProject
121123
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VisualFSharpVsix", "vsintegration\VisualFSharpVsix\VisualFSharpVsix.csproj", "{E7EC4A3E-9D57-45B8-83F5-EDDFD6CEF090}"
122124
EndProject
125+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{A83A9A70-8C33-4253-BF6F-3AADB509F21C}"
126+
ProjectSection(SolutionItems) = preProject
127+
Performance1.psess = Performance1.psess
128+
EndProjectSection
129+
EndProject
123130
Global
131+
GlobalSection(Performance) = preSolution
132+
HasPerformanceSessions = true
133+
EndGlobalSection
124134
GlobalSection(SolutionConfigurationPlatforms) = preSolution
125135
Debug|Any CPU = Debug|Any CPU
126136
Debug|x86 = Debug|x86

appveyor.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ environment:
44
matrix:
55
- BUILD_PROFILE: ci_part1
66
- BUILD_PROFILE: ci_part2
7-
- BUILD_PROFILE: ci_part3
87

98
init:
109
- git config --global core.autocrlf true

build.cmd

Lines changed: 6 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ echo Build and run a subset of test suites
1313
echo.
1414
echo Usage:
1515
echo.
16-
echo build.cmd ^<all^|proto^|build^|debug^|release^|diag^|compiler^|coreclr^|pcls^|vs^|ci^|ci_part1^|ci_part2^|ci_part3^|microbuild^>
16+
echo build.cmd ^<all^|proto^|build^|debug^|release^|diag^|compiler^|coreclr^|pcls^|vs^|ci^|ci_part1^|ci_part2^|microbuild^>
1717
echo.
1818
echo No arguments default to 'build'
1919
echo.
@@ -150,10 +150,10 @@ if /i '%ARG%' == 'ci_part1' (
150150
set BUILD_VS=1
151151

152152
set TEST_COMPILERUNIT=1
153-
set TEST_NET40_COREUNIT=1
154-
set TEST_PORTABLE_COREUNIT=1
153+
set TEST_NET40_COREUNIT=0
154+
set TEST_PORTABLE_COREUNIT=0
155155
set TEST_CORECLR=0
156-
set TEST_FSHARPQA_SUITE=0
156+
set TEST_FSHARPQA_SUITE=1
157157
set TEST_FSHARP_SUITE=0
158158
set TEST_VS=1
159159
set TEST_TAGS=
@@ -166,30 +166,15 @@ if /i '%ARG%' == 'ci_part2' (
166166
set BUILD_PORTABLE=1
167167

168168
set TEST_COMPILERUNIT=0
169-
set TEST_NET40_COREUNIT=0
170-
set TEST_PORTABLE_COREUNIT=0
169+
set TEST_NET40_COREUNIT=1
170+
set TEST_PORTABLE_COREUNIT=1
171171
set TEST_CORECLR=1
172172
set TEST_FSHARPQA_SUITE=0
173173
set TEST_FSHARP_SUITE=1
174174
set TEST_VS=0
175175
set TEST_TAGS=
176176
)
177177

178-
if /i '%ARG%' == 'ci_part3' (
179-
set BUILD_PROTO=1
180-
set SKIP_EXPENSIVE_TESTS=1
181-
set BUILD_CORECLR=1
182-
set BUILD_PORTABLE=1
183-
184-
set TEST_COMPILERUNIT=0
185-
set TEST_NET40_COREUNIT=0
186-
set TEST_PORTABLE_COREUNIT=0
187-
set TEST_CORECLR=0
188-
set TEST_FSHARPQA_SUITE=1
189-
set TEST_FSHARP_SUITE=0
190-
set TEST_VS=0
191-
set TEST_TAGS=
192-
)
193178

194179
if /i '%ARG%' == 'coreclr' (
195180
set BUILD_CORECLR=1

init-tools.cmd

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@ if [%TOOLRUNTIME_DIR%]==[] set TOOLRUNTIME_DIR=%~dp0Tools
77
set DOTNET_PATH=%TOOLRUNTIME_DIR%\dotnetcli\
88
if [%DOTNET_CMD%]==[] set DOTNET_CMD=%DOTNET_PATH%dotnet.exe
99
if [%BUILDTOOLS_SOURCE%]==[] set BUILDTOOLS_SOURCE=https://dotnet.myget.org/F/dotnet-buildtools/api/v3/index.json
10-
set /P BUILDTOOLS_VERSION=< %~dp0BuildToolsVersion.txt
10+
set /P BUILDTOOLS_VERSION=< "%~dp0BuildToolsVersion.txt"
1111
set BUILD_TOOLS_PATH=%PACKAGES_DIR%Microsoft.DotNet.BuildTools\%BUILDTOOLS_VERSION%\lib\
1212
set PROJECT_JSON_PATH=%TOOLRUNTIME_DIR%\%BUILDTOOLS_VERSION%
1313
set PROJECT_JSON_FILE=%PROJECT_JSON_PATH%\project.json
14-
set PROJECT_JSON_CONTENTS={ "dependencies": { "Microsoft.DotNet.BuildTools": "%BUILDTOOLS_VERSION%" }, "frameworks": { "dnxcore50": { } } }
14+
set PROJECT_JSON_CONTENTS={ "dependencies": { "Microsoft.DotNet.BuildTools": "%BUILDTOOLS_VERSION%" }, "frameworks": { "netcoreapp1.0": { } } }
1515
set BUILD_TOOLS_SEMAPHORE=%PROJECT_JSON_PATH%\init-tools.completed
1616

1717
:: if force option is specified then clean the tool runtime and build tools package directory to force it to get recreated
@@ -29,40 +29,45 @@ if exist "%BUILD_TOOLS_SEMAPHORE%" (
2929
if exist "%TOOLRUNTIME_DIR%" rmdir /S /Q "%TOOLRUNTIME_DIR%"
3030

3131
if NOT exist "%PROJECT_JSON_PATH%" mkdir "%PROJECT_JSON_PATH%"
32-
echo %PROJECT_JSON_CONTENTS% > %PROJECT_JSON_FILE%
33-
echo Running %0 > %INIT_TOOLS_LOG%
32+
echo %PROJECT_JSON_CONTENTS% > "%PROJECT_JSON_FILE%"
33+
echo Running %0 > "%INIT_TOOLS_LOG%"
3434

3535
if exist "%DOTNET_CMD%" goto :afterdotnetrestore
3636

3737
echo Installing dotnet cli...
3838
if NOT exist "%DOTNET_PATH%" mkdir "%DOTNET_PATH%"
39-
set /p DOTNET_VERSION=< %~dp0DotnetCLIVersion.txt
39+
set /p DOTNET_VERSION=< "%~dp0DotnetCLIVersion.txt"
4040
set DOTNET_ZIP_NAME=dotnet-dev-win-x64.%DOTNET_VERSION%.zip
41-
set DOTNET_REMOTE_PATH=https://dotnetcli.blob.core.windows.net/dotnet/beta/Binaries/%DOTNET_VERSION%/%DOTNET_ZIP_NAME%
41+
set DOTNET_REMOTE_PATH=https://dotnetcli.blob.core.windows.net/dotnet/preview/Binaries/%DOTNET_VERSION%/%DOTNET_ZIP_NAME%
4242
set DOTNET_LOCAL_PATH=%DOTNET_PATH%%DOTNET_ZIP_NAME%
43-
echo Installing '%DOTNET_REMOTE_PATH%' to '%DOTNET_LOCAL_PATH%' >> %INIT_TOOLS_LOG%
44-
powershell -NoProfile -ExecutionPolicy unrestricted -Command "(New-Object Net.WebClient).DownloadFile('%DOTNET_REMOTE_PATH%', '%DOTNET_LOCAL_PATH%'); Add-Type -Assembly 'System.IO.Compression.FileSystem' -ErrorVariable AddTypeErrors; if ($AddTypeErrors.Count -eq 0) { [System.IO.Compression.ZipFile]::ExtractToDirectory('%DOTNET_LOCAL_PATH%', '%DOTNET_PATH%') } else { (New-Object -com shell.application).namespace('%DOTNET_PATH%').CopyHere((new-object -com shell.application).namespace('%DOTNET_LOCAL_PATH%').Items(),16) }" >> %INIT_TOOLS_LOG%
43+
echo Installing '%DOTNET_REMOTE_PATH%' to '%DOTNET_LOCAL_PATH%' >> "%INIT_TOOLS_LOG%"
44+
powershell -NoProfile -ExecutionPolicy unrestricted -Command "$retryCount = 0; $success = $false; do { try { (New-Object Net.WebClient).DownloadFile('%DOTNET_REMOTE_PATH%', '%DOTNET_LOCAL_PATH%'); $success = $true; } catch { if ($retryCount -ge 6) { throw; } else { $retryCount++; Start-Sleep -Seconds (5 * $retryCount); } } } while ($success -eq $false); Add-Type -Assembly 'System.IO.Compression.FileSystem' -ErrorVariable AddTypeErrors; if ($AddTypeErrors.Count -eq 0) { [System.IO.Compression.ZipFile]::ExtractToDirectory('%DOTNET_LOCAL_PATH%', '%DOTNET_PATH%') } else { (New-Object -com shell.application).namespace('%DOTNET_PATH%').CopyHere((new-object -com shell.application).namespace('%DOTNET_LOCAL_PATH%').Items(),16) }" >> "%INIT_TOOLS_LOG%"
4545
if NOT exist "%DOTNET_LOCAL_PATH%" (
4646
echo ERROR: Could not install dotnet cli correctly. See '%INIT_TOOLS_LOG%' for more details.
47-
goto :EOF
47+
exit /b 1
4848
)
4949

5050
:afterdotnetrestore
5151

5252
if exist "%BUILD_TOOLS_PATH%" goto :afterbuildtoolsrestore
5353
echo Restoring BuildTools version %BUILDTOOLS_VERSION%...
54-
echo Running: "%DOTNET_CMD%" restore "%PROJECT_JSON_FILE%" --packages %PACKAGES_DIR% --source "%BUILDTOOLS_SOURCE%" >> %INIT_TOOLS_LOG%
55-
call "%DOTNET_CMD%" restore "%PROJECT_JSON_FILE%" --packages %PACKAGES_DIR% --source "%BUILDTOOLS_SOURCE%" >> %INIT_TOOLS_LOG%
54+
echo Running: "%DOTNET_CMD%" restore "%PROJECT_JSON_FILE%" --packages %PACKAGES_DIR% --source "%BUILDTOOLS_SOURCE%" >> "%INIT_TOOLS_LOG%"
55+
call "%DOTNET_CMD%" restore "%PROJECT_JSON_FILE%" --packages %PACKAGES_DIR% --source "%BUILDTOOLS_SOURCE%" >> "%INIT_TOOLS_LOG%"
5656
if NOT exist "%BUILD_TOOLS_PATH%init-tools.cmd" (
5757
echo ERROR: Could not restore build tools correctly. See '%INIT_TOOLS_LOG%' for more details.
58-
goto :EOF
58+
exit /b 1
5959
)
6060

6161
:afterbuildtoolsrestore
6262

6363
echo Initializing BuildTools ...
64-
echo Running: "%BUILD_TOOLS_PATH%init-tools.cmd" "%~dp0" "%DOTNET_CMD%" "%TOOLRUNTIME_DIR%" >> %INIT_TOOLS_LOG%
65-
call "%BUILD_TOOLS_PATH%init-tools.cmd" "%~dp0" "%DOTNET_CMD%" "%TOOLRUNTIME_DIR%" >> %INIT_TOOLS_LOG%
64+
echo Running: "%BUILD_TOOLS_PATH%init-tools.cmd" "%~dp0" "%DOTNET_CMD%" "%TOOLRUNTIME_DIR%" >> "%INIT_TOOLS_LOG%"
65+
call "%BUILD_TOOLS_PATH%init-tools.cmd" "%~dp0" "%DOTNET_CMD%" "%TOOLRUNTIME_DIR%" >> "%INIT_TOOLS_LOG%"
66+
set INIT_TOOLS_ERRORLEVEL=%ERRORLEVEL%
67+
if not [%INIT_TOOLS_ERRORLEVEL%]==[0] (
68+
echo ERROR: An error occured when trying to initialize the tools. Please check '%INIT_TOOLS_LOG%' for more details.
69+
exit /b %INIT_TOOLS_ERRORLEVEL%
70+
)
6671

6772
:: Create sempahore file
6873
echo Done initializing tools.

init-tools.sh

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ __DOTNET_TOOLS_VERSION=$(cat $__scriptpath/DotnetCLIVersion.txt)
1212
__BUILD_TOOLS_PATH=$__PACKAGES_DIR/Microsoft.DotNet.BuildTools/$__BUILD_TOOLS_PACKAGE_VERSION/lib
1313
__PROJECT_JSON_PATH=$__TOOLRUNTIME_DIR/$__BUILD_TOOLS_PACKAGE_VERSION
1414
__PROJECT_JSON_FILE=$__PROJECT_JSON_PATH/project.json
15-
__PROJECT_JSON_CONTENTS="{ \"dependencies\": { \"Microsoft.DotNet.BuildTools\": \"$__BUILD_TOOLS_PACKAGE_VERSION\" }, \"frameworks\": { \"dnxcore50\": { } } }"
15+
__PROJECT_JSON_CONTENTS="{ \"dependencies\": { \"Microsoft.DotNet.BuildTools\": \"$__BUILD_TOOLS_PACKAGE_VERSION\" }, \"frameworks\": { \"netcoreapp1.0\": { } } }"
1616

1717
OSName=$(uname -s)
1818
case $OSName in
@@ -24,14 +24,12 @@ case $OSName in
2424

2525
Linux)
2626
OS=Linux
27-
source /etc/os-release
28-
if [ "$ID" == "centos" -o "$ID" == "rhel" ]; then
29-
__DOTNET_PKG=dotnet-dev-centos-x64
30-
elif [ "$ID" == "ubuntu" -o "$ID" == "debian" ]; then
31-
__DOTNET_PKG=dotnet-dev-ubuntu-x64
27+
if [ ! -e /etc/os-release ]; then
28+
echo "Cannot determine Linux distribution, asuming Ubuntu 14.04."
29+
__DOTNET_PKG=dotnet-dev-ubuntu.14.04-x64
3230
else
33-
echo "Unsupported Linux distribution '$ID' detected. Downloading ubuntu-x64 tools."
34-
__DOTNET_PKG=dotnet-dev-ubuntu-x64
31+
source /etc/os-release
32+
__DOTNET_PKG="dotnet-dev-$ID.$VERSION_ID-x64"
3533
fi
3634
;;
3735

@@ -47,24 +45,18 @@ if [ ! -e $__PROJECT_JSON_FILE ]; then
4745
echo "Running: $__scriptpath/init-tools.sh" > $__init_tools_log
4846
if [ ! -e $__DOTNET_PATH ]; then
4947
echo "Installing dotnet cli..."
50-
__DOTNET_LOCATION="https://dotnetcli.blob.core.windows.net/dotnet/beta/Binaries/${__DOTNET_TOOLS_VERSION}/${__DOTNET_PKG}.${__DOTNET_TOOLS_VERSION}.tar.gz"
48+
__DOTNET_LOCATION="https://dotnetcli.blob.core.windows.net/dotnet/preview/Binaries/${__DOTNET_TOOLS_VERSION}/${__DOTNET_PKG}.${__DOTNET_TOOLS_VERSION}.tar.gz"
5149
# curl has HTTPS CA trust-issues less often than wget, so lets try that first.
5250
echo "Installing '${__DOTNET_LOCATION}' to '$__DOTNET_PATH/dotnet.tar'" >> $__init_tools_log
5351
which curl > /dev/null 2> /dev/null
5452
if [ $? -ne 0 ]; then
5553
mkdir -p "$__DOTNET_PATH"
5654
wget -q -O $__DOTNET_PATH/dotnet.tar ${__DOTNET_LOCATION}
5755
else
58-
curl -sSL --create-dirs -o $__DOTNET_PATH/dotnet.tar ${__DOTNET_LOCATION}
56+
curl --retry 10 -sSL --create-dirs -o $__DOTNET_PATH/dotnet.tar ${__DOTNET_LOCATION}
5957
fi
6058
cd $__DOTNET_PATH
6159
tar -xf $__DOTNET_PATH/dotnet.tar
62-
if [ -n "$BUILDTOOLS_OVERRIDE_RUNTIME" ]; then
63-
find $__DOTNET_PATH -name *.ni.* | xargs rm 2>/dev/null
64-
cp -R $BUILDTOOLS_OVERRIDE_RUNTIME/* $__DOTNET_PATH/bin
65-
cp -R $BUILDTOOLS_OVERRIDE_RUNTIME/* $__DOTNET_PATH/bin/dnx
66-
cp -R $BUILDTOOLS_OVERRIDE_RUNTIME/* $__DOTNET_PATH/runtime/coreclr
67-
fi
6860

6961
cd $__scriptpath
7062
fi
@@ -82,6 +74,10 @@ if [ ! -e $__PROJECT_JSON_FILE ]; then
8274
echo "Initializing BuildTools..."
8375
echo "Running: $__BUILD_TOOLS_PATH/init-tools.sh $__scriptpath $__DOTNET_CMD $__TOOLRUNTIME_DIR" >> $__init_tools_log
8476
$__BUILD_TOOLS_PATH/init-tools.sh $__scriptpath $__DOTNET_CMD $__TOOLRUNTIME_DIR >> $__init_tools_log
77+
if [ "$?" != "0" ]; then
78+
echo "ERROR: An error occured when trying to initialize the tools. Please check '$__init_tools_log' for more details."
79+
exit 1
80+
fi
8581
echo "Done initializing tools."
8682
else
8783
echo "Tools are already initialized"

packages.config

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@
77
<package id="NUnit.Console" version="3.0.0" targetFramework="net45" />
88
<package id="NUnitLite" version="3.0.0" targetFramework="net45" />
99
<package id="NUnit3TestAdapter" version="3.0.8-ctp-8" targetFramework="net45" />
10-
<package id="System.Collections.Immutable" version="1.2.0-rc3-23805" />
11-
<package id="System.Reflection.Metadata" version="1.3.0-beta-23816" />
12-
<package id="Microsoft.DiaSymReader.PortablePdb" version="1.0.0-rc-60301" />
13-
<package id="Microsoft.DiaSymReader" version="1.0.7" />
10+
<package id="System.Collections.Immutable" version="1.2.0" />
11+
<package id="System.Reflection.Metadata" version="1.4.1-beta-24227-04" />
12+
<package id="Microsoft.DiaSymReader.PortablePdb" version="1.1.0" />
13+
<package id="Microsoft.DiaSymReader" version="1.0.8" />
1414
<package id="FsSrGen" version="2.0.0" targetFramework="net46" />
1515
<package id="MicroBuild.Core" version="0.2.0" />
1616
<package id="WiX.Toolset.2015" version="3.10.0.1503" />

src/absil/il.fs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2063,6 +2063,8 @@ let mkILFormalGenericArgs (gparams:ILGenericParameterDefs) =
20632063

20642064
let mkILFormalBoxedTy tref gparams = mkILBoxedTy tref (mkILFormalGenericArgs gparams)
20652065

2066+
let mkILFormalNamedTy bx tref gparams = mkILNamedTy bx tref (mkILFormalGenericArgs gparams)
2067+
20662068
// --------------------------------------------------------------------
20672069
// Operations on class etc. defs.
20682070
// --------------------------------------------------------------------

0 commit comments

Comments
 (0)