Skip to content

Commit 7732456

Browse files
committed
Fixed merge issues
Fixed merge
1 parent 695471c commit 7732456

File tree

13 files changed

+122
-74
lines changed

13 files changed

+122
-74
lines changed

buildtools/AssemblyCheck/AssemblyCheck.fsproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
<PropertyGroup>
44
<OutputType>Exe</OutputType>
5-
<TargetFramework>net7.0</TargetFramework>
5+
<TargetFramework>net6.0</TargetFramework>
66
<DisableImplicitFSharpCoreReference>true</DisableImplicitFSharpCoreReference>
77
<UseAppHost Condition="'$(DotNetBuildFromSource)' == 'true'">false</UseAppHost>
88
</PropertyGroup>

buildtools/buildtools.targets

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
BeforeTargets="CoreCompile">
2121

2222
<PropertyGroup>
23-
<FsLexPath Condition="'$(FsLexPath)' == ''">$(ArtifactsDir)\bin\fslex\Release\net5.0\fslex.dll</FsLexPath>
23+
<FsLexPath Condition="'$(FsLexPath)' == ''">$(ArtifactsDir)\bin\fslex\Release\net6.0\fslex.dll</FsLexPath>
2424
</PropertyGroup>
2525

2626
<!-- Create the output directory -->
@@ -44,7 +44,7 @@
4444
BeforeTargets="CoreCompile">
4545

4646
<PropertyGroup>
47-
<FsYaccPath Condition="'$(FsYaccPath)' == ''">$(ArtifactsDir)\bin\fsyacc\Release\net5.0\fsyacc.dll</FsYaccPath>
47+
<FsYaccPath Condition="'$(FsYaccPath)' == ''">$(ArtifactsDir)\bin\fsyacc\Release\net6.0\fsyacc.dll</FsYaccPath>
4848
</PropertyGroup>
4949

5050
<!-- Create the output directory -->

buildtools/fslex/fslex.fsproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
<PropertyGroup>
44
<OutputType>Exe</OutputType>
55
<TargetFramework>net7.0</TargetFramework>
6+
<TargetFramework>net6.0</TargetFramework>
7+
<DefineConstants>INTERNALIZED_FSLEXYACC_RUNTIME;$(DefineConstants)</DefineConstants>
68
<DisableImplicitFSharpCoreReference>true</DisableImplicitFSharpCoreReference>
79
<UseAppHost Condition="'$(DotNetBuildFromSource)' == 'true'">false</UseAppHost>
810
</PropertyGroup>

buildtools/fsyacc/fsyacc.fsproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
<PropertyGroup>
44
<OutputType>Exe</OutputType>
55
<TargetFramework>net7.0</TargetFramework>
6+
<TargetFramework>net6.0</TargetFramework>
7+
<DefineConstants>INTERNALIZED_FSLEXYACC_RUNTIME;$(DefineConstants)</DefineConstants>
68
<DisableImplicitFSharpCoreReference>true</DisableImplicitFSharpCoreReference>
79
<UseAppHost Condition="'$(DotNetBuildFromSource)' == 'true'">false</UseAppHost>
810
</PropertyGroup>

fcs/build.sh

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
#!/usr/bin/env bash
1+
#!/usr/bin/env bash
22

3-
dotnet build -c Release src/buildtools/buildtools.proj
4-
dotnet build -c Release src/fsharp/FSharp.Compiler.Service
5-
#dotnet /usr/share/dotnet/sdk/5.0.402/MSBuild.dll /p:Configuration=Release /p:FscToolExe=fsc src/fsharp/FSharp.Compiler.Service/
3+
dotnet build -c Release buildtools
4+
dotnet build -c Release src/Compiler
5+
dotnet run -c Release --project fcs/fcs-test
6+
echo "Binaries can be found here: /artifacts/bin/FSharp.Compiler.Service/Release/netstandard2.0/"

