diff --git a/lib/DriverTool/swift_symbolgraph_extract_main.cpp b/lib/DriverTool/swift_symbolgraph_extract_main.cpp index 8648672cae9ee..37e53d3d94b10 100644 --- a/lib/DriverTool/swift_symbolgraph_extract_main.cpp +++ b/lib/DriverTool/swift_symbolgraph_extract_main.cpp @@ -203,23 +203,15 @@ int swift_symbolgraph_extract_main(ArrayRef Args, .Default(AccessLevel::Public); } - if (auto *A = ParsedArgs.getLastArg(OPT_allow_availability_platforms)) { + if (auto *A = ParsedArgs.getLastArg(OPT_allow_availability_platforms, + OPT_block_availability_platforms)) { llvm::SmallVector AvailabilityPlatforms; StringRef(A->getValue()) .split(AvailabilityPlatforms, ',', /*MaxSplits*/ -1, /*KeepEmpty*/ false); Options.AvailabilityPlatforms = llvm::DenseSet( AvailabilityPlatforms.begin(), AvailabilityPlatforms.end()); - Options.AvailabilityIsBlockList = false; - } else if (auto *A = - ParsedArgs.getLastArg(OPT_block_availability_platforms)) { - llvm::SmallVector AvailabilityPlatforms; - StringRef(A->getValue()) - .split(AvailabilityPlatforms, ',', /*MaxSplits*/ -1, - /*KeepEmpty*/ false); - Options.AvailabilityPlatforms = llvm::DenseSet( - AvailabilityPlatforms.begin(), AvailabilityPlatforms.end()); - Options.AvailabilityIsBlockList = true; + Options.AvailabilityIsBlockList = A->getOption().matches(OPT_block_availability_platforms); } Invocation.getLangOptions().setCxxInteropFromArgs(ParsedArgs, Diags); diff --git a/lib/Frontend/CompilerInvocation.cpp b/lib/Frontend/CompilerInvocation.cpp index b0f625e9a2272..91a6dc6549418 100644 --- a/lib/Frontend/CompilerInvocation.cpp +++ b/lib/Frontend/CompilerInvocation.cpp @@ -2213,23 +2213,15 @@ static void ParseSymbolGraphArgs(symbolgraphgen::SymbolGraphOptions &Opts, Opts.MinimumAccessLevel = AccessLevel::Public; } - if (auto *A = Args.getLastArg(OPT_symbol_graph_allow_availability_platforms)) { + if (auto *A = Args.getLastArg(OPT_symbol_graph_allow_availability_platforms, + OPT_symbol_graph_block_availability_platforms)) { llvm::SmallVector AvailabilityPlatforms; StringRef(A->getValue()) .split(AvailabilityPlatforms, ',', /*MaxSplits*/ -1, /*KeepEmpty*/ false); Opts.AvailabilityPlatforms = llvm::DenseSet( AvailabilityPlatforms.begin(), AvailabilityPlatforms.end()); - Opts.AvailabilityIsBlockList = false; - } else if (auto *A = Args.getLastArg( - OPT_symbol_graph_block_availability_platforms)) { - llvm::SmallVector AvailabilityPlatforms; - StringRef(A->getValue()) - .split(AvailabilityPlatforms, ',', /*MaxSplits*/ -1, - /*KeepEmpty*/ false); - Opts.AvailabilityPlatforms = llvm::DenseSet( - AvailabilityPlatforms.begin(), AvailabilityPlatforms.end()); - Opts.AvailabilityIsBlockList = true; + Opts.AvailabilityIsBlockList = A->getOption().matches(OPT_symbol_graph_block_availability_platforms); } // default values for generating symbol graphs during a build