fcs/fcs-test/Program.fs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
open System.IO
1+
open System.IO
22
open FSharp.Compiler
33
open FSharp.Compiler.CodeAnalysis
44
open FSharp.Compiler.SourceCodeServices
@@ -76,11 +76,11 @@ let printAst title (projectResults: FSharpCheckProjectResults) =
7676
|> String.concat "\n"
7777
printfn "%s Typed AST:" title
7878
decls |> printfn "%s"
79-
79+
8080
[<EntryPoint>]
8181
let main argv =
8282
let projName = "Project.fsproj"
83-
let fileName = "test_script.fsx"
83+
let fileName = __SOURCE_DIRECTORY__ + "/test_script.fsx"
8484
let fileNames = [| fileName |]
8585
let source = File.ReadAllText (fileName, System.Text.Encoding.UTF8)
8686

@@ -116,11 +116,12 @@ let main argv =
116116
// Get declarations (autocomplete) for msg
117117
let partialName = { QualifyingIdents = []; PartialIdent = "msg"; EndColumn = 17; LastDotPos = None }
118118
let decls = typeCheckResults.GetDeclarationListInfo(Some parseResults, 6, inputLines.[5], partialName, (fun _ -> []))
119-
[ for item in decls.Items -> item.Name ] |> printfn "\n---> msg AutoComplete = %A" // should print string methods
119+
[ for item in decls.Items -> item.NameInList ] |> printfn "\n---> msg AutoComplete = %A" // should print string methods
120120

121121
// Get declarations (autocomplete) for canvas
122122
let partialName = { QualifyingIdents = []; PartialIdent = "canvas"; EndColumn = 10; LastDotPos = None }
123123
let decls = typeCheckResults.GetDeclarationListInfo(Some parseResults, 8, inputLines.[7], partialName, (fun _ -> []))
124-
[ for item in decls.Items -> item.Name ] |> printfn "\n---> canvas AutoComplete = %A"
124+
[ for item in decls.Items -> item.NameInList ] |> printfn "\n---> canvas AutoComplete = %A"
125125

126+
printfn "Done."
126127
0

fcs/fcs-test/fcs-test.fsproj

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<Project Sdk="Microsoft.NET.Sdk">
1+
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
44
<OutputType>Exe</OutputType>
@@ -12,15 +12,16 @@
1212
</ItemGroup>
1313

1414
<ItemGroup>
15-
<!-- <ProjectReference Include="../../src/fsharp/FSharp.Compiler.Service/FSharp.Compiler.Service.fsproj" /> -->
15+
<!-- <ProjectReference Include="../../src/Compiler/FSharp.Compiler.Service.fsproj" /> -->
16+
<!-- <ProjectReference Include="../../src/Compiler/FSharp.Core/FSharp.Core.fsproj" /> -->
1617
<Reference Include="../../artifacts/bin/FSharp.Compiler.Service/Release/netstandard2.0/FSharp.Core.dll" />
1718
<Reference Include="../../artifacts/bin/FSharp.Compiler.Service/Release/netstandard2.0/FSharp.Compiler.Service.dll" />
1819
</ItemGroup>
1920

2021
<ItemGroup>
21-
<!-- <PackageReference Include="FSharp.Core" Version="6.0.1" /> -->
22+
<!-- <PackageReference Include="FSharp.Core" Version="6.0.5" /> -->
2223
<PackageReference Include="Dotnet.ProjInfo" Version="0.44.0" />
23-
<PackageReference Include="Fable.Core" Version="3.4.0" />
24+
<PackageReference Include="Fable.Core" Version="3.7.1" />
2425
<PackageReference Include="Fable.Import.Browser" Version="1.4.0" />
2526
</ItemGroup>
2627
</Project>

fcs/service_slim.fs

Lines changed: 36 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,13 @@ open System.Threading
1010
open Internal.Utilities.Collections
1111
open Internal.Utilities.Library
1212
open Internal.Utilities.Library.Extras
13+
1314
open FSharp.Compiler
1415
open FSharp.Compiler.AbstractIL
1516
open FSharp.Compiler.AbstractIL.IL
1617
open FSharp.Compiler.AbstractIL.ILBinaryReader
1718
open FSharp.Compiler.CodeAnalysis
18-
open FSharp.Compiler.CheckExpressions
19+
open FSharp.Compiler.CheckBasics
1920
open FSharp.Compiler.CheckDeclarations
2021
open FSharp.Compiler.CompilerConfig
2122
open FSharp.Compiler.CompilerDiagnostics
@@ -24,8 +25,8 @@ open FSharp.Compiler.CompilerImports
2425
open FSharp.Compiler.CompilerOptions
2526
open FSharp.Compiler.DependencyManager
2627
open FSharp.Compiler.Diagnostics
28+
open FSharp.Compiler.DiagnosticsLogger
2729
open FSharp.Compiler.Driver
28-
open FSharp.Compiler.ErrorLogger
2930
open FSharp.Compiler.NameResolution
3031
open FSharp.Compiler.ParseAndCheckInputs
3132
open FSharp.Compiler.ScriptClosure
@@ -44,7 +45,7 @@ open FSharp.Compiler.BuildGraph
4445
// InteractiveChecker
4546
//-------------------------------------------------------------------------
4647

47-
type internal TcResult = TcEnv * TopAttribs * TypedImplFile option * ModuleOrNamespaceType
48+
type internal TcResult = TcEnv * TopAttribs * CheckedImplFile option * ModuleOrNamespaceType
4849
type internal TcErrors = FSharpDiagnostic[]
4950

5051
type internal CompilerState = {
@@ -109,19 +110,18 @@ module internal ParseAndCheck =
109110
let initializeCompilerState projectOptions reset = async {
110111
let tcConfig =
111112
let tcConfigB =
112-
TcConfigBuilder.CreateNew(SimulatedMSBuildReferenceResolver.getResolver(),
113-
includewin32manifest=false,
114-
framework=false,
115-
portablePDB=false,
116-
defaultFSharpBinariesDir=FSharpCheckerResultsSettings.defaultFSharpBinariesDir,
117-
reduceMemoryUsage=ReduceMemoryFlag.Yes,
118-
implicitIncludeDir=Path.GetDirectoryName(projectOptions.ProjectFileName),
119-
isInteractive=false,
120-
isInvalidationSupported=true,
121-
defaultCopyFSharpCore=CopyFSharpCoreFlag.No,
122-
tryGetMetadataSnapshot=(fun _ -> None),
123-
sdkDirOverride=None,
124-
rangeForErrors=range0)
113+
TcConfigBuilder.CreateNew(
114+
SimulatedMSBuildReferenceResolver.getResolver(),
115+
defaultFSharpBinariesDir = FSharpCheckerResultsSettings.defaultFSharpBinariesDir,
116+
reduceMemoryUsage = ReduceMemoryFlag.Yes,
117+
implicitIncludeDir = Path.GetDirectoryName(projectOptions.ProjectFileName),
118+
isInteractive = false,
119+
isInvalidationSupported = true,
120+
defaultCopyFSharpCore = CopyFSharpCoreFlag.No,
121+
tryGetMetadataSnapshot = (fun _ -> None),
122+
sdkDirOverride = None,
123+
rangeForErrors = range0
124+
)
125125
let sourceFiles = projectOptions.SourceFiles |> Array.toList
126126
let argv = projectOptions.OtherOptions |> Array.toList
127127
let _sourceFiles = ApplyCommandLineArgs(tcConfigB, sourceFiles, argv)
@@ -140,10 +140,9 @@ module internal ParseAndCheck =
140140
ccu.Deref.InvalidateEvent.Add(fun _ -> reset())
141141
)
142142

143-
let niceNameGen = NiceNameGenerator()
144143
let assemblyName = projectOptions.ProjectFileName |> Path.GetFileNameWithoutExtension
145144
let tcInitial, openDecls0 = GetInitialTcEnv (assemblyName, rangeStartup, tcConfig, tcImports, tcGlobals)
146-
let tcInitialState = GetInitialTcState (rangeStartup, assemblyName, tcConfig, tcGlobals, tcImports, niceNameGen, tcInitial, openDecls0)
145+
let tcInitialState = GetInitialTcState (rangeStartup, assemblyName, tcConfig, tcGlobals, tcImports, tcInitial, openDecls0)
147146

148147
// parse cache, keyed on file name and source hash
149148
let parseCache = ConcurrentDictionary<string * int, FSharpParseFileResults>(HashIdentity.Structural)
@@ -162,14 +161,14 @@ module internal ParseAndCheck =
162161
}
163162

164163
let MakeProjectResults (projectFileName: string, parseResults: FSharpParseFileResults[], tcState: TcState, errors: FSharpDiagnostic[],
165-
topAttrsOpt: TopAttribs option, tcImplFilesOpt: TypedImplFile list option,
166-
compilerState) =
164+
topAttrsOpt: TopAttribs option, tcImplFilesOpt: CheckedImplFile list option, compilerState) =
167165
let assemblyRef = mkSimpleAssemblyRef "stdin"
168166
let access = tcState.TcEnvFromImpls.AccessRights
169167
let symbolUses = Choice2Of2 TcSymbolUses.Empty
170168
let dependencyFiles = parseResults |> Seq.map (fun x -> x.DependencyFiles) |> Array.concat
169+
let getAssemblyData () = None
171170
let details = (compilerState.tcGlobals, compilerState.tcImports, tcState.Ccu, tcState.CcuSig, symbolUses, topAttrsOpt,
172-
assemblyRef, access, tcImplFilesOpt, dependencyFiles, compilerState.projectOptions)
171+
getAssemblyData, assemblyRef, access, tcImplFilesOpt, dependencyFiles, compilerState.projectOptions)
173172
let keepAssemblyContents = true
174173
FSharpCheckProjectResults (projectFileName, Some compilerState.tcConfig, keepAssemblyContents, errors, Some details)
175174

@@ -199,20 +198,21 @@ module internal ParseAndCheck =
199198

200199
let TypeCheckOneInputEntry (parseResults: FSharpParseFileResults, tcSink: TcResultsSink, tcState: TcState, moduleNamesDict: ModuleNamesDict, compilerState) =
201200
let input = parseResults.ParseTree
202-
let capturingErrorLogger = CompilationErrorLogger("TypeCheckFile", compilerState.tcConfig.errorSeverityOptions)
203-
let errorLogger = GetErrorLoggerFilteringByScopedPragmas(false, GetScopedPragmasForInput(input), capturingErrorLogger)
204-
use _errorScope = new CompilationGlobalsScope (errorLogger, BuildPhase.TypeCheck)
201+
let diagnosticsOptions = compilerState.tcConfig.diagnosticsOptions
202+
let capturingLogger = CompilationDiagnosticLogger("TypeCheckFile", diagnosticsOptions)
203+
let diagnosticsLogger = GetDiagnosticsLoggerFilteringByScopedPragmas(false, input.ScopedPragmas, diagnosticsOptions, capturingLogger)
204+
use _scope = new CompilationGlobalsScope (diagnosticsLogger, BuildPhase.TypeCheck)
205205

206-
let checkForErrors () = parseResults.ParseHadErrors || errorLogger.ErrorCount > 0
206+
let checkForErrors () = parseResults.ParseHadErrors || diagnosticsLogger.ErrorCount > 0
207207
let prefixPathOpt = None
208208

209209
let input, moduleNamesDict = input |> DeduplicateParsedInputModuleName moduleNamesDict
210210
let tcResult, tcState =
211-
TypeCheckOneInput (checkForErrors, compilerState.tcConfig, compilerState.tcImports, compilerState.tcGlobals, prefixPathOpt, tcSink, tcState, input, false)
212-
|> Cancellable.runWithoutCancellation
211+
CheckOneInput (checkForErrors, compilerState.tcConfig, compilerState.tcImports, compilerState.tcGlobals, prefixPathOpt, tcSink, tcState, input, false)
212+
|> Cancellable.runWithoutCancellation
213213

214214
let fileName = parseResults.FileName
215-
let tcErrors = DiagnosticHelpers.CreateDiagnostics (compilerState.tcConfig.errorSeverityOptions, false, fileName, (capturingErrorLogger.GetDiagnostics()), suggestNamesForErrors)
215+
let tcErrors = DiagnosticHelpers.CreateDiagnostics (diagnosticsOptions, false, fileName, (capturingLogger.GetDiagnostics()), suggestNamesForErrors)
216216
(tcResult, tcErrors), (tcState, moduleNamesDict)
217217

218218
let CheckFile (projectFileName: string, parseResults: FSharpParseFileResults, tcState: TcState, moduleNamesDict: ModuleNamesDict, compilerState) =
@@ -239,7 +239,7 @@ module internal ParseAndCheck =
239239
let checkCacheKey = parseRes.FileName
240240

241241
let typeCheckOneInput _fileName =
242-
TypeCheckOneInputEntry (parseRes, TcResultsSink.NoSink, tcState, moduleNamesDict, compilerState)
242+
TypeCheckOneInputEntry (parseRes, TcResultsSink.NoSink, tcState, moduleNamesDict, compilerState)
243243

244244
let (result, errors), (tcState, moduleNamesDict) = compilerState.checkCache.GetOrAdd(checkCacheKey, typeCheckOneInput)
245245

@@ -257,9 +257,9 @@ module internal ParseAndCheck =
257257

258258
let tcResults, tcErrors = Array.unzip results
259259
let (tcEnvAtEndOfLastFile, topAttrs, implFiles, _ccuSigsForFiles), tcState =
260-
TypeCheckMultipleInputsFinish(tcResults |> Array.toList, tcState)
260+
CheckMultipleInputsFinish(tcResults |> Array.toList, tcState)
261261

262-
let tcState, declaredImpls, ccuContents = TypeCheckClosedInputSetFinish (implFiles, tcState)
262+
let tcState, declaredImpls, ccuContents = CheckClosedInputSetFinish (implFiles, tcState)
263263
tcState.Ccu.Deref.Contents <- ccuContents
264264
tcState, topAttrs, declaredImpls, tcEnvAtEndOfLastFile, moduleNamesDict, tcErrors
265265

@@ -304,11 +304,11 @@ type InteractiveChecker internal (compilerStateCache) =
304304
TypeCheckClosedInputSet (parseResults, compilerState.tcInitialState, compilerState, None)
305305

306306
let ctok = CompilationThreadToken()
307-
let errors, errorLogger, _loggerProvider = CompileHelpers.mkCompilationErrorHandlers()
307+
let errors, diagnosticsLogger, _loggerProvider = CompileHelpers.mkCompilationDiagnosticsHandlers()
308308
let exitCode =
309-
CompileHelpers.tryCompile errorLogger (fun exiter ->
310-
compileOfTypedAst (ctok, compilerState.tcGlobals, compilerState.tcImports, tcState.Ccu,
311-
tcImplFiles, topAttrs, compilerState.tcConfig, outFile, errorLogger, exiter))
309+
CompileHelpers.tryCompile diagnosticsLogger (fun exiter ->
310+
CompileFromTypedAst (ctok, compilerState.tcGlobals, compilerState.tcImports, tcState.Ccu,
311+
tcImplFiles, topAttrs, compilerState.tcConfig, outFile, diagnosticsLogger, exiter))
312312

313313
return errors.ToArray(), exitCode
314314
}
@@ -340,7 +340,7 @@ type InteractiveChecker internal (compilerStateCache) =
340340
fileNames |> Array.map parseFile
341341

342342
// type check files
343-
let (tcState, topAttrs, tcImplFiles, _tcEnvAtEnd, _moduleNamesDict, tcErrors) = // measureTime <| fun _ ->
343+
let (tcState, topAttrs, tcImplFiles, _tcEnvAtEnd, _moduleNamesDict, tcErrors) =
344344
TypeCheckClosedInputSet (parseResults, compilerState.tcInitialState, compilerState, subscriber)
345345

346346
// make project results

src/Compiler/Driver/fsc.fs

Lines changed: 43 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1211,19 +1211,46 @@ let CompileFromCommandLineArguments
12111211
|> main5
12121212
|> main6 dynamicAssemblyCreator
12131213

1214-
let compileOfTypedAst
1215-
(ctok, tcGlobals, tcImports: TcImports, generatedCcu: CcuThunk, typedImplFiles,
1216-
topAttrs, tcConfig: TcConfig, outfile, errorLogger, exiter: Exiter) =
1217-
1218-
let tcImportsCapture = None
1219-
let dynamicAssemblyCreator = None
1220-
let assemblyName = Path.GetFileNameWithoutExtension(outfile)
1221-
// Doubling here tcImports as frameworkTcImports, seems to work...
1222-
let frameworkTcImports = tcImports
1223-
1224-
Args (ctok, tcGlobals, tcImports, frameworkTcImports, generatedCcu, typedImplFiles, topAttrs, tcConfig, outfile, None, assemblyName, errorLogger, exiter)
1225-
|> main2
1226-
|> main3
1227-
|> main4 (tcImportsCapture, dynamicAssemblyCreator)
1228-
|> main5
1229-
|> main6 dynamicAssemblyCreator
1214+
let CompileFromTypedAst
1215+
(
1216+
ctok,
1217+
tcGlobals,
1218+
tcImports: TcImports,
1219+
generatedCcu: CcuThunk,
1220+
typedImplFiles,
1221+
topAttrs,
1222+
tcConfig: TcConfig,
1223+
outfile,
1224+
diagnosticsLogger,
1225+
exiter: Exiter
1226+
) =
1227+
1228+
let tcImportsCapture = None
1229+
let dynamicAssemblyCreator = None
1230+
let assemblyName = Path.GetFileNameWithoutExtension(outfile)
1231+
// Doubling here tcImports as frameworkTcImports, seems to work...
1232+
let frameworkTcImports = tcImports
1233+
let pdbfile = None
1234+
let ilSourceDocs = []
1235+
1236+
Args (
1237+
ctok,
1238+
tcGlobals,
1239+
tcImports,
1240+
frameworkTcImports,
1241+
generatedCcu,
1242+
typedImplFiles,
1243+
topAttrs,
1244+
tcConfig,
1245+
outfile,
1246+
pdbfile,
1247+
assemblyName,
1248+
diagnosticsLogger,
1249+
exiter,
1250+
ilSourceDocs
1251+
)
1252+
|> main2
1253+
|> main3
1254+
|> main4 (tcImportsCapture, dynamicAssemblyCreator)
1255+
|> main5
1256+
|> main6 dynamicAssemblyCreator

src/Compiler/Driver/fsc.fsi

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,3 +58,16 @@ val CompileFromCommandLineArguments:
5858

5959
/// Read the parallelReferenceResolution flag from environment variables
6060
val internal getParallelReferenceResolutionFromEnvironment: unit -> ParallelReferenceResolution option
61+
62+
val CompileFromTypedAst:
63+
ctok: CompilationThreadToken *
64+
tcGlobals: TcGlobals *
65+
tcImports: TcImports *
66+
generatedCcu: TypedTree.CcuThunk *
67+
typedImplFiles: TypedTree.CheckedImplFile list *
68+
topAttrs: CheckDeclarations.TopAttribs *
69+
tcConfig: TcConfig *
70+
outfile: string *
71+
diagnosticsLogger: DiagnosticsLogger *
72+
exiter: Exiter
73+
-> unit

src/Compiler/FSharp.Compiler.Service.fsproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
<NoWarn>$(NoWarn);NU5125</NoWarn>
1313
<AssemblyName>FSharp.Compiler.Service</AssemblyName>
1414
<AllowCrossTargeting>true</AllowCrossTargeting>
15+
<DefineConstants>$(DefineConstants);FABLE_CLI</DefineConstants>
1516
<DefineConstants>$(DefineConstants);COMPILER</DefineConstants>
1617
<DefineConstants Condition="'$(FSHARPCORE_USE_PACKAGE)' == 'true'">$(DefineConstants);FSHARPCORE_USE_PACKAGE</DefineConstants>
1718
<OtherFlags>$(OtherFlags) --extraoptimizationloops:1</OtherFlags>

0 commit comments

Comments
 (0)