aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKazu Hirata <kazu@google.com>2023-01-07 13:43:00 -0800
committerKazu Hirata <kazu@google.com>2023-01-07 13:43:00 -0800
commitf190ce625ab0dc5a5e2b2515e6d26debb34843ab (patch)
tree75b7c2680b3968db3c05ee3765ee3fe622e630c1
parent6fe70cb465654eafafd272231e23762adeab4290 (diff)
downloadllvm-f190ce625ab0dc5a5e2b2515e6d26debb34843ab.zip
llvm-f190ce625ab0dc5a5e2b2515e6d26debb34843ab.tar.gz
llvm-f190ce625ab0dc5a5e2b2515e6d26debb34843ab.tar.bz2
[lldb] Add #include <optional> (NFC)
This patch adds #include <optional> to those files containing llvm::Optional<...> or Optional<...>. I'll post a separate patch to actually replace llvm::Optional with std::optional. This is part of an effort to migrate from llvm::Optional to std::optional: https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716
-rw-r--r--lldb/include/lldb/Breakpoint/BreakpointID.h1
-rw-r--r--lldb/include/lldb/Breakpoint/BreakpointResolver.h1
-rw-r--r--lldb/include/lldb/Breakpoint/BreakpointResolverFileLine.h1
-rw-r--r--lldb/include/lldb/Core/DataFileCache.h1
-rw-r--r--lldb/include/lldb/Core/Debugger.h1
-rw-r--r--lldb/include/lldb/Core/EmulateInstruction.h1
-rw-r--r--lldb/include/lldb/Core/Highlighter.h1
-rw-r--r--lldb/include/lldb/Core/IOHandler.h1
-rw-r--r--lldb/include/lldb/Core/Module.h1
-rw-r--r--lldb/include/lldb/Core/Progress.h1
-rw-r--r--lldb/include/lldb/Core/SourceLocationSpec.h1
-rw-r--r--lldb/include/lldb/Core/SourceManager.h1
-rw-r--r--lldb/include/lldb/Core/ValueObject.h1
-rw-r--r--lldb/include/lldb/Core/ValueObjectCast.h1
-rw-r--r--lldb/include/lldb/Core/ValueObjectChild.h1
-rw-r--r--lldb/include/lldb/Core/ValueObjectConstResult.h1
-rw-r--r--lldb/include/lldb/Core/ValueObjectDynamicValue.h1
-rw-r--r--lldb/include/lldb/Core/ValueObjectMemory.h1
-rw-r--r--lldb/include/lldb/Core/ValueObjectRegister.h1
-rw-r--r--lldb/include/lldb/Core/ValueObjectSyntheticFilter.h1
-rw-r--r--lldb/include/lldb/Core/ValueObjectVariable.h1
-rw-r--r--lldb/include/lldb/Expression/ExpressionVariable.h1
-rw-r--r--lldb/include/lldb/Host/Editline.h1
-rw-r--r--lldb/include/lldb/Host/File.h1
-rw-r--r--lldb/include/lldb/Host/FileSystem.h1
-rw-r--r--lldb/include/lldb/Host/HostInfoBase.h1
-rw-r--r--lldb/include/lldb/Host/common/NativeProcessProtocol.h1
-rw-r--r--lldb/include/lldb/Host/freebsd/HostInfoFreeBSD.h1
-rw-r--r--lldb/include/lldb/Host/linux/Host.h1
-rw-r--r--lldb/include/lldb/Host/linux/HostInfoLinux.h1
-rw-r--r--lldb/include/lldb/Host/macosx/HostInfoMacOSX.h1
-rw-r--r--lldb/include/lldb/Host/netbsd/HostInfoNetBSD.h1
-rw-r--r--lldb/include/lldb/Host/openbsd/HostInfoOpenBSD.h1
-rw-r--r--lldb/include/lldb/Host/posix/HostInfoPosix.h1
-rw-r--r--lldb/include/lldb/Host/windows/HostInfoWindows.h1
-rw-r--r--lldb/include/lldb/Interpreter/CommandHistory.h1
-rw-r--r--lldb/include/lldb/Interpreter/CommandInterpreter.h1
-rw-r--r--lldb/include/lldb/Interpreter/CommandObject.h1
-rw-r--r--lldb/include/lldb/Interpreter/CommandObjectMultiword.h1
-rw-r--r--lldb/include/lldb/Interpreter/ScriptInterpreter.h1
-rw-r--r--lldb/include/lldb/Interpreter/ScriptedProcessInterface.h1
-rw-r--r--lldb/include/lldb/Symbol/CompilerType.h1
-rw-r--r--lldb/include/lldb/Symbol/DWARFCallFrameInfo.h1
-rw-r--r--lldb/include/lldb/Symbol/ObjectFile.h1
-rw-r--r--lldb/include/lldb/Symbol/SymbolFile.h1
-rw-r--r--lldb/include/lldb/Symbol/SymbolFileOnDemand.h1
-rw-r--r--lldb/include/lldb/Symbol/Type.h1
-rw-r--r--lldb/include/lldb/Symbol/TypeSystem.h1
-rw-r--r--lldb/include/lldb/Symbol/UnwindTable.h1
-rw-r--r--lldb/include/lldb/Target/LanguageRuntime.h1
-rw-r--r--lldb/include/lldb/Target/MemoryRegionInfo.h1
-rw-r--r--lldb/include/lldb/Target/MemoryTagMap.h1
-rw-r--r--lldb/include/lldb/Target/PathMappingList.h1
-rw-r--r--lldb/include/lldb/Target/Platform.h1
-rw-r--r--lldb/include/lldb/Target/RemoteAwarePlatform.h1
-rw-r--r--lldb/include/lldb/Target/StackFrameRecognizer.h1
-rw-r--r--lldb/include/lldb/Target/Statistics.h1
-rw-r--r--lldb/include/lldb/Target/Trace.h1
-rw-r--r--lldb/include/lldb/Target/TraceCursor.h1
-rw-r--r--lldb/include/lldb/Target/UnixSignals.h1
-rw-r--r--lldb/include/lldb/Utility/Diagnostics.h1
-rw-r--r--lldb/include/lldb/Utility/FileSpec.h1
-rw-r--r--lldb/include/lldb/Utility/Predicate.h1
-rw-r--r--lldb/include/lldb/Utility/SelectHelper.h1
-rw-r--r--lldb/include/lldb/Utility/StringExtractorGDBRemote.h1
-rw-r--r--lldb/include/lldb/Utility/Timeout.h1
-rw-r--r--lldb/include/lldb/Utility/UriParser.h1
-rw-r--r--lldb/include/lldb/Utility/UserIDResolver.h1
-rw-r--r--lldb/source/API/SBCommandInterpreter.cpp1
-rw-r--r--lldb/source/API/SBMemoryRegionInfo.cpp1
-rw-r--r--lldb/source/API/SBType.cpp1
-rw-r--r--lldb/source/Breakpoint/BreakpointID.cpp1
-rw-r--r--lldb/source/Breakpoint/BreakpointResolver.cpp1
-rw-r--r--lldb/source/Breakpoint/BreakpointResolverFileLine.cpp1
-rw-r--r--lldb/source/Commands/CommandObjectBreakpoint.cpp1
-rw-r--r--lldb/source/Commands/CommandObjectCommands.cpp1
-rw-r--r--lldb/source/Commands/CommandObjectFrame.cpp1
-rw-r--r--lldb/source/Commands/CommandObjectMemory.cpp1
-rw-r--r--lldb/source/Commands/CommandObjectMultiword.cpp1
-rw-r--r--lldb/source/Commands/CommandObjectProcess.cpp1
-rw-r--r--lldb/source/Commands/CommandObjectSource.cpp1
-rw-r--r--lldb/source/Commands/CommandObjectThread.cpp1
-rw-r--r--lldb/source/Core/Debugger.cpp1
-rw-r--r--lldb/source/Core/DumpDataExtractor.cpp1
-rw-r--r--lldb/source/Core/EmulateInstruction.cpp1
-rw-r--r--lldb/source/Core/Highlighter.cpp1
-rw-r--r--lldb/source/Core/IOHandler.cpp1
-rw-r--r--lldb/source/Core/IOHandlerCursesGUI.cpp1
-rw-r--r--lldb/source/Core/Module.cpp1
-rw-r--r--lldb/source/Core/SourceLocationSpec.cpp1
-rw-r--r--lldb/source/Core/SourceManager.cpp1
-rw-r--r--lldb/source/Core/Value.cpp1
-rw-r--r--lldb/source/Core/ValueObject.cpp1
-rw-r--r--lldb/source/Core/ValueObjectCast.cpp1
-rw-r--r--lldb/source/Core/ValueObjectConstResult.cpp1
-rw-r--r--lldb/source/Core/ValueObjectDynamicValue.cpp1
-rw-r--r--lldb/source/Core/ValueObjectMemory.cpp1
-rw-r--r--lldb/source/Core/ValueObjectRegister.cpp1
-rw-r--r--lldb/source/Core/ValueObjectSyntheticFilter.cpp1
-rw-r--r--lldb/source/Core/ValueObjectVariable.cpp1
-rw-r--r--lldb/source/DataFormatters/TypeFormat.cpp1
-rw-r--r--lldb/source/DataFormatters/VectorType.cpp1
-rw-r--r--lldb/source/Expression/DWARFExpression.cpp1
-rw-r--r--lldb/source/Expression/ExpressionVariable.cpp1
-rw-r--r--lldb/source/Expression/IRExecutionUnit.cpp1
-rw-r--r--lldb/source/Expression/Materializer.cpp1
-rw-r--r--lldb/source/Host/common/Editline.cpp1
-rw-r--r--lldb/source/Host/common/File.cpp1
-rw-r--r--lldb/source/Host/common/FileSystem.cpp1
-rw-r--r--lldb/source/Host/common/HostInfoBase.cpp1
-rw-r--r--lldb/source/Host/common/NativeProcessProtocol.cpp1
-rw-r--r--lldb/source/Host/common/Terminal.cpp1
-rw-r--r--lldb/source/Host/freebsd/HostInfoFreeBSD.cpp1
-rw-r--r--lldb/source/Host/linux/Host.cpp1
-rw-r--r--lldb/source/Host/linux/HostInfoLinux.cpp1
-rw-r--r--lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm1
-rw-r--r--lldb/source/Host/netbsd/HostInfoNetBSD.cpp1
-rw-r--r--lldb/source/Host/openbsd/HostInfoOpenBSD.cpp1
-rw-r--r--lldb/source/Host/posix/HostInfoPosix.cpp1
-rw-r--r--lldb/source/Host/windows/HostInfoWindows.cpp1
-rw-r--r--lldb/source/Interpreter/CommandHistory.cpp1
-rw-r--r--lldb/source/Interpreter/CommandInterpreter.cpp1
-rw-r--r--lldb/source/Interpreter/ScriptInterpreter.cpp1
-rw-r--r--lldb/source/Plugins/ABI/AArch64/ABIAArch64.cpp1
-rw-r--r--lldb/source/Plugins/ABI/AArch64/ABIMacOSX_arm64.cpp1
-rw-r--r--lldb/source/Plugins/ABI/AArch64/ABISysV_arm64.cpp1
-rw-r--r--lldb/source/Plugins/ABI/ARC/ABISysV_arc.h1
-rw-r--r--lldb/source/Plugins/ABI/ARM/ABIMacOSX_arm.cpp1
-rw-r--r--lldb/source/Plugins/ABI/ARM/ABISysV_arm.cpp1
-rw-r--r--lldb/source/Plugins/ABI/Mips/ABISysV_mips.cpp1
-rw-r--r--lldb/source/Plugins/ABI/Mips/ABISysV_mips64.cpp1
-rw-r--r--lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc.cpp1
-rw-r--r--lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc64.cpp1
-rw-r--r--lldb/source/Plugins/ABI/SystemZ/ABISysV_s390x.cpp1
-rw-r--r--lldb/source/Plugins/ABI/X86/ABIMacOSX_i386.cpp1
-rw-r--r--lldb/source/Plugins/ABI/X86/ABISysV_i386.cpp1
-rw-r--r--lldb/source/Plugins/ABI/X86/ABISysV_x86_64.cpp1
-rw-r--r--lldb/source/Plugins/ABI/X86/ABIWindows_x86_64.cpp1
-rw-r--r--lldb/source/Plugins/Disassembler/LLVMC/DisassemblerLLVMC.cpp1
-rw-r--r--lldb/source/Plugins/Disassembler/LLVMC/DisassemblerLLVMC.h1
-rw-r--r--lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp1
-rw-r--r--lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.h1
-rw-r--r--lldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.cpp1
-rw-r--r--lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp1
-rw-r--r--lldb/source/Plugins/ExpressionParser/Clang/ClangExternalASTSourceCallbacks.cpp1
-rw-r--r--lldb/source/Plugins/ExpressionParser/Clang/ClangExternalASTSourceCallbacks.h1
-rw-r--r--lldb/source/Plugins/ExpressionParser/Clang/ClangPersistentVariables.cpp1
-rw-r--r--lldb/source/Plugins/ExpressionParser/Clang/ClangPersistentVariables.h1
-rw-r--r--lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.h1
-rw-r--r--lldb/source/Plugins/ExpressionParser/Clang/CppModuleConfiguration.cpp1
-rw-r--r--lldb/source/Plugins/ExpressionParser/Clang/CxxModuleHandler.cpp1
-rw-r--r--lldb/source/Plugins/ExpressionParser/Clang/CxxModuleHandler.h1
-rw-r--r--lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp1
-rw-r--r--lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp1
-rw-r--r--lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h1
-rw-r--r--lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp1
-rw-r--r--lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.h1
-rw-r--r--lldb/source/Plugins/Instruction/LoongArch/EmulateInstructionLoongArch.cpp1
-rw-r--r--lldb/source/Plugins/Instruction/LoongArch/EmulateInstructionLoongArch.h1
-rw-r--r--lldb/source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.cpp1
-rw-r--r--lldb/source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.h1
-rw-r--r--lldb/source/Plugins/Instruction/MIPS64/EmulateInstructionMIPS64.cpp1
-rw-r--r--lldb/source/Plugins/Instruction/MIPS64/EmulateInstructionMIPS64.h1
-rw-r--r--lldb/source/Plugins/Instruction/PPC64/EmulateInstructionPPC64.cpp1
-rw-r--r--lldb/source/Plugins/Instruction/PPC64/EmulateInstructionPPC64.h1
-rw-r--r--lldb/source/Plugins/Instruction/RISCV/EmulateInstructionRISCV.cpp1
-rw-r--r--lldb/source/Plugins/Instruction/RISCV/EmulateInstructionRISCV.h1
-rw-r--r--lldb/source/Plugins/Instruction/RISCV/RISCVInstructions.h1
-rw-r--r--lldb/source/Plugins/Language/CPlusPlus/CPlusPlusNameParser.cpp1
-rw-r--r--lldb/source/Plugins/Language/CPlusPlus/CPlusPlusNameParser.h1
-rw-r--r--lldb/source/Plugins/Language/CPlusPlus/CxxStringTypes.cpp1
-rw-r--r--lldb/source/Plugins/Language/CPlusPlus/GenericBitset.cpp1
-rw-r--r--lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp1
-rw-r--r--lldb/source/Plugins/Language/CPlusPlus/LibCxxInitializerList.cpp1
-rw-r--r--lldb/source/Plugins/Language/CPlusPlus/LibCxxSpan.cpp1
-rw-r--r--lldb/source/Plugins/Language/CPlusPlus/LibCxxVariant.cpp1
-rw-r--r--lldb/source/Plugins/Language/CPlusPlus/LibCxxVector.cpp1
-rw-r--r--lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp1
-rw-r--r--lldb/source/Plugins/Language/ClangCommon/ClangHighlighter.cpp1
-rw-r--r--lldb/source/Plugins/Language/ClangCommon/ClangHighlighter.h1
-rw-r--r--lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.h1
-rw-r--r--lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.h1
-rw-r--r--lldb/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.cpp1
-rw-r--r--lldb/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.h1
-rw-r--r--lldb/source/Plugins/ObjectContainer/Mach-O-Fileset/ObjectContainerMachOFileset.cpp1
-rw-r--r--lldb/source/Plugins/ObjectFile/Breakpad/BreakpadRecords.cpp1
-rw-r--r--lldb/source/Plugins/ObjectFile/Breakpad/BreakpadRecords.h1
-rw-r--r--lldb/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.cpp1
-rw-r--r--lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp1
-rw-r--r--lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h1
-rw-r--r--lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp1
-rw-r--r--lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h1
-rw-r--r--lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp1
-rw-r--r--lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h1
-rw-r--r--lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.cpp1
-rw-r--r--lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.h1
-rw-r--r--lldb/source/Plugins/Platform/Android/PlatformAndroid.cpp1
-rw-r--r--lldb/source/Plugins/Platform/Android/PlatformAndroidRemoteGDBServer.cpp1
-rw-r--r--lldb/source/Plugins/Platform/Android/PlatformAndroidRemoteGDBServer.h1
-rw-r--r--lldb/source/Plugins/Platform/MacOSX/PlatformAppleSimulator.h1
-rw-r--r--lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp1
-rw-r--r--lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.h1
-rw-r--r--lldb/source/Plugins/Platform/MacOSX/PlatformDarwinDevice.cpp1
-rw-r--r--lldb/source/Plugins/Platform/MacOSX/PlatformRemoteDarwinDevice.cpp1
-rw-r--r--lldb/source/Plugins/Platform/MacOSX/objcxx/PlatformiOSSimulatorCoreSimulatorSupport.h1
-rw-r--r--lldb/source/Plugins/Platform/POSIX/PlatformPOSIX.cpp1
-rw-r--r--lldb/source/Plugins/Platform/Windows/PlatformWindows.cpp1
-rw-r--r--lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp1
-rw-r--r--lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.h1
-rw-r--r--lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_mips64.cpp1
-rw-r--r--lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_mips64.h1
-rw-r--r--lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_powerpc.cpp1
-rw-r--r--lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_powerpc.h1
-rw-r--r--lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_x86_64.cpp1
-rw-r--r--lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_x86_64.h1
-rw-r--r--lldb/source/Plugins/Process/Linux/IntelPTCollector.cpp1
-rw-r--r--lldb/source/Plugins/Process/Linux/IntelPTMultiCoreTrace.cpp1
-rw-r--r--lldb/source/Plugins/Process/Linux/IntelPTMultiCoreTrace.h1
-rw-r--r--lldb/source/Plugins/Process/Linux/IntelPTPerThreadProcessTrace.cpp1
-rw-r--r--lldb/source/Plugins/Process/Linux/IntelPTPerThreadProcessTrace.h1
-rw-r--r--lldb/source/Plugins/Process/Linux/IntelPTProcessTrace.h1
-rw-r--r--lldb/source/Plugins/Process/Linux/IntelPTThreadTraceCollection.cpp1
-rw-r--r--lldb/source/Plugins/Process/Linux/IntelPTThreadTraceCollection.h1
-rw-r--r--lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp1
-rw-r--r--lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux.h1
-rw-r--r--lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp1
-rw-r--r--lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86_64.cpp1
-rw-r--r--lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86_64.h1
-rw-r--r--lldb/source/Plugins/Process/Linux/Procfs.cpp1
-rw-r--r--lldb/source/Plugins/Process/NetBSD/NativeRegisterContextNetBSD_x86_64.cpp1
-rw-r--r--lldb/source/Plugins/Process/NetBSD/NativeRegisterContextNetBSD_x86_64.h1
-rw-r--r--lldb/source/Plugins/Process/POSIX/NativeProcessELF.cpp1
-rw-r--r--lldb/source/Plugins/Process/POSIX/NativeProcessELF.h1
-rw-r--r--lldb/source/Plugins/Process/Utility/AuxVector.cpp1
-rw-r--r--lldb/source/Plugins/Process/Utility/AuxVector.h1
-rw-r--r--lldb/source/Plugins/Process/Utility/LinuxProcMaps.cpp1
-rw-r--r--lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp1
-rw-r--r--lldb/source/Plugins/Process/Utility/StopInfoMachException.h1
-rw-r--r--lldb/source/Plugins/Process/Windows/Common/DebuggerThread.cpp1
-rw-r--r--lldb/source/Plugins/Process/elf-core/RegisterUtilities.cpp1
-rw-r--r--lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp1
-rw-r--r--lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h1
-rw-r--r--lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp1
-rw-r--r--lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp2
-rw-r--r--lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp1
-rw-r--r--lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.h1
-rw-r--r--lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp1
-rw-r--r--lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h1
-rw-r--r--lldb/source/Plugins/Process/minidump/MinidumpParser.cpp1
-rw-r--r--lldb/source/Plugins/Process/minidump/MinidumpParser.h1
-rw-r--r--lldb/source/Plugins/Process/minidump/MinidumpTypes.cpp1
-rw-r--r--lldb/source/Plugins/Process/minidump/MinidumpTypes.h1
-rw-r--r--lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp1
-rw-r--r--lldb/source/Plugins/Process/minidump/ProcessMinidump.h2
-rw-r--r--lldb/source/Plugins/Process/scripted/ScriptedThread.cpp1
-rw-r--r--lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h1
-rw-r--r--lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp1
-rw-r--r--lldb/source/Plugins/ScriptInterpreter/Python/ScriptedProcessPythonInterface.cpp1
-rw-r--r--lldb/source/Plugins/ScriptInterpreter/Python/ScriptedProcessPythonInterface.h1
-rw-r--r--lldb/source/Plugins/ScriptInterpreter/Python/ScriptedPythonInterface.cpp1
-rw-r--r--lldb/source/Plugins/ScriptInterpreter/Python/ScriptedPythonInterface.h1
-rw-r--r--lldb/source/Plugins/ScriptInterpreter/Python/ScriptedThreadPythonInterface.cpp1
-rw-r--r--lldb/source/Plugins/ScriptInterpreter/Python/ScriptedThreadPythonInterface.h1
-rw-r--r--lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.cpp1
-rw-r--r--lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.h1
-rw-r--r--lldb/source/Plugins/SymbolFile/DWARF/DIERef.cpp1
-rw-r--r--lldb/source/Plugins/SymbolFile/DWARF/DIERef.h1
-rw-r--r--lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParser.cpp1
-rw-r--r--lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParser.h1
-rw-r--r--lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp1
-rw-r--r--lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h1
-rw-r--r--lldb/source/Plugins/SymbolFile/DWARF/DWARFBaseDIE.cpp1
-rw-r--r--lldb/source/Plugins/SymbolFile/DWARF/DWARFBaseDIE.h1
-rw-r--r--lldb/source/Plugins/SymbolFile/DWARF/DWARFContext.cpp1
-rw-r--r--lldb/source/Plugins/SymbolFile/DWARF/DWARFContext.h1
-rw-r--r--lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp1
-rw-r--r--lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.h1
-rw-r--r--lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.cpp1
-rw-r--r--lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.h1
-rw-r--r--lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp1
-rw-r--r--lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h1
-rw-r--r--lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp1
-rw-r--r--lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.h1
-rw-r--r--lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp1
-rw-r--r--lldb/source/Plugins/SymbolFile/DWARF/NameToDIE.cpp1
-rw-r--r--lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp1
-rw-r--r--lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h1
-rw-r--r--lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp1
-rw-r--r--lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h1
-rw-r--r--lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp1
-rw-r--r--lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h1
-rw-r--r--lldb/source/Plugins/SymbolFile/NativePDB/CompileUnitIndex.h1
-rw-r--r--lldb/source/Plugins/SymbolFile/NativePDB/DWARFLocationExpression.cpp1
-rw-r--r--lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp1
-rw-r--r--lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.h1
-rw-r--r--lldb/source/Plugins/SymbolFile/NativePDB/PdbIndex.cpp1
-rw-r--r--lldb/source/Plugins/SymbolFile/NativePDB/PdbIndex.h1
-rw-r--r--lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp1
-rw-r--r--lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.h1
-rw-r--r--lldb/source/Plugins/SymbolFile/NativePDB/UdtRecordCompleter.cpp1
-rw-r--r--lldb/source/Plugins/SymbolFile/NativePDB/UdtRecordCompleter.h1
-rw-r--r--lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp1
-rw-r--r--lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp1
-rw-r--r--lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.h1
-rw-r--r--lldb/source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.cpp1
-rw-r--r--lldb/source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.h1
-rw-r--r--lldb/source/Plugins/SymbolVendor/wasm/SymbolVendorWasm.cpp1
-rw-r--r--lldb/source/Plugins/Trace/common/ThreadPostMortemTrace.cpp1
-rw-r--r--lldb/source/Plugins/Trace/common/ThreadPostMortemTrace.h1
-rw-r--r--lldb/source/Plugins/Trace/intel-pt/CommandObjectTraceStartIntelPT.cpp1
-rw-r--r--lldb/source/Plugins/Trace/intel-pt/CommandObjectTraceStartIntelPT.h1
-rw-r--r--lldb/source/Plugins/Trace/intel-pt/DecodedThread.cpp1
-rw-r--r--lldb/source/Plugins/Trace/intel-pt/DecodedThread.h1
-rw-r--r--lldb/source/Plugins/Trace/intel-pt/LibiptDecoder.cpp1
-rw-r--r--lldb/source/Plugins/Trace/intel-pt/LibiptDecoder.h1
-rw-r--r--lldb/source/Plugins/Trace/intel-pt/PerfContextSwitchDecoder.cpp1
-rw-r--r--lldb/source/Plugins/Trace/intel-pt/ThreadDecoder.cpp1
-rw-r--r--lldb/source/Plugins/Trace/intel-pt/ThreadDecoder.h1
-rw-r--r--lldb/source/Plugins/Trace/intel-pt/TraceCursorIntelPT.cpp1
-rw-r--r--lldb/source/Plugins/Trace/intel-pt/TraceCursorIntelPT.h1
-rw-r--r--lldb/source/Plugins/Trace/intel-pt/TraceIntelPT.cpp1
-rw-r--r--lldb/source/Plugins/Trace/intel-pt/TraceIntelPT.h1
-rw-r--r--lldb/source/Plugins/Trace/intel-pt/TraceIntelPTBundleLoader.cpp1
-rw-r--r--lldb/source/Plugins/Trace/intel-pt/TraceIntelPTBundleSaver.cpp1
-rw-r--r--lldb/source/Plugins/Trace/intel-pt/TraceIntelPTConstants.h1
-rw-r--r--lldb/source/Plugins/Trace/intel-pt/TraceIntelPTJSONStructs.cpp1
-rw-r--r--lldb/source/Plugins/Trace/intel-pt/TraceIntelPTJSONStructs.h1
-rw-r--r--lldb/source/Plugins/Trace/intel-pt/TraceIntelPTMultiCpuDecoder.cpp1
-rw-r--r--lldb/source/Plugins/Trace/intel-pt/TraceIntelPTMultiCpuDecoder.h1
-rw-r--r--lldb/source/Plugins/TraceExporter/common/TraceHTR.cpp1
-rw-r--r--lldb/source/Plugins/TraceExporter/common/TraceHTR.h1
-rw-r--r--lldb/source/Plugins/TraceExporter/ctf/CommandObjectThreadTraceExportCTF.h1
-rw-r--r--lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp1
-rw-r--r--lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h1
-rw-r--r--lldb/source/Symbol/CompileUnit.cpp1
-rw-r--r--lldb/source/Symbol/CompilerType.cpp1
-rw-r--r--lldb/source/Symbol/DWARFCallFrameInfo.cpp1
-rw-r--r--lldb/source/Symbol/PostfixExpression.cpp1
-rw-r--r--lldb/source/Symbol/SymbolFileOnDemand.cpp1
-rw-r--r--lldb/source/Symbol/Type.cpp1
-rw-r--r--lldb/source/Symbol/TypeSystem.cpp1
-rw-r--r--lldb/source/Symbol/UnwindPlan.cpp1
-rw-r--r--lldb/source/Symbol/UnwindTable.cpp1
-rw-r--r--lldb/source/Target/MemoryTagMap.cpp1
-rw-r--r--lldb/source/Target/PathMappingList.cpp1
-rw-r--r--lldb/source/Target/Platform.cpp1
-rw-r--r--lldb/source/Target/Process.cpp1
-rw-r--r--lldb/source/Target/RemoteAwarePlatform.cpp1
-rw-r--r--lldb/source/Target/Target.cpp1
-rw-r--r--lldb/source/Target/Thread.cpp1
-rw-r--r--lldb/source/Target/Trace.cpp1
-rw-r--r--lldb/source/Target/TraceDumper.cpp1
-rw-r--r--lldb/source/Target/UnixSignals.cpp1
-rw-r--r--lldb/source/Utility/Diagnostics.cpp1
-rw-r--r--lldb/source/Utility/FileSpec.cpp1
-rw-r--r--lldb/source/Utility/ProcessInfo.cpp1
-rw-r--r--lldb/source/Utility/SelectHelper.cpp1
-rw-r--r--lldb/source/Utility/StringExtractorGDBRemote.cpp1
-rw-r--r--lldb/source/Utility/UriParser.cpp1
-rw-r--r--lldb/source/Utility/UserIDResolver.cpp1
-rw-r--r--lldb/tools/lldb-server/Acceptor.cpp1
-rw-r--r--lldb/tools/lldb-server/lldb-platform.cpp1
-rw-r--r--lldb/tools/lldb-test/lldb-test.cpp1
-rw-r--r--lldb/tools/lldb-vscode/FifoFiles.cpp1
-rw-r--r--lldb/tools/lldb-vscode/JSONUtils.cpp1
-rw-r--r--lldb/tools/lldb-vscode/JSONUtils.h1
-rw-r--r--lldb/tools/lldb-vscode/ProgressEvent.cpp1
-rw-r--r--lldb/tools/lldb-vscode/ProgressEvent.h1
-rw-r--r--lldb/unittests/DataFormatter/StringPrinterTests.cpp1
-rw-r--r--lldb/unittests/Language/CPlusPlus/CPlusPlusLanguageTest.cpp1
-rw-r--r--lldb/unittests/Language/Highlighting/HighlighterTest.cpp1
-rw-r--r--lldb/unittests/Platform/PlatformSiginfoTest.cpp1
-rw-r--r--lldb/unittests/Process/gdb-remote/GDBRemoteCommunicationClientTest.cpp1
-rw-r--r--lldb/unittests/Process/minidump/MinidumpParserTest.cpp1
-rw-r--r--lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp1
-rw-r--r--lldb/unittests/Symbol/TestLineEntry.cpp1
-rw-r--r--lldb/unittests/Target/FindFileTest.cpp1
-rw-r--r--lldb/unittests/Target/MemoryTagMapTest.cpp1
-rw-r--r--lldb/unittests/TestingSupport/Symbol/YAMLModuleTester.h1
-rw-r--r--lldb/unittests/Utility/ProcessInstanceInfoTest.cpp1
-rw-r--r--lldb/unittests/Utility/RegisterValueTest.cpp1
-rw-r--r--lldb/unittests/Utility/UserIDResolverTest.cpp1
-rw-r--r--lldb/unittests/tools/lldb-server/tests/TestClient.h1
383 files changed, 383 insertions, 2 deletions
diff --git a/lldb/include/lldb/Breakpoint/BreakpointID.h b/lldb/include/lldb/Breakpoint/BreakpointID.h
index d3d75f8..4d171f0 100644
--- a/lldb/include/lldb/Breakpoint/BreakpointID.h
+++ b/lldb/include/lldb/Breakpoint/BreakpointID.h
@@ -14,6 +14,7 @@
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/Optional.h"
#include "llvm/ADT/StringRef.h"
+#include <optional>
namespace lldb_private {
diff --git a/lldb/include/lldb/Breakpoint/BreakpointResolver.h b/lldb/include/lldb/Breakpoint/BreakpointResolver.h
index 0e99346..6c71f19 100644
--- a/lldb/include/lldb/Breakpoint/BreakpointResolver.h
+++ b/lldb/include/lldb/Breakpoint/BreakpointResolver.h
@@ -16,6 +16,7 @@
#include "lldb/Utility/FileSpec.h"
#include "lldb/Utility/RegularExpression.h"
#include "lldb/lldb-private.h"
+#include <optional>
namespace lldb_private {
diff --git a/lldb/include/lldb/Breakpoint/BreakpointResolverFileLine.h b/lldb/include/lldb/Breakpoint/BreakpointResolverFileLine.h
index b3ccba5..5bf8d3e 100644
--- a/lldb/include/lldb/Breakpoint/BreakpointResolverFileLine.h
+++ b/lldb/include/lldb/Breakpoint/BreakpointResolverFileLine.h
@@ -11,6 +11,7 @@
#include "lldb/Breakpoint/BreakpointResolver.h"
#include "lldb/Core/SourceLocationSpec.h"
+#include <optional>
namespace lldb_private {
diff --git a/lldb/include/lldb/Core/DataFileCache.h b/lldb/include/lldb/Core/DataFileCache.h
index b6c7123..4ad943c 100644
--- a/lldb/include/lldb/Core/DataFileCache.h
+++ b/lldb/include/lldb/Core/DataFileCache.h
@@ -19,6 +19,7 @@
#include "llvm/Support/MemoryBuffer.h"
#include <mutex>
+#include <optional>
namespace lldb_private {
diff --git a/lldb/include/lldb/Core/Debugger.h b/lldb/include/lldb/Core/Debugger.h
index 2f63076..636ac23 100644
--- a/lldb/include/lldb/Core/Debugger.h
+++ b/lldb/include/lldb/Core/Debugger.h
@@ -12,6 +12,7 @@
#include <cstdint>
#include <memory>
+#include <optional>
#include <vector>
#include "lldb/Core/DebuggerEvents.h"
diff --git a/lldb/include/lldb/Core/EmulateInstruction.h b/lldb/include/lldb/Core/EmulateInstruction.h
index 64633e9..2168802 100644
--- a/lldb/include/lldb/Core/EmulateInstruction.h
+++ b/lldb/include/lldb/Core/EmulateInstruction.h
@@ -9,6 +9,7 @@
#ifndef LLDB_CORE_EMULATEINSTRUCTION_H
#define LLDB_CORE_EMULATEINSTRUCTION_H
+#include <optional>
#include <string>
#include "lldb/Core/Address.h"
diff --git a/lldb/include/lldb/Core/Highlighter.h b/lldb/include/lldb/Core/Highlighter.h
index b138e57a..258d47c 100644
--- a/lldb/include/lldb/Core/Highlighter.h
+++ b/lldb/include/lldb/Core/Highlighter.h
@@ -9,6 +9,7 @@
#ifndef LLDB_CORE_HIGHLIGHTER_H
#define LLDB_CORE_HIGHLIGHTER_H
+#include <optional>
#include <utility>
#include <vector>
diff --git a/lldb/include/lldb/Core/IOHandler.h b/lldb/include/lldb/Core/IOHandler.h
index 02502e4..f2f9fa0 100644
--- a/lldb/include/lldb/Core/IOHandler.h
+++ b/lldb/include/lldb/Core/IOHandler.h
@@ -23,6 +23,7 @@
#include <memory>
#include <mutex>
+#include <optional>
#include <string>
#include <vector>
diff --git a/lldb/include/lldb/Core/Module.h b/lldb/include/lldb/Core/Module.h
index f7c5971..8ea6a27 100644
--- a/lldb/include/lldb/Core/Module.h
+++ b/lldb/include/lldb/Core/Module.h
@@ -38,6 +38,7 @@
#include <cstdint>
#include <memory>
#include <mutex>
+#include <optional>
#include <string>
#include <vector>
diff --git a/lldb/include/lldb/Core/Progress.h b/lldb/include/lldb/Core/Progress.h
index f625d01..9238647 100644
--- a/lldb/include/lldb/Core/Progress.h
+++ b/lldb/include/lldb/Core/Progress.h
@@ -13,6 +13,7 @@
#include "lldb/lldb-types.h"
#include <atomic>
#include <mutex>
+#include <optional>
namespace lldb_private {
diff --git a/lldb/include/lldb/Core/SourceLocationSpec.h b/lldb/include/lldb/Core/SourceLocationSpec.h
index 5463b40..8fbb32a 100644
--- a/lldb/include/lldb/Core/SourceLocationSpec.h
+++ b/lldb/include/lldb/Core/SourceLocationSpec.h
@@ -13,6 +13,7 @@
#include "lldb/lldb-defines.h"
#include "llvm/ADT/Optional.h"
+#include <optional>
#include <string>
namespace lldb_private {
diff --git a/lldb/include/lldb/Core/SourceManager.h b/lldb/include/lldb/Core/SourceManager.h
index 5f2c1de..382b206 100644
--- a/lldb/include/lldb/Core/SourceManager.h
+++ b/lldb/include/lldb/Core/SourceManager.h
@@ -19,6 +19,7 @@
#include <cstdint>
#include <map>
#include <memory>
+#include <optional>
#include <string>
#include <vector>
diff --git a/lldb/include/lldb/Core/ValueObject.h b/lldb/include/lldb/Core/ValueObject.h
index 58a0535..0f3ae9b 100644
--- a/lldb/include/lldb/Core/ValueObject.h
+++ b/lldb/include/lldb/Core/ValueObject.h
@@ -34,6 +34,7 @@
#include <initializer_list>
#include <map>
#include <mutex>
+#include <optional>
#include <string>
#include <utility>
diff --git a/lldb/include/lldb/Core/ValueObjectCast.h b/lldb/include/lldb/Core/ValueObjectCast.h
index 84cf1335..b9604ff 100644
--- a/lldb/include/lldb/Core/ValueObjectCast.h
+++ b/lldb/include/lldb/Core/ValueObjectCast.h
@@ -17,6 +17,7 @@
#include <cstddef>
#include <cstdint>
+#include <optional>
namespace lldb_private {
class ConstString;
diff --git a/lldb/include/lldb/Core/ValueObjectChild.h b/lldb/include/lldb/Core/ValueObjectChild.h
index 8a7a7f1..949b90e 100644
--- a/lldb/include/lldb/Core/ValueObjectChild.h
+++ b/lldb/include/lldb/Core/ValueObjectChild.h
@@ -22,6 +22,7 @@
#include <cstddef>
#include <cstdint>
+#include <optional>
namespace lldb_private {
diff --git a/lldb/include/lldb/Core/ValueObjectConstResult.h b/lldb/include/lldb/Core/ValueObjectConstResult.h
index 58cda6f..3625828 100644
--- a/lldb/include/lldb/Core/ValueObjectConstResult.h
+++ b/lldb/include/lldb/Core/ValueObjectConstResult.h
@@ -23,6 +23,7 @@
#include <cstddef>
#include <cstdint>
+#include <optional>
namespace lldb_private {
class DataExtractor;
diff --git a/lldb/include/lldb/Core/ValueObjectDynamicValue.h b/lldb/include/lldb/Core/ValueObjectDynamicValue.h
index a36db44..36d9be9 100644
--- a/lldb/include/lldb/Core/ValueObjectDynamicValue.h
+++ b/lldb/include/lldb/Core/ValueObjectDynamicValue.h
@@ -22,6 +22,7 @@
#include <cassert>
#include <cstddef>
#include <cstdint>
+#include <optional>
namespace lldb_private {
class DataExtractor;
diff --git a/lldb/include/lldb/Core/ValueObjectMemory.h b/lldb/include/lldb/Core/ValueObjectMemory.h
index 83671a7..2666ff4 100644
--- a/lldb/include/lldb/Core/ValueObjectMemory.h
+++ b/lldb/include/lldb/Core/ValueObjectMemory.h
@@ -20,6 +20,7 @@
#include <cstddef>
#include <cstdint>
+#include <optional>
namespace lldb_private {
class ExecutionContextScope;
diff --git a/lldb/include/lldb/Core/ValueObjectRegister.h b/lldb/include/lldb/Core/ValueObjectRegister.h
index 20a7411..9277eaa 100644
--- a/lldb/include/lldb/Core/ValueObjectRegister.h
+++ b/lldb/include/lldb/Core/ValueObjectRegister.h
@@ -20,6 +20,7 @@
#include <cstddef>
#include <cstdint>
+#include <optional>
namespace lldb_private {
class DataExtractor;
diff --git a/lldb/include/lldb/Core/ValueObjectSyntheticFilter.h b/lldb/include/lldb/Core/ValueObjectSyntheticFilter.h
index f7a2330..27d25fb 100644
--- a/lldb/include/lldb/Core/ValueObjectSyntheticFilter.h
+++ b/lldb/include/lldb/Core/ValueObjectSyntheticFilter.h
@@ -19,6 +19,7 @@
#include <cstdint>
#include <memory>
+#include <optional>
#include <cstddef>
diff --git a/lldb/include/lldb/Core/ValueObjectVariable.h b/lldb/include/lldb/Core/ValueObjectVariable.h
index cbf7e5b..23be7ae 100644
--- a/lldb/include/lldb/Core/ValueObjectVariable.h
+++ b/lldb/include/lldb/Core/ValueObjectVariable.h
@@ -20,6 +20,7 @@
#include <cstddef>
#include <cstdint>
+#include <optional>
namespace lldb_private {
class DataExtractor;
diff --git a/lldb/include/lldb/Expression/ExpressionVariable.h b/lldb/include/lldb/Expression/ExpressionVariable.h
index de700b67..d1a3261 100644
--- a/lldb/include/lldb/Expression/ExpressionVariable.h
+++ b/lldb/include/lldb/Expression/ExpressionVariable.h
@@ -10,6 +10,7 @@
#define LLDB_EXPRESSION_EXPRESSIONVARIABLE_H
#include <memory>
+#include <optional>
#include <vector>
#include "llvm/ADT/DenseMap.h"
diff --git a/lldb/include/lldb/Host/Editline.h b/lldb/include/lldb/Host/Editline.h
index ffe2e35..ee92121 100644
--- a/lldb/include/lldb/Host/Editline.h
+++ b/lldb/include/lldb/Host/Editline.h
@@ -46,6 +46,7 @@
#include <csignal>
#include <mutex>
+#include <optional>
#include <string>
#include <vector>
diff --git a/lldb/include/lldb/Host/File.h b/lldb/include/lldb/Host/File.h
index 6d4d7dd..85c1ae8 100644
--- a/lldb/include/lldb/Host/File.h
+++ b/lldb/include/lldb/Host/File.h
@@ -19,6 +19,7 @@
#include <cstdarg>
#include <cstdio>
#include <mutex>
+#include <optional>
#include <sys/types.h>
namespace lldb_private {
diff --git a/lldb/include/lldb/Host/FileSystem.h b/lldb/include/lldb/Host/FileSystem.h
index 8a4ee84..52242ac 100644
--- a/lldb/include/lldb/Host/FileSystem.h
+++ b/lldb/include/lldb/Host/FileSystem.h
@@ -22,6 +22,7 @@
#include <cstdint>
#include <cstdio>
+#include <optional>
#include <sys/stat.h>
namespace lldb_private {
diff --git a/lldb/include/lldb/Host/HostInfoBase.h b/lldb/include/lldb/Host/HostInfoBase.h
index 38c488c..11a50cf 100644
--- a/lldb/include/lldb/Host/HostInfoBase.h
+++ b/lldb/include/lldb/Host/HostInfoBase.h
@@ -19,6 +19,7 @@
#include <cstdint>
+#include <optional>
#include <string>
namespace lldb_private {
diff --git a/lldb/include/lldb/Host/common/NativeProcessProtocol.h b/lldb/include/lldb/Host/common/NativeProcessProtocol.h
index 37dacca..b1d6638 100644
--- a/lldb/include/lldb/Host/common/NativeProcessProtocol.h
+++ b/lldb/include/lldb/Host/common/NativeProcessProtocol.h
@@ -27,6 +27,7 @@
#include "llvm/Support/Error.h"
#include "llvm/Support/MemoryBuffer.h"
#include <mutex>
+#include <optional>
#include <unordered_map>
#include <vector>
diff --git a/lldb/include/lldb/Host/freebsd/HostInfoFreeBSD.h b/lldb/include/lldb/Host/freebsd/HostInfoFreeBSD.h
index b2f3f08..1d7d8fe 100644
--- a/lldb/include/lldb/Host/freebsd/HostInfoFreeBSD.h
+++ b/lldb/include/lldb/Host/freebsd/HostInfoFreeBSD.h
@@ -12,6 +12,7 @@
#include "lldb/Host/posix/HostInfoPosix.h"
#include "lldb/Utility/FileSpec.h"
#include "llvm/Support/VersionTuple.h"
+#include <optional>
namespace lldb_private {
diff --git a/lldb/include/lldb/Host/linux/Host.h b/lldb/include/lldb/Host/linux/Host.h
index 409a9fc..f17c5b6 100644
--- a/lldb/include/lldb/Host/linux/Host.h
+++ b/lldb/include/lldb/Host/linux/Host.h
@@ -11,6 +11,7 @@
#include "lldb/lldb-types.h"
#include "llvm/ADT/Optional.h"
+#include <optional>
namespace lldb_private {
diff --git a/lldb/include/lldb/Host/linux/HostInfoLinux.h b/lldb/include/lldb/Host/linux/HostInfoLinux.h
index e2167b8..6cf4ace 100644
--- a/lldb/include/lldb/Host/linux/HostInfoLinux.h
+++ b/lldb/include/lldb/Host/linux/HostInfoLinux.h
@@ -14,6 +14,7 @@
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/VersionTuple.h"
+#include <optional>
#include <string>
namespace lldb_private {
diff --git a/lldb/include/lldb/Host/macosx/HostInfoMacOSX.h b/lldb/include/lldb/Host/macosx/HostInfoMacOSX.h
index 913af1f..ebe77c6 100644
--- a/lldb/include/lldb/Host/macosx/HostInfoMacOSX.h
+++ b/lldb/include/lldb/Host/macosx/HostInfoMacOSX.h
@@ -13,6 +13,7 @@
#include "lldb/Utility/FileSpec.h"
#include "lldb/Utility/XcodeSDK.h"
#include "llvm/Support/VersionTuple.h"
+#include <optional>
namespace lldb_private {
diff --git a/lldb/include/lldb/Host/netbsd/HostInfoNetBSD.h b/lldb/include/lldb/Host/netbsd/HostInfoNetBSD.h
index 32644ce..2024af7 100644
--- a/lldb/include/lldb/Host/netbsd/HostInfoNetBSD.h
+++ b/lldb/include/lldb/Host/netbsd/HostInfoNetBSD.h
@@ -12,6 +12,7 @@
#include "lldb/Host/posix/HostInfoPosix.h"
#include "lldb/Utility/FileSpec.h"
#include "llvm/Support/VersionTuple.h"
+#include <optional>
namespace lldb_private {
diff --git a/lldb/include/lldb/Host/openbsd/HostInfoOpenBSD.h b/lldb/include/lldb/Host/openbsd/HostInfoOpenBSD.h
index 01879ad..9746deb 100644
--- a/lldb/include/lldb/Host/openbsd/HostInfoOpenBSD.h
+++ b/lldb/include/lldb/Host/openbsd/HostInfoOpenBSD.h
@@ -12,6 +12,7 @@
#include "lldb/Host/posix/HostInfoPosix.h"
#include "lldb/Utility/FileSpec.h"
#include "llvm/Support/VersionTuple.h"
+#include <optional>
namespace lldb_private {
diff --git a/lldb/include/lldb/Host/posix/HostInfoPosix.h b/lldb/include/lldb/Host/posix/HostInfoPosix.h
index f1ff6b8..407fa49 100644
--- a/lldb/include/lldb/Host/posix/HostInfoPosix.h
+++ b/lldb/include/lldb/Host/posix/HostInfoPosix.h
@@ -11,6 +11,7 @@
#include "lldb/Host/HostInfoBase.h"
#include "lldb/Utility/FileSpec.h"
+#include <optional>
namespace lldb_private {
diff --git a/lldb/include/lldb/Host/windows/HostInfoWindows.h b/lldb/include/lldb/Host/windows/HostInfoWindows.h
index d359ee2..b8381fa 100644
--- a/lldb/include/lldb/Host/windows/HostInfoWindows.h
+++ b/lldb/include/lldb/Host/windows/HostInfoWindows.h
@@ -12,6 +12,7 @@
#include "lldb/Host/HostInfoBase.h"
#include "lldb/Utility/FileSpec.h"
#include "llvm/Support/VersionTuple.h"
+#include <optional>
namespace lldb_private {
class UserIDResolver;
diff --git a/lldb/include/lldb/Interpreter/CommandHistory.h b/lldb/include/lldb/Interpreter/CommandHistory.h
index 12c170b..60a2df3 100644
--- a/lldb/include/lldb/Interpreter/CommandHistory.h
+++ b/lldb/include/lldb/Interpreter/CommandHistory.h
@@ -10,6 +10,7 @@
#define LLDB_INTERPRETER_COMMANDHISTORY_H
#include <mutex>
+#include <optional>
#include <string>
#include <vector>
diff --git a/lldb/include/lldb/Interpreter/CommandInterpreter.h b/lldb/include/lldb/Interpreter/CommandInterpreter.h
index fecfbf5..e73999e 100644
--- a/lldb/include/lldb/Interpreter/CommandInterpreter.h
+++ b/lldb/include/lldb/Interpreter/CommandInterpreter.h
@@ -26,6 +26,7 @@
#include "lldb/lldb-private.h"
#include <mutex>
+#include <optional>
#include <stack>
namespace lldb_private {
diff --git a/lldb/include/lldb/Interpreter/CommandObject.h b/lldb/include/lldb/Interpreter/CommandObject.h
index 8ac251c..cebd8a3 100644
--- a/lldb/include/lldb/Interpreter/CommandObject.h
+++ b/lldb/include/lldb/Interpreter/CommandObject.h
@@ -11,6 +11,7 @@
#include <map>
#include <memory>
+#include <optional>
#include <string>
#include <vector>
diff --git a/lldb/include/lldb/Interpreter/CommandObjectMultiword.h b/lldb/include/lldb/Interpreter/CommandObjectMultiword.h
index a8ab6e4..4414011 100644
--- a/lldb/include/lldb/Interpreter/CommandObjectMultiword.h
+++ b/lldb/include/lldb/Interpreter/CommandObjectMultiword.h
@@ -11,6 +11,7 @@
#include "lldb/Interpreter/CommandObject.h"
#include "lldb/Utility/CompletionRequest.h"
+#include <optional>
namespace lldb_private {
diff --git a/lldb/include/lldb/Interpreter/ScriptInterpreter.h b/lldb/include/lldb/Interpreter/ScriptInterpreter.h
index f34ce43..548b84f 100644
--- a/lldb/include/lldb/Interpreter/ScriptInterpreter.h
+++ b/lldb/include/lldb/Interpreter/ScriptInterpreter.h
@@ -23,6 +23,7 @@
#include "lldb/Utility/Status.h"
#include "lldb/Utility/StructuredData.h"
#include "lldb/lldb-private.h"
+#include <optional>
namespace lldb_private {
diff --git a/lldb/include/lldb/Interpreter/ScriptedProcessInterface.h b/lldb/include/lldb/Interpreter/ScriptedProcessInterface.h
index dfa2257..beaadb3 100644
--- a/lldb/include/lldb/Interpreter/ScriptedProcessInterface.h
+++ b/lldb/include/lldb/Interpreter/ScriptedProcessInterface.h
@@ -15,6 +15,7 @@
#include "lldb/lldb-private.h"
+#include <optional>
#include <string>
namespace lldb_private {
diff --git a/lldb/include/lldb/Symbol/CompilerType.h b/lldb/include/lldb/Symbol/CompilerType.h
index 9a010c2..818420f 100644
--- a/lldb/include/lldb/Symbol/CompilerType.h
+++ b/lldb/include/lldb/Symbol/CompilerType.h
@@ -10,6 +10,7 @@
#define LLDB_SYMBOL_COMPILERTYPE_H
#include <functional>
+#include <optional>
#include <string>
#include <vector>
diff --git a/lldb/include/lldb/Symbol/DWARFCallFrameInfo.h b/lldb/include/lldb/Symbol/DWARFCallFrameInfo.h
index 199d23e..be70ac4 100644
--- a/lldb/include/lldb/Symbol/DWARFCallFrameInfo.h
+++ b/lldb/include/lldb/Symbol/DWARFCallFrameInfo.h
@@ -11,6 +11,7 @@
#include <map>
#include <mutex>
+#include <optional>
#include "lldb/Core/AddressRange.h"
#include "lldb/Core/dwarf.h"
diff --git a/lldb/include/lldb/Symbol/ObjectFile.h b/lldb/include/lldb/Symbol/ObjectFile.h
index 264f9fe..f0e1611 100644
--- a/lldb/include/lldb/Symbol/ObjectFile.h
+++ b/lldb/include/lldb/Symbol/ObjectFile.h
@@ -22,6 +22,7 @@
#include "llvm/ADT/Optional.h"
#include "llvm/Support/Threading.h"
#include "llvm/Support/VersionTuple.h"
+#include <optional>
namespace lldb_private {
diff --git a/lldb/include/lldb/Symbol/SymbolFile.h b/lldb/include/lldb/Symbol/SymbolFile.h
index e6ba4c7..b4f378f 100644
--- a/lldb/include/lldb/Symbol/SymbolFile.h
+++ b/lldb/include/lldb/Symbol/SymbolFile.h
@@ -28,6 +28,7 @@
#include "llvm/Support/Errc.h"
#include <mutex>
+#include <optional>
#if defined(LLDB_CONFIGURATION_DEBUG)
#define ASSERT_MODULE_LOCK(expr) (expr->AssertModuleLock())
diff --git a/lldb/include/lldb/Symbol/SymbolFileOnDemand.h b/lldb/include/lldb/Symbol/SymbolFileOnDemand.h
index a0c8b2d..fc9c5800 100644
--- a/lldb/include/lldb/Symbol/SymbolFileOnDemand.h
+++ b/lldb/include/lldb/Symbol/SymbolFileOnDemand.h
@@ -10,6 +10,7 @@
#define LLDB_SYMBOL_SYMBOLFILEONDEMAND_H
#include <mutex>
+#include <optional>
#include <vector>
#include "lldb/Symbol/ObjectFile.h"
diff --git a/lldb/include/lldb/Symbol/Type.h b/lldb/include/lldb/Symbol/Type.h
index ff0d0c3..045db47 100644
--- a/lldb/include/lldb/Symbol/Type.h
+++ b/lldb/include/lldb/Symbol/Type.h
@@ -18,6 +18,7 @@
#include "llvm/ADT/APSInt.h"
+#include <optional>
#include <set>
namespace lldb_private {
diff --git a/lldb/include/lldb/Symbol/TypeSystem.h b/lldb/include/lldb/Symbol/TypeSystem.h
index 02dafda..c3b0ef8 100644
--- a/lldb/include/lldb/Symbol/TypeSystem.h
+++ b/lldb/include/lldb/Symbol/TypeSystem.h
@@ -11,6 +11,7 @@
#include <functional>
#include <mutex>
+#include <optional>
#include <string>
#include "llvm/ADT/APFloat.h"
diff --git a/lldb/include/lldb/Symbol/UnwindTable.h b/lldb/include/lldb/Symbol/UnwindTable.h
index 9548b1f..b5e56d3 100644
--- a/lldb/include/lldb/Symbol/UnwindTable.h
+++ b/lldb/include/lldb/Symbol/UnwindTable.h
@@ -11,6 +11,7 @@
#include <map>
#include <mutex>
+#include <optional>
#include "lldb/lldb-private.h"
diff --git a/lldb/include/lldb/Target/LanguageRuntime.h b/lldb/include/lldb/Target/LanguageRuntime.h
index 502a7e3..5cd779f 100644
--- a/lldb/include/lldb/Target/LanguageRuntime.h
+++ b/lldb/include/lldb/Target/LanguageRuntime.h
@@ -21,6 +21,7 @@
#include "lldb/Target/Runtime.h"
#include "lldb/lldb-private.h"
#include "lldb/lldb-public.h"
+#include <optional>
namespace lldb_private {
diff --git a/lldb/include/lldb/Target/MemoryRegionInfo.h b/lldb/include/lldb/Target/MemoryRegionInfo.h
index bfb8cc4..1bb7054 100644
--- a/lldb/include/lldb/Target/MemoryRegionInfo.h
+++ b/lldb/include/lldb/Target/MemoryRegionInfo.h
@@ -10,6 +10,7 @@
#ifndef LLDB_TARGET_MEMORYREGIONINFO_H
#define LLDB_TARGET_MEMORYREGIONINFO_H
+#include <optional>
#include <vector>
#include "lldb/Utility/ConstString.h"
diff --git a/lldb/include/lldb/Target/MemoryTagMap.h b/lldb/include/lldb/Target/MemoryTagMap.h
index a2b4a31..953eb32 100644
--- a/lldb/include/lldb/Target/MemoryTagMap.h
+++ b/lldb/include/lldb/Target/MemoryTagMap.h
@@ -13,6 +13,7 @@
#include "lldb/lldb-private.h"
#include "llvm/ADT/Optional.h"
#include <map>
+#include <optional>
namespace lldb_private {
diff --git a/lldb/include/lldb/Target/PathMappingList.h b/lldb/include/lldb/Target/PathMappingList.h
index 1f1555a..37267d9 100644
--- a/lldb/include/lldb/Target/PathMappingList.h
+++ b/lldb/include/lldb/Target/PathMappingList.h
@@ -13,6 +13,7 @@
#include "lldb/Utility/Status.h"
#include "llvm/Support/JSON.h"
#include <map>
+#include <optional>
#include <vector>
namespace lldb_private {
diff --git a/lldb/include/lldb/Target/Platform.h b/lldb/include/lldb/Target/Platform.h
index ba105ff..c4073b1 100644
--- a/lldb/include/lldb/Target/Platform.h
+++ b/lldb/include/lldb/Target/Platform.h
@@ -13,6 +13,7 @@
#include <map>
#include <memory>
#include <mutex>
+#include <optional>
#include <string>
#include <vector>
diff --git a/lldb/include/lldb/Target/RemoteAwarePlatform.h b/lldb/include/lldb/Target/RemoteAwarePlatform.h
index f2a4ffa..8354b498 100644
--- a/lldb/include/lldb/Target/RemoteAwarePlatform.h
+++ b/lldb/include/lldb/Target/RemoteAwarePlatform.h
@@ -10,6 +10,7 @@
#define LLDB_TARGET_REMOTEAWAREPLATFORM_H
#include "lldb/Target/Platform.h"
+#include <optional>
namespace lldb_private {
diff --git a/lldb/include/lldb/Target/StackFrameRecognizer.h b/lldb/include/lldb/Target/StackFrameRecognizer.h
index 64be759..e14df80 100644
--- a/lldb/include/lldb/Target/StackFrameRecognizer.h
+++ b/lldb/include/lldb/Target/StackFrameRecognizer.h
@@ -17,6 +17,7 @@
#include "lldb/lldb-private-forward.h"
#include "lldb/lldb-public.h"
+#include <optional>
#include <vector>
namespace lldb_private {
diff --git a/lldb/include/lldb/Target/Statistics.h b/lldb/include/lldb/Target/Statistics.h
index 485de9f..2be51ac 100644
--- a/lldb/include/lldb/Target/Statistics.h
+++ b/lldb/include/lldb/Target/Statistics.h
@@ -16,6 +16,7 @@
#include "llvm/Support/JSON.h"
#include <atomic>
#include <chrono>
+#include <optional>
#include <ratio>
#include <string>
#include <vector>
diff --git a/lldb/include/lldb/Target/Trace.h b/lldb/include/lldb/Target/Trace.h
index 917e669..bf6b24f 100644
--- a/lldb/include/lldb/Target/Trace.h
+++ b/lldb/include/lldb/Target/Trace.h
@@ -9,6 +9,7 @@
#ifndef LLDB_TARGET_TRACE_H
#define LLDB_TARGET_TRACE_H
+#include <optional>
#include <unordered_map>
#include "llvm/Support/JSON.h"
diff --git a/lldb/include/lldb/Target/TraceCursor.h b/lldb/include/lldb/Target/TraceCursor.h
index 87d5eed..576b370 100644
--- a/lldb/include/lldb/Target/TraceCursor.h
+++ b/lldb/include/lldb/Target/TraceCursor.h
@@ -12,6 +12,7 @@
#include "lldb/lldb-private.h"
#include "lldb/Target/ExecutionContext.h"
+#include <optional>
namespace lldb_private {
diff --git a/lldb/include/lldb/Target/UnixSignals.h b/lldb/include/lldb/Target/UnixSignals.h
index 6646078..52761ae 100644
--- a/lldb/include/lldb/Target/UnixSignals.h
+++ b/lldb/include/lldb/Target/UnixSignals.h
@@ -10,6 +10,7 @@
#define LLDB_TARGET_UNIXSIGNALS_H
#include <map>
+#include <optional>
#include <string>
#include <vector>
diff --git a/lldb/include/lldb/Utility/Diagnostics.h b/lldb/include/lldb/Utility/Diagnostics.h
index d4041d5..f9246f1 100644
--- a/lldb/include/lldb/Utility/Diagnostics.h
+++ b/lldb/include/lldb/Utility/Diagnostics.h
@@ -18,6 +18,7 @@
#include <functional>
#include <mutex>
+#include <optional>
#include <vector>
namespace lldb_private {
diff --git a/lldb/include/lldb/Utility/FileSpec.h b/lldb/include/lldb/Utility/FileSpec.h
index 3f02412..b191865 100644
--- a/lldb/include/lldb/Utility/FileSpec.h
+++ b/lldb/include/lldb/Utility/FileSpec.h
@@ -10,6 +10,7 @@
#define LLDB_UTILITY_FILESPEC_H
#include <functional>
+#include <optional>
#include <string>
#include "lldb/Utility/ConstString.h"
diff --git a/lldb/include/lldb/Utility/Predicate.h b/lldb/include/lldb/Utility/Predicate.h
index 9b65ec1..5d598fb 100644
--- a/lldb/include/lldb/Utility/Predicate.h
+++ b/lldb/include/lldb/Utility/Predicate.h
@@ -14,6 +14,7 @@
#include <condition_variable>
#include <mutex>
+#include <optional>
#include "lldb/Utility/Timeout.h"
#include "lldb/lldb-defines.h"
diff --git a/lldb/include/lldb/Utility/SelectHelper.h b/lldb/include/lldb/Utility/SelectHelper.h
index 63f1fe6..c2963d8 100644
--- a/lldb/include/lldb/Utility/SelectHelper.h
+++ b/lldb/include/lldb/Utility/SelectHelper.h
@@ -16,6 +16,7 @@
#include "llvm/ADT/Optional.h"
#include <chrono>
+#include <optional>
class SelectHelper {
public:
diff --git a/lldb/include/lldb/Utility/StringExtractorGDBRemote.h b/lldb/include/lldb/Utility/StringExtractorGDBRemote.h
index 1c03ed1..6f8c34b 100644
--- a/lldb/include/lldb/Utility/StringExtractorGDBRemote.h
+++ b/lldb/include/lldb/Utility/StringExtractorGDBRemote.h
@@ -13,6 +13,7 @@
#include "lldb/Utility/StringExtractor.h"
#include "llvm/ADT/StringRef.h"
+#include <optional>
#include <string>
#include <cstddef>
diff --git a/lldb/include/lldb/Utility/Timeout.h b/lldb/include/lldb/Utility/Timeout.h
index 1a9e595..603cf06 100644
--- a/lldb/include/lldb/Utility/Timeout.h
+++ b/lldb/include/lldb/Utility/Timeout.h
@@ -12,6 +12,7 @@
#include "llvm/ADT/Optional.h"
#include "llvm/Support/Chrono.h"
#include "llvm/Support/FormatProviders.h"
+#include <optional>
namespace lldb_private {
diff --git a/lldb/include/lldb/Utility/UriParser.h b/lldb/include/lldb/Utility/UriParser.h
index 035e44d..2722b4a 100644
--- a/lldb/include/lldb/Utility/UriParser.h
+++ b/lldb/include/lldb/Utility/UriParser.h
@@ -11,6 +11,7 @@
#include "llvm/ADT/Optional.h"
#include "llvm/ADT/StringRef.h"
+#include <optional>
namespace llvm {
class raw_ostream;
diff --git a/lldb/include/lldb/Utility/UserIDResolver.h b/lldb/include/lldb/Utility/UserIDResolver.h
index 15afafd..7caa0a1 100644
--- a/lldb/include/lldb/Utility/UserIDResolver.h
+++ b/lldb/include/lldb/Utility/UserIDResolver.h
@@ -13,6 +13,7 @@
#include "llvm/ADT/Optional.h"
#include "llvm/ADT/StringRef.h"
#include <mutex>
+#include <optional>
namespace lldb_private {
diff --git a/lldb/source/API/SBCommandInterpreter.cpp b/lldb/source/API/SBCommandInterpreter.cpp
index 91a52ef..5a48dc8 100644
--- a/lldb/source/API/SBCommandInterpreter.cpp
+++ b/lldb/source/API/SBCommandInterpreter.cpp
@@ -28,6 +28,7 @@
#include "lldb/API/SBTarget.h"
#include <memory>
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/API/SBMemoryRegionInfo.cpp b/lldb/source/API/SBMemoryRegionInfo.cpp
index d8aafdc..bf2db7b 100644
--- a/lldb/source/API/SBMemoryRegionInfo.cpp
+++ b/lldb/source/API/SBMemoryRegionInfo.cpp
@@ -14,6 +14,7 @@
#include "lldb/Target/MemoryRegionInfo.h"
#include "lldb/Utility/Instrumentation.h"
#include "lldb/Utility/StreamString.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/API/SBType.cpp b/lldb/source/API/SBType.cpp
index e50e406..9870099 100644
--- a/lldb/source/API/SBType.cpp
+++ b/lldb/source/API/SBType.cpp
@@ -22,6 +22,7 @@
#include "llvm/ADT/APSInt.h"
#include <memory>
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Breakpoint/BreakpointID.cpp b/lldb/source/Breakpoint/BreakpointID.cpp
index 048f09a..12562ee 100644
--- a/lldb/source/Breakpoint/BreakpointID.cpp
+++ b/lldb/source/Breakpoint/BreakpointID.cpp
@@ -7,6 +7,7 @@
//===----------------------------------------------------------------------===//
#include <cstdio>
+#include <optional>
#include "lldb/Breakpoint/Breakpoint.h"
#include "lldb/Breakpoint/BreakpointID.h"
diff --git a/lldb/source/Breakpoint/BreakpointResolver.cpp b/lldb/source/Breakpoint/BreakpointResolver.cpp
index 71cbb2b..b1ee790 100644
--- a/lldb/source/Breakpoint/BreakpointResolver.cpp
+++ b/lldb/source/Breakpoint/BreakpointResolver.cpp
@@ -28,6 +28,7 @@
#include "lldb/Utility/Log.h"
#include "lldb/Utility/Stream.h"
#include "lldb/Utility/StreamString.h"
+#include <optional>
using namespace lldb_private;
using namespace lldb;
diff --git a/lldb/source/Breakpoint/BreakpointResolverFileLine.cpp b/lldb/source/Breakpoint/BreakpointResolverFileLine.cpp
index 2ee993a..4b108a0 100644
--- a/lldb/source/Breakpoint/BreakpointResolverFileLine.cpp
+++ b/lldb/source/Breakpoint/BreakpointResolverFileLine.cpp
@@ -16,6 +16,7 @@
#include "lldb/Utility/LLDBLog.h"
#include "lldb/Utility/Log.h"
#include "lldb/Utility/StreamString.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Commands/CommandObjectBreakpoint.cpp b/lldb/source/Commands/CommandObjectBreakpoint.cpp
index 62e46c5..8665a44 100644
--- a/lldb/source/Commands/CommandObjectBreakpoint.cpp
+++ b/lldb/source/Commands/CommandObjectBreakpoint.cpp
@@ -30,6 +30,7 @@
#include "lldb/Utility/StreamString.h"
#include <memory>
+#include <optional>
#include <vector>
using namespace lldb;
diff --git a/lldb/source/Commands/CommandObjectCommands.cpp b/lldb/source/Commands/CommandObjectCommands.cpp
index 422291f..5f9d699 100644
--- a/lldb/source/Commands/CommandObjectCommands.cpp
+++ b/lldb/source/Commands/CommandObjectCommands.cpp
@@ -24,6 +24,7 @@
#include "lldb/Utility/Args.h"
#include "lldb/Utility/StringList.h"
#include "llvm/ADT/StringRef.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Commands/CommandObjectFrame.cpp b/lldb/source/Commands/CommandObjectFrame.cpp
index a09fe64..29d5c23 100644
--- a/lldb/source/Commands/CommandObjectFrame.cpp
+++ b/lldb/source/Commands/CommandObjectFrame.cpp
@@ -32,6 +32,7 @@
#include "lldb/Utility/Args.h"
#include <memory>
+#include <optional>
#include <string>
using namespace lldb;
diff --git a/lldb/source/Commands/CommandObjectMemory.cpp b/lldb/source/Commands/CommandObjectMemory.cpp
index 646747e..fa0c96f 100644
--- a/lldb/source/Commands/CommandObjectMemory.cpp
+++ b/lldb/source/Commands/CommandObjectMemory.cpp
@@ -39,6 +39,7 @@
#include "llvm/Support/MathExtras.h"
#include <cinttypes>
#include <memory>
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Commands/CommandObjectMultiword.cpp b/lldb/source/Commands/CommandObjectMultiword.cpp
index 8a815e4..80682b0 100644
--- a/lldb/source/Commands/CommandObjectMultiword.cpp
+++ b/lldb/source/Commands/CommandObjectMultiword.cpp
@@ -10,6 +10,7 @@
#include "lldb/Interpreter/CommandInterpreter.h"
#include "lldb/Interpreter/CommandReturnObject.h"
#include "lldb/Interpreter/Options.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Commands/CommandObjectProcess.cpp b/lldb/source/Commands/CommandObjectProcess.cpp
index 92544c5..66a90d5a 100644
--- a/lldb/source/Commands/CommandObjectProcess.cpp
+++ b/lldb/source/Commands/CommandObjectProcess.cpp
@@ -36,6 +36,7 @@
#include "llvm/ADT/ScopeExit.h"
#include <bitset>
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Commands/CommandObjectSource.cpp b/lldb/source/Commands/CommandObjectSource.cpp
index fd028d4..2c84e6f 100644
--- a/lldb/source/Commands/CommandObjectSource.cpp
+++ b/lldb/source/Commands/CommandObjectSource.cpp
@@ -25,6 +25,7 @@
#include "lldb/Target/SectionLoadList.h"
#include "lldb/Target/StackFrame.h"
#include "lldb/Utility/FileSpec.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Commands/CommandObjectThread.cpp b/lldb/source/Commands/CommandObjectThread.cpp
index 47ae596..5c4674d68 100644
--- a/lldb/source/Commands/CommandObjectThread.cpp
+++ b/lldb/source/Commands/CommandObjectThread.cpp
@@ -9,6 +9,7 @@
#include "CommandObjectThread.h"
#include <memory>
+#include <optional>
#include <sstream>
#include "CommandObjectThreadUtil.h"
diff --git a/lldb/source/Core/Debugger.cpp b/lldb/source/Core/Debugger.cpp
index e087de1..43838a1 100644
--- a/lldb/source/Core/Debugger.cpp
+++ b/lldb/source/Core/Debugger.cpp
@@ -75,6 +75,7 @@
#include <list>
#include <memory>
#include <mutex>
+#include <optional>
#include <set>
#include <string>
#include <system_error>
diff --git a/lldb/source/Core/DumpDataExtractor.cpp b/lldb/source/Core/DumpDataExtractor.cpp
index 87672be..70f34b9 100644
--- a/lldb/source/Core/DumpDataExtractor.cpp
+++ b/lldb/source/Core/DumpDataExtractor.cpp
@@ -43,6 +43,7 @@
#include <cmath>
#include <bitset>
+#include <optional>
#include <sstream>
using namespace lldb_private;
diff --git a/lldb/source/Core/EmulateInstruction.cpp b/lldb/source/Core/EmulateInstruction.cpp
index 2901609..7e9c76e 100644
--- a/lldb/source/Core/EmulateInstruction.cpp
+++ b/lldb/source/Core/EmulateInstruction.cpp
@@ -29,6 +29,7 @@
#include <cstring>
#include <memory>
+#include <optional>
#include <cinttypes>
#include <cstdio>
diff --git a/lldb/source/Core/Highlighter.cpp b/lldb/source/Core/Highlighter.cpp
index 04d993b..464b5a4 100644
--- a/lldb/source/Core/Highlighter.cpp
+++ b/lldb/source/Core/Highlighter.cpp
@@ -11,6 +11,7 @@
#include "lldb/Target/Language.h"
#include "lldb/Utility/AnsiTerminal.h"
#include "lldb/Utility/StreamString.h"
+#include <optional>
using namespace lldb_private;
using namespace lldb_private::ansi;
diff --git a/lldb/source/Core/IOHandler.cpp b/lldb/source/Core/IOHandler.cpp
index 256feea..5f17607 100644
--- a/lldb/source/Core/IOHandler.cpp
+++ b/lldb/source/Core/IOHandler.cpp
@@ -37,6 +37,7 @@
#include <memory>
#include <mutex>
+#include <optional>
#include <cassert>
#include <cctype>
diff --git a/lldb/source/Core/IOHandlerCursesGUI.cpp b/lldb/source/Core/IOHandlerCursesGUI.cpp
index 5138f07..e242d74 100644
--- a/lldb/source/Core/IOHandlerCursesGUI.cpp
+++ b/lldb/source/Core/IOHandlerCursesGUI.cpp
@@ -75,6 +75,7 @@
#include <cstdio>
#include <cstring>
#include <functional>
+#include <optional>
#include <type_traits>
using namespace lldb;
diff --git a/lldb/source/Core/Module.cpp b/lldb/source/Core/Module.cpp
index 4060e04..f32b2bd 100644
--- a/lldb/source/Core/Module.cpp
+++ b/lldb/source/Core/Module.cpp
@@ -70,6 +70,7 @@
#include <cstdint>
#include <cstring>
#include <map>
+#include <optional>
#include <type_traits>
#include <utility>
diff --git a/lldb/source/Core/SourceLocationSpec.cpp b/lldb/source/Core/SourceLocationSpec.cpp
index b132d98..d040479 100644
--- a/lldb/source/Core/SourceLocationSpec.cpp
+++ b/lldb/source/Core/SourceLocationSpec.cpp
@@ -8,6 +8,7 @@
#include "lldb/Core/SourceLocationSpec.h"
#include "lldb/Utility/StreamString.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Core/SourceManager.cpp b/lldb/source/Core/SourceManager.cpp
index 0e2157f..0a54676 100644
--- a/lldb/source/Core/SourceManager.cpp
+++ b/lldb/source/Core/SourceManager.cpp
@@ -32,6 +32,7 @@
#include "llvm/ADT/Twine.h"
#include <memory>
+#include <optional>
#include <utility>
#include <cassert>
diff --git a/lldb/source/Core/Value.cpp b/lldb/source/Core/Value.cpp
index 2b60dd6..fc2a9f1 100644
--- a/lldb/source/Core/Value.cpp
+++ b/lldb/source/Core/Value.cpp
@@ -31,6 +31,7 @@
#include "lldb/lldb-types.h"
#include <memory>
+#include <optional>
#include <string>
#include <cinttypes>
diff --git a/lldb/source/Core/ValueObject.cpp b/lldb/source/Core/ValueObject.cpp
index 7967f92..1ea1813 100644
--- a/lldb/source/Core/ValueObject.cpp
+++ b/lldb/source/Core/ValueObject.cpp
@@ -55,6 +55,7 @@
#include <cstdint>
#include <cstdlib>
#include <memory>
+#include <optional>
#include <tuple>
#include <cassert>
diff --git a/lldb/source/Core/ValueObjectCast.cpp b/lldb/source/Core/ValueObjectCast.cpp
index 9f803912..174c390 100644
--- a/lldb/source/Core/ValueObjectCast.cpp
+++ b/lldb/source/Core/ValueObjectCast.cpp
@@ -14,6 +14,7 @@
#include "lldb/Target/ExecutionContext.h"
#include "lldb/Utility/Scalar.h"
#include "lldb/Utility/Status.h"
+#include <optional>
namespace lldb_private {
class ConstString;
diff --git a/lldb/source/Core/ValueObjectConstResult.cpp b/lldb/source/Core/ValueObjectConstResult.cpp
index 174b935..942ceb2 100644
--- a/lldb/source/Core/ValueObjectConstResult.cpp
+++ b/lldb/source/Core/ValueObjectConstResult.cpp
@@ -17,6 +17,7 @@
#include "lldb/Utility/DataBufferHeap.h"
#include "lldb/Utility/DataExtractor.h"
#include "lldb/Utility/Scalar.h"
+#include <optional>
namespace lldb_private {
class Module;
diff --git a/lldb/source/Core/ValueObjectDynamicValue.cpp b/lldb/source/Core/ValueObjectDynamicValue.cpp
index cc5c481..965c533 100644
--- a/lldb/source/Core/ValueObjectDynamicValue.cpp
+++ b/lldb/source/Core/ValueObjectDynamicValue.cpp
@@ -23,6 +23,7 @@
#include "lldb/lldb-types.h"
#include <cstring>
+#include <optional>
namespace lldb_private {
class Declaration;
}
diff --git a/lldb/source/Core/ValueObjectMemory.cpp b/lldb/source/Core/ValueObjectMemory.cpp
index b20e68d..47c9aed 100644
--- a/lldb/source/Core/ValueObjectMemory.cpp
+++ b/lldb/source/Core/ValueObjectMemory.cpp
@@ -20,6 +20,7 @@
#include <cassert>
#include <memory>
+#include <optional>
namespace lldb_private {
class ExecutionContextScope;
diff --git a/lldb/source/Core/ValueObjectRegister.cpp b/lldb/source/Core/ValueObjectRegister.cpp
index 4e91e4a..590acc3 100644
--- a/lldb/source/Core/ValueObjectRegister.cpp
+++ b/lldb/source/Core/ValueObjectRegister.cpp
@@ -28,6 +28,7 @@
#include <cassert>
#include <memory>
+#include <optional>
namespace lldb_private {
class ExecutionContextScope;
diff --git a/lldb/source/Core/ValueObjectSyntheticFilter.cpp b/lldb/source/Core/ValueObjectSyntheticFilter.cpp
index a1001b3..9bcf18f 100644
--- a/lldb/source/Core/ValueObjectSyntheticFilter.cpp
+++ b/lldb/source/Core/ValueObjectSyntheticFilter.cpp
@@ -17,6 +17,7 @@
#include "lldb/Utility/Status.h"
#include "llvm/ADT/STLExtras.h"
+#include <optional>
namespace lldb_private {
class Declaration;
diff --git a/lldb/source/Core/ValueObjectVariable.cpp b/lldb/source/Core/ValueObjectVariable.cpp
index e98d117..ce8d081 100644
--- a/lldb/source/Core/ValueObjectVariable.cpp
+++ b/lldb/source/Core/ValueObjectVariable.cpp
@@ -35,6 +35,7 @@
#include <cassert>
#include <memory>
+#include <optional>
namespace lldb_private {
class ExecutionContextScope;
diff --git a/lldb/source/DataFormatters/TypeFormat.cpp b/lldb/source/DataFormatters/TypeFormat.cpp
index ae9d8d8..4674927 100644
--- a/lldb/source/DataFormatters/TypeFormat.cpp
+++ b/lldb/source/DataFormatters/TypeFormat.cpp
@@ -23,6 +23,7 @@
#include "lldb/Target/Target.h"
#include "lldb/Utility/DataExtractor.h"
#include "lldb/Utility/StreamString.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/DataFormatters/VectorType.cpp b/lldb/source/DataFormatters/VectorType.cpp
index 20b2f3a..d53f865 100644
--- a/lldb/source/DataFormatters/VectorType.cpp
+++ b/lldb/source/DataFormatters/VectorType.cpp
@@ -16,6 +16,7 @@
#include "lldb/Utility/LLDBAssert.h"
#include "lldb/Utility/Log.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Expression/DWARFExpression.cpp b/lldb/source/Expression/DWARFExpression.cpp
index a60ac41..0837714 100644
--- a/lldb/source/Expression/DWARFExpression.cpp
+++ b/lldb/source/Expression/DWARFExpression.cpp
@@ -10,6 +10,7 @@
#include <cinttypes>
+#include <optional>
#include <vector>
#include "lldb/Core/Module.h"
diff --git a/lldb/source/Expression/ExpressionVariable.cpp b/lldb/source/Expression/ExpressionVariable.cpp
index da2f3b2..ed91be4e 100644
--- a/lldb/source/Expression/ExpressionVariable.cpp
+++ b/lldb/source/Expression/ExpressionVariable.cpp
@@ -11,6 +11,7 @@
#include "lldb/Target/Target.h"
#include "lldb/Utility/LLDBLog.h"
#include "lldb/Utility/Log.h"
+#include <optional>
using namespace lldb_private;
diff --git a/lldb/source/Expression/IRExecutionUnit.cpp b/lldb/source/Expression/IRExecutionUnit.cpp
index 16114db..f374476 100644
--- a/lldb/source/Expression/IRExecutionUnit.cpp
+++ b/lldb/source/Expression/IRExecutionUnit.cpp
@@ -37,6 +37,7 @@
#include "lldb/Utility/Log.h"
#include "lldb/../../source/Plugins/ObjectFile/JIT/ObjectFileJIT.h"
+#include <optional>
using namespace lldb_private;
diff --git a/lldb/source/Expression/Materializer.cpp b/lldb/source/Expression/Materializer.cpp
index d28b524d..13296cd 100644
--- a/lldb/source/Expression/Materializer.cpp
+++ b/lldb/source/Expression/Materializer.cpp
@@ -25,6 +25,7 @@
#include "lldb/lldb-forward.h"
#include <memory>
+#include <optional>
using namespace lldb_private;
diff --git a/lldb/source/Host/common/Editline.cpp b/lldb/source/Host/common/Editline.cpp
index 608c525..2670d9f 100644
--- a/lldb/source/Host/common/Editline.cpp
+++ b/lldb/source/Host/common/Editline.cpp
@@ -8,6 +8,7 @@
#include <climits>
#include <iomanip>
+#include <optional>
#include "lldb/Host/Editline.h"
diff --git a/lldb/source/Host/common/File.cpp b/lldb/source/Host/common/File.cpp
index 0711c66..f242c9f 100644
--- a/lldb/source/Host/common/File.cpp
+++ b/lldb/source/Host/common/File.cpp
@@ -13,6 +13,7 @@
#include <cstdarg>
#include <cstdio>
#include <fcntl.h>
+#include <optional>
#ifdef _WIN32
#include "lldb/Host/windows/windows.h"
diff --git a/lldb/source/Host/common/FileSystem.cpp b/lldb/source/Host/common/FileSystem.cpp
index 23cf3c4..5143a17 100644
--- a/lldb/source/Host/common/FileSystem.cpp
+++ b/lldb/source/Host/common/FileSystem.cpp
@@ -37,6 +37,7 @@
#include <algorithm>
#include <fstream>
+#include <optional>
#include <vector>
using namespace lldb;
diff --git a/lldb/source/Host/common/HostInfoBase.cpp b/lldb/source/Host/common/HostInfoBase.cpp
index 18fb381..4fcfacc 100644
--- a/lldb/source/Host/common/HostInfoBase.cpp
+++ b/lldb/source/Host/common/HostInfoBase.cpp
@@ -26,6 +26,7 @@
#include "llvm/Support/raw_ostream.h"
#include <mutex>
+#include <optional>
#include <thread>
using namespace lldb;
diff --git a/lldb/source/Host/common/NativeProcessProtocol.cpp b/lldb/source/Host/common/NativeProcessProtocol.cpp
index ef8475a..124c98c 100644
--- a/lldb/source/Host/common/NativeProcessProtocol.cpp
+++ b/lldb/source/Host/common/NativeProcessProtocol.cpp
@@ -18,6 +18,7 @@
#include "lldb/lldb-enumerations.h"
#include "llvm/Support/Process.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Host/common/Terminal.cpp b/lldb/source/Host/common/Terminal.cpp
index 519355c..e9b8627 100644
--- a/lldb/source/Host/common/Terminal.cpp
+++ b/lldb/source/Host/common/Terminal.cpp
@@ -14,6 +14,7 @@
#include <csignal>
#include <fcntl.h>
+#include <optional>
#if LLDB_ENABLE_TERMIOS
#include <termios.h>
diff --git a/lldb/source/Host/freebsd/HostInfoFreeBSD.cpp b/lldb/source/Host/freebsd/HostInfoFreeBSD.cpp
index 40efe69..75ca3c1 100644
--- a/lldb/source/Host/freebsd/HostInfoFreeBSD.cpp
+++ b/lldb/source/Host/freebsd/HostInfoFreeBSD.cpp
@@ -10,6 +10,7 @@
#include "llvm/Support/FormatVariadic.h"
#include <cstdio>
#include <cstring>
+#include <optional>
#include <sys/sysctl.h>
#include <sys/types.h>
#include <sys/utsname.h>
diff --git a/lldb/source/Host/linux/Host.cpp b/lldb/source/Host/linux/Host.cpp
index 2f8b9c9..c467fcf 100644
--- a/lldb/source/Host/linux/Host.cpp
+++ b/lldb/source/Host/linux/Host.cpp
@@ -11,6 +11,7 @@
#include <cstring>
#include <dirent.h>
#include <fcntl.h>
+#include <optional>
#include <sys/stat.h>
#include <sys/types.h>
#include <sys/utsname.h>
diff --git a/lldb/source/Host/linux/HostInfoLinux.cpp b/lldb/source/Host/linux/HostInfoLinux.cpp
index e7a136c..1cf7b9c 100644
--- a/lldb/source/Host/linux/HostInfoLinux.cpp
+++ b/lldb/source/Host/linux/HostInfoLinux.cpp
@@ -22,6 +22,7 @@
#include <algorithm>
#include <mutex>
+#include <optional>
using namespace lldb_private;
diff --git a/lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm b/lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm
index 8dacc87..f8a8072 100644
--- a/lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm
+++ b/lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm
@@ -24,6 +24,7 @@
#include "llvm/Support/raw_ostream.h"
// C++ Includes
+#include <optional>
#include <string>
// C inclues
diff --git a/lldb/source/Host/netbsd/HostInfoNetBSD.cpp b/lldb/source/Host/netbsd/HostInfoNetBSD.cpp
index ad0ee20..6e98bde 100644
--- a/lldb/source/Host/netbsd/HostInfoNetBSD.cpp
+++ b/lldb/source/Host/netbsd/HostInfoNetBSD.cpp
@@ -12,6 +12,7 @@
#include <climits>
#include <cstdio>
#include <cstring>
+#include <optional>
#include <pthread.h>
#include <sys/sysctl.h>
#include <sys/types.h>
diff --git a/lldb/source/Host/openbsd/HostInfoOpenBSD.cpp b/lldb/source/Host/openbsd/HostInfoOpenBSD.cpp
index 033685a..0c283e4 100644
--- a/lldb/source/Host/openbsd/HostInfoOpenBSD.cpp
+++ b/lldb/source/Host/openbsd/HostInfoOpenBSD.cpp
@@ -10,6 +10,7 @@
#include <cstdio>
#include <cstring>
+#include <optional>
#include <sys/sysctl.h>
#include <sys/types.h>
#include <sys/utsname.h>
diff --git a/lldb/source/Host/posix/HostInfoPosix.cpp b/lldb/source/Host/posix/HostInfoPosix.cpp
index e114630..c6ef7ad 100644
--- a/lldb/source/Host/posix/HostInfoPosix.cpp
+++ b/lldb/source/Host/posix/HostInfoPosix.cpp
@@ -19,6 +19,7 @@
#include <cstdlib>
#include <grp.h>
#include <mutex>
+#include <optional>
#include <pwd.h>
#include <sys/types.h>
#include <sys/utsname.h>
diff --git a/lldb/source/Host/windows/HostInfoWindows.cpp b/lldb/source/Host/windows/HostInfoWindows.cpp
index 48b3e10..6ccd5d2 100644
--- a/lldb/source/Host/windows/HostInfoWindows.cpp
+++ b/lldb/source/Host/windows/HostInfoWindows.cpp
@@ -11,6 +11,7 @@
#include <objbase.h>
#include <mutex>
+#include <optional>
#include "lldb/Host/windows/HostInfoWindows.h"
#include "lldb/Host/windows/PosixApi.h"
diff --git a/lldb/source/Interpreter/CommandHistory.cpp b/lldb/source/Interpreter/CommandHistory.cpp
index 425939f..ae07b54 100644
--- a/lldb/source/Interpreter/CommandHistory.cpp
+++ b/lldb/source/Interpreter/CommandHistory.cpp
@@ -7,6 +7,7 @@
//===----------------------------------------------------------------------===//
#include <cinttypes>
+#include <optional>
#include "lldb/Interpreter/CommandHistory.h"
diff --git a/lldb/source/Interpreter/CommandInterpreter.cpp b/lldb/source/Interpreter/CommandInterpreter.cpp
index 4aee2e4..47a6f09 100644
--- a/lldb/source/Interpreter/CommandInterpreter.cpp
+++ b/lldb/source/Interpreter/CommandInterpreter.cpp
@@ -9,6 +9,7 @@
#include <cstdlib>
#include <limits>
#include <memory>
+#include <optional>
#include <string>
#include <vector>
diff --git a/lldb/source/Interpreter/ScriptInterpreter.cpp b/lldb/source/Interpreter/ScriptInterpreter.cpp
index 9572176..92e62b0 100644
--- a/lldb/source/Interpreter/ScriptInterpreter.cpp
+++ b/lldb/source/Interpreter/ScriptInterpreter.cpp
@@ -21,6 +21,7 @@
#include <cstdio>
#include <cstdlib>
#include <memory>
+#include <optional>
#include <string>
using namespace lldb;
diff --git a/lldb/source/Plugins/ABI/AArch64/ABIAArch64.cpp b/lldb/source/Plugins/ABI/AArch64/ABIAArch64.cpp
index 2cd490a..bb33286 100644
--- a/lldb/source/Plugins/ABI/AArch64/ABIAArch64.cpp
+++ b/lldb/source/Plugins/ABI/AArch64/ABIAArch64.cpp
@@ -14,6 +14,7 @@
#include "lldb/Target/Process.h"
#include <bitset>
+#include <optional>
LLDB_PLUGIN_DEFINE(ABIAArch64)
diff --git a/lldb/source/Plugins/ABI/AArch64/ABIMacOSX_arm64.cpp b/lldb/source/Plugins/ABI/AArch64/ABIMacOSX_arm64.cpp
index 6739ced..26a798d 100644
--- a/lldb/source/Plugins/ABI/AArch64/ABIMacOSX_arm64.cpp
+++ b/lldb/source/Plugins/ABI/AArch64/ABIMacOSX_arm64.cpp
@@ -8,6 +8,7 @@
#include "ABIMacOSX_arm64.h"
+#include <optional>
#include <vector>
#include "llvm/ADT/STLExtras.h"
diff --git a/lldb/source/Plugins/ABI/AArch64/ABISysV_arm64.cpp b/lldb/source/Plugins/ABI/AArch64/ABISysV_arm64.cpp
index de54dde..5cb348b 100644
--- a/lldb/source/Plugins/ABI/AArch64/ABISysV_arm64.cpp
+++ b/lldb/source/Plugins/ABI/AArch64/ABISysV_arm64.cpp
@@ -8,6 +8,7 @@
#include "ABISysV_arm64.h"
+#include <optional>
#include <vector>
#include "llvm/ADT/STLExtras.h"
diff --git a/lldb/source/Plugins/ABI/ARC/ABISysV_arc.h b/lldb/source/Plugins/ABI/ARC/ABISysV_arc.h
index 9bf75df..e73e08f 100644
--- a/lldb/source/Plugins/ABI/ARC/ABISysV_arc.h
+++ b/lldb/source/Plugins/ABI/ARC/ABISysV_arc.h
@@ -11,6 +11,7 @@
// Other libraries and framework includes
#include <llvm/ADT/Optional.h>
+#include <optional>
// Project includes
#include "lldb/Target/ABI.h"
diff --git a/lldb/source/Plugins/ABI/ARM/ABIMacOSX_arm.cpp b/lldb/source/Plugins/ABI/ARM/ABIMacOSX_arm.cpp
index 2248c5b..0367b4f 100644
--- a/lldb/source/Plugins/ABI/ARM/ABIMacOSX_arm.cpp
+++ b/lldb/source/Plugins/ABI/ARM/ABIMacOSX_arm.cpp
@@ -8,6 +8,7 @@
#include "ABIMacOSX_arm.h"
+#include <optional>
#include <vector>
#include "llvm/ADT/STLExtras.h"
diff --git a/lldb/source/Plugins/ABI/ARM/ABISysV_arm.cpp b/lldb/source/Plugins/ABI/ARM/ABISysV_arm.cpp
index 8235012..0afad76 100644
--- a/lldb/source/Plugins/ABI/ARM/ABISysV_arm.cpp
+++ b/lldb/source/Plugins/ABI/ARM/ABISysV_arm.cpp
@@ -8,6 +8,7 @@
#include "ABISysV_arm.h"
+#include <optional>
#include <vector>
#include "llvm/ADT/STLExtras.h"
diff --git a/lldb/source/Plugins/ABI/Mips/ABISysV_mips.cpp b/lldb/source/Plugins/ABI/Mips/ABISysV_mips.cpp
index c3fbdb1..508c7a7 100644
--- a/lldb/source/Plugins/ABI/Mips/ABISysV_mips.cpp
+++ b/lldb/source/Plugins/ABI/Mips/ABISysV_mips.cpp
@@ -29,6 +29,7 @@
#include "lldb/Utility/Log.h"
#include "lldb/Utility/RegisterValue.h"
#include "lldb/Utility/Status.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/ABI/Mips/ABISysV_mips64.cpp b/lldb/source/Plugins/ABI/Mips/ABISysV_mips64.cpp
index 3a9cfc0..c61e5fa 100644
--- a/lldb/source/Plugins/ABI/Mips/ABISysV_mips64.cpp
+++ b/lldb/source/Plugins/ABI/Mips/ABISysV_mips64.cpp
@@ -29,6 +29,7 @@
#include "lldb/Utility/Log.h"
#include "lldb/Utility/RegisterValue.h"
#include "lldb/Utility/Status.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc.cpp b/lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc.cpp
index d699305..6f7d9fa 100644
--- a/lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc.cpp
+++ b/lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc.cpp
@@ -29,6 +29,7 @@
#include "lldb/Utility/Log.h"
#include "lldb/Utility/RegisterValue.h"
#include "lldb/Utility/Status.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc64.cpp b/lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc64.cpp
index 4d67429..1090e96 100644
--- a/lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc64.cpp
+++ b/lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc64.cpp
@@ -44,6 +44,7 @@
#define DECLARE_REGISTER_INFOS_PPC64LE_STRUCT
#include "Plugins/Process/Utility/RegisterInfos_ppc64le.h"
#undef DECLARE_REGISTER_INFOS_PPC64LE_STRUCT
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/ABI/SystemZ/ABISysV_s390x.cpp b/lldb/source/Plugins/ABI/SystemZ/ABISysV_s390x.cpp
index e81f8ee..521f8b9 100644
--- a/lldb/source/Plugins/ABI/SystemZ/ABISysV_s390x.cpp
+++ b/lldb/source/Plugins/ABI/SystemZ/ABISysV_s390x.cpp
@@ -29,6 +29,7 @@
#include "lldb/Utility/Log.h"
#include "lldb/Utility/RegisterValue.h"
#include "lldb/Utility/Status.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/ABI/X86/ABIMacOSX_i386.cpp b/lldb/source/Plugins/ABI/X86/ABIMacOSX_i386.cpp
index 69adeee..1df898c 100644
--- a/lldb/source/Plugins/ABI/X86/ABIMacOSX_i386.cpp
+++ b/lldb/source/Plugins/ABI/X86/ABIMacOSX_i386.cpp
@@ -8,6 +8,7 @@
#include "ABIMacOSX_i386.h"
+#include <optional>
#include <vector>
#include "llvm/ADT/STLExtras.h"
diff --git a/lldb/source/Plugins/ABI/X86/ABISysV_i386.cpp b/lldb/source/Plugins/ABI/X86/ABISysV_i386.cpp
index 5aa43d9..85ee0b8 100644
--- a/lldb/source/Plugins/ABI/X86/ABISysV_i386.cpp
+++ b/lldb/source/Plugins/ABI/X86/ABISysV_i386.cpp
@@ -27,6 +27,7 @@
#include "lldb/Utility/Log.h"
#include "lldb/Utility/RegisterValue.h"
#include "lldb/Utility/Status.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/ABI/X86/ABISysV_x86_64.cpp b/lldb/source/Plugins/ABI/X86/ABISysV_x86_64.cpp
index 30ba463..df93d45 100644
--- a/lldb/source/Plugins/ABI/X86/ABISysV_x86_64.cpp
+++ b/lldb/source/Plugins/ABI/X86/ABISysV_x86_64.cpp
@@ -31,6 +31,7 @@
#include "lldb/Utility/RegisterValue.h"
#include "lldb/Utility/Status.h"
+#include <optional>
#include <vector>
using namespace lldb;
diff --git a/lldb/source/Plugins/ABI/X86/ABIWindows_x86_64.cpp b/lldb/source/Plugins/ABI/X86/ABIWindows_x86_64.cpp
index 995fb88..3b72809 100644
--- a/lldb/source/Plugins/ABI/X86/ABIWindows_x86_64.cpp
+++ b/lldb/source/Plugins/ABI/X86/ABIWindows_x86_64.cpp
@@ -30,6 +30,7 @@
#include "lldb/Utility/Log.h"
#include "lldb/Utility/RegisterValue.h"
#include "lldb/Utility/Status.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/Disassembler/LLVMC/DisassemblerLLVMC.cpp b/lldb/source/Plugins/Disassembler/LLVMC/DisassemblerLLVMC.cpp
index 48363a5..b79e1e5 100644
--- a/lldb/source/Plugins/Disassembler/LLVMC/DisassemblerLLVMC.cpp
+++ b/lldb/source/Plugins/Disassembler/LLVMC/DisassemblerLLVMC.cpp
@@ -42,6 +42,7 @@
#include "lldb/Utility/Log.h"
#include "lldb/Utility/RegularExpression.h"
#include "lldb/Utility/Stream.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/Disassembler/LLVMC/DisassemblerLLVMC.h b/lldb/source/Plugins/Disassembler/LLVMC/DisassemblerLLVMC.h
index 5d0204c..17e6b67 100644
--- a/lldb/source/Plugins/Disassembler/LLVMC/DisassemblerLLVMC.h
+++ b/lldb/source/Plugins/Disassembler/LLVMC/DisassemblerLLVMC.h
@@ -11,6 +11,7 @@
#include <memory>
#include <mutex>
+#include <optional>
#include <string>
#include "lldb/Core/Address.h"
diff --git a/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp b/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
index 27d2044..34148bd 100644
--- a/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
+++ b/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
@@ -26,6 +26,7 @@
#include "lldb/Utility/ProcessInfo.h"
#include <memory>
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.h b/lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.h
index b70ec22..ac41680 100644
--- a/lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.h
+++ b/lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.h
@@ -14,6 +14,7 @@
#include "clang/Sema/MultiplexExternalSemaSource.h"
#include "clang/Sema/Sema.h"
#include "clang/Sema/SemaConsumer.h"
+#include <optional>
namespace lldb_private {
diff --git a/lldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.cpp b/lldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.cpp
index e945601..3bc6820 100644
--- a/lldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.cpp
+++ b/lldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.cpp
@@ -25,6 +25,7 @@
#include "Plugins/TypeSystem/Clang/TypeSystemClang.h"
#include <memory>
+#include <optional>
using namespace lldb_private;
using namespace clang;
diff --git a/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp b/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
index 511c6ff..a72a12b 100644
--- a/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
+++ b/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
@@ -95,6 +95,7 @@
#include <cctype>
#include <memory>
+#include <optional>
using namespace clang;
using namespace llvm;
diff --git a/lldb/source/Plugins/ExpressionParser/Clang/ClangExternalASTSourceCallbacks.cpp b/lldb/source/Plugins/ExpressionParser/Clang/ClangExternalASTSourceCallbacks.cpp
index 390afb4..65ec51b 100644
--- a/lldb/source/Plugins/ExpressionParser/Clang/ClangExternalASTSourceCallbacks.cpp
+++ b/lldb/source/Plugins/ExpressionParser/Clang/ClangExternalASTSourceCallbacks.cpp
@@ -11,6 +11,7 @@
#include "clang/AST/Decl.h"
#include "clang/AST/DeclObjC.h"
+#include <optional>
using namespace lldb_private;
diff --git a/lldb/source/Plugins/ExpressionParser/Clang/ClangExternalASTSourceCallbacks.h b/lldb/source/Plugins/ExpressionParser/Clang/ClangExternalASTSourceCallbacks.h
index 69088d9..a955431 100644
--- a/lldb/source/Plugins/ExpressionParser/Clang/ClangExternalASTSourceCallbacks.h
+++ b/lldb/source/Plugins/ExpressionParser/Clang/ClangExternalASTSourceCallbacks.h
@@ -11,6 +11,7 @@
#include "Plugins/TypeSystem/Clang/TypeSystemClang.h"
#include "clang/Basic/Module.h"
+#include <optional>
namespace lldb_private {
diff --git a/lldb/source/Plugins/ExpressionParser/Clang/ClangPersistentVariables.cpp b/lldb/source/Plugins/ExpressionParser/Clang/ClangPersistentVariables.cpp
index cba8191..6b529f0 100644
--- a/lldb/source/Plugins/ExpressionParser/Clang/ClangPersistentVariables.cpp
+++ b/lldb/source/Plugins/ExpressionParser/Clang/ClangPersistentVariables.cpp
@@ -20,6 +20,7 @@
#include "clang/AST/Decl.h"
#include "llvm/ADT/StringMap.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/ExpressionParser/Clang/ClangPersistentVariables.h b/lldb/source/Plugins/ExpressionParser/Clang/ClangPersistentVariables.h
index cc96fc7..d383edd 100644
--- a/lldb/source/Plugins/ExpressionParser/Clang/ClangPersistentVariables.h
+++ b/lldb/source/Plugins/ExpressionParser/Clang/ClangPersistentVariables.h
@@ -15,6 +15,7 @@
#include "ClangModulesDeclVendor.h"
#include "lldb/Expression/ExpressionVariable.h"
+#include <optional>
namespace lldb_private {
diff --git a/lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.h b/lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.h
index 4d5458f..38e89931 100644
--- a/lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.h
+++ b/lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.h
@@ -9,6 +9,7 @@
#ifndef LLDB_SOURCE_PLUGINS_EXPRESSIONPARSER_CLANG_CLANGUSEREXPRESSION_H
#define LLDB_SOURCE_PLUGINS_EXPRESSIONPARSER_CLANG_CLANGUSEREXPRESSION_H
+#include <optional>
#include <vector>
#include "ASTResultSynthesizer.h"
diff --git a/lldb/source/Plugins/ExpressionParser/Clang/CppModuleConfiguration.cpp b/lldb/source/Plugins/ExpressionParser/Clang/CppModuleConfiguration.cpp
index 36ecc59..0086817 100644
--- a/lldb/source/Plugins/ExpressionParser/Clang/CppModuleConfiguration.cpp
+++ b/lldb/source/Plugins/ExpressionParser/Clang/CppModuleConfiguration.cpp
@@ -11,6 +11,7 @@
#include "ClangHost.h"
#include "lldb/Host/FileSystem.h"
#include "llvm/ADT/Triple.h"
+#include <optional>
using namespace lldb_private;
diff --git a/lldb/source/Plugins/ExpressionParser/Clang/CxxModuleHandler.cpp b/lldb/source/Plugins/ExpressionParser/Clang/CxxModuleHandler.cpp
index 199cef5..4508bf1 100644
--- a/lldb/source/Plugins/ExpressionParser/Clang/CxxModuleHandler.cpp
+++ b/lldb/source/Plugins/ExpressionParser/Clang/CxxModuleHandler.cpp
@@ -13,6 +13,7 @@
#include "lldb/Utility/Log.h"
#include "clang/Sema/Lookup.h"
#include "llvm/Support/Error.h"
+#include <optional>
using namespace lldb_private;
using namespace clang;
diff --git a/lldb/source/Plugins/ExpressionParser/Clang/CxxModuleHandler.h b/lldb/source/Plugins/ExpressionParser/Clang/CxxModuleHandler.h
index 6490af7..e96bf37 100644
--- a/lldb/source/Plugins/ExpressionParser/Clang/CxxModuleHandler.h
+++ b/lldb/source/Plugins/ExpressionParser/Clang/CxxModuleHandler.h
@@ -12,6 +12,7 @@
#include "clang/AST/ASTImporter.h"
#include "clang/Sema/Sema.h"
#include "llvm/ADT/StringSet.h"
+#include <optional>
namespace lldb_private {
diff --git a/lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp b/lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp
index 047aa1e..49a6b45 100644
--- a/lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp
+++ b/lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp
@@ -40,6 +40,7 @@
#include "lldb/Utility/StreamString.h"
#include <map>
+#include <optional>
using namespace llvm;
using lldb_private::LLDBLog;
diff --git a/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp b/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp
index a9ea14a..141641b 100644
--- a/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp
+++ b/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp
@@ -7,6 +7,7 @@
//===----------------------------------------------------------------------===//
#include <cstdlib>
+#include <optional>
#include "EmulateInstructionARM.h"
#include "EmulationStateARM.h"
diff --git a/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h b/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
index f5ad5ce..e3d8b47 100644
--- a/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
+++ b/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.h
@@ -13,6 +13,7 @@
#include "lldb/Core/EmulateInstruction.h"
#include "lldb/Utility/ConstString.h"
#include "lldb/Utility/Status.h"
+#include <optional>
namespace lldb_private {
diff --git a/lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp b/lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp
index 25042b1..39e8c16e 100644
--- a/lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp
+++ b/lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp
@@ -23,6 +23,7 @@
#include "Plugins/Process/Utility/lldb-arm64-register-enums.h"
#include <cstdlib>
+#include <optional>
#define GPR_OFFSET(idx) ((idx)*8)
#define GPR_OFFSET_NAME(reg) 0
diff --git a/lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.h b/lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.h
index 9a82d84..e1e0175 100644
--- a/lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.h
+++ b/lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.h
@@ -13,6 +13,7 @@
#include "lldb/Core/EmulateInstruction.h"
#include "lldb/Interpreter/OptionValue.h"
#include "lldb/Utility/Status.h"
+#include <optional>
class EmulateInstructionARM64 : public lldb_private::EmulateInstruction {
public:
diff --git a/lldb/source/Plugins/Instruction/LoongArch/EmulateInstructionLoongArch.cpp b/lldb/source/Plugins/Instruction/LoongArch/EmulateInstructionLoongArch.cpp
index a17d860..b405eac 100644
--- a/lldb/source/Plugins/Instruction/LoongArch/EmulateInstructionLoongArch.cpp
+++ b/lldb/source/Plugins/Instruction/LoongArch/EmulateInstructionLoongArch.cpp
@@ -7,6 +7,7 @@
//===----------------------------------------------------------------------===//
#include <cstdlib>
+#include <optional>
#include "EmulateInstructionLoongArch.h"
#include "Plugins/Process/Utility/InstructionUtils.h"
diff --git a/lldb/source/Plugins/Instruction/LoongArch/EmulateInstructionLoongArch.h b/lldb/source/Plugins/Instruction/LoongArch/EmulateInstructionLoongArch.h
index cee8705..ca60218 100644
--- a/lldb/source/Plugins/Instruction/LoongArch/EmulateInstructionLoongArch.h
+++ b/lldb/source/Plugins/Instruction/LoongArch/EmulateInstructionLoongArch.h
@@ -13,6 +13,7 @@
#include "lldb/Interpreter/OptionValue.h"
#include "lldb/Utility/Log.h"
#include "lldb/Utility/Status.h"
+#include <optional>
namespace lldb_private {
diff --git a/lldb/source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.cpp b/lldb/source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.cpp
index 9e7b73c..0bc8063 100644
--- a/lldb/source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.cpp
+++ b/lldb/source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.cpp
@@ -9,6 +9,7 @@
#include "EmulateInstructionMIPS.h"
#include <cstdlib>
+#include <optional>
#include "lldb/Core/Address.h"
#include "lldb/Core/Opcode.h"
diff --git a/lldb/source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.h b/lldb/source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.h
index af20f3e..4a3bc59 100644
--- a/lldb/source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.h
+++ b/lldb/source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.h
@@ -26,6 +26,7 @@ namespace lldb_private {
#include "lldb/Core/EmulateInstruction.h"
#include "lldb/Utility/Status.h"
+#include <optional>
class EmulateInstructionMIPS : public lldb_private::EmulateInstruction {
public:
diff --git a/lldb/source/Plugins/Instruction/MIPS64/EmulateInstructionMIPS64.cpp b/lldb/source/Plugins/Instruction/MIPS64/EmulateInstructionMIPS64.cpp
index 37f235ce..fe363ad 100644
--- a/lldb/source/Plugins/Instruction/MIPS64/EmulateInstructionMIPS64.cpp
+++ b/lldb/source/Plugins/Instruction/MIPS64/EmulateInstructionMIPS64.cpp
@@ -9,6 +9,7 @@
#include "EmulateInstructionMIPS64.h"
#include <cstdlib>
+#include <optional>
#include "lldb/Core/Address.h"
#include "lldb/Core/Opcode.h"
diff --git a/lldb/source/Plugins/Instruction/MIPS64/EmulateInstructionMIPS64.h b/lldb/source/Plugins/Instruction/MIPS64/EmulateInstructionMIPS64.h
index 39b7670..84c480c 100644
--- a/lldb/source/Plugins/Instruction/MIPS64/EmulateInstructionMIPS64.h
+++ b/lldb/source/Plugins/Instruction/MIPS64/EmulateInstructionMIPS64.h
@@ -12,6 +12,7 @@
#include "lldb/Core/EmulateInstruction.h"
#include "lldb/Interpreter/OptionValue.h"
#include "lldb/Utility/Status.h"
+#include <optional>
namespace llvm {
class MCDisassembler;
diff --git a/lldb/source/Plugins/Instruction/PPC64/EmulateInstructionPPC64.cpp b/lldb/source/Plugins/Instruction/PPC64/EmulateInstructionPPC64.cpp
index 5f4f501..d64112f 100644
--- a/lldb/source/Plugins/Instruction/PPC64/EmulateInstructionPPC64.cpp
+++ b/lldb/source/Plugins/Instruction/PPC64/EmulateInstructionPPC64.cpp
@@ -9,6 +9,7 @@
#include "EmulateInstructionPPC64.h"
#include <cstdlib>
+#include <optional>
#include "Plugins/Process/Utility/lldb-ppc64le-register-enums.h"
#include "lldb/Core/PluginManager.h"
diff --git a/lldb/source/Plugins/Instruction/PPC64/EmulateInstructionPPC64.h b/lldb/source/Plugins/Instruction/PPC64/EmulateInstructionPPC64.h
index 962a24a..a57b200 100644
--- a/lldb/source/Plugins/Instruction/PPC64/EmulateInstructionPPC64.h
+++ b/lldb/source/Plugins/Instruction/PPC64/EmulateInstructionPPC64.h
@@ -12,6 +12,7 @@
#include "lldb/Core/EmulateInstruction.h"
#include "lldb/Interpreter/OptionValue.h"
#include "lldb/Utility/Log.h"
+#include <optional>
namespace lldb_private {
diff --git a/lldb/source/Plugins/Instruction/RISCV/EmulateInstructionRISCV.cpp b/lldb/source/Plugins/Instruction/RISCV/EmulateInstructionRISCV.cpp
index d3b98ac..b1615db 100644
--- a/lldb/source/Plugins/Instruction/RISCV/EmulateInstructionRISCV.cpp
+++ b/lldb/source/Plugins/Instruction/RISCV/EmulateInstructionRISCV.cpp
@@ -23,6 +23,7 @@
#include "llvm/ADT/STLExtras.h"
#include "llvm/Support/MathExtras.h"
+#include <optional>
using namespace llvm;
using namespace lldb;
diff --git a/lldb/source/Plugins/Instruction/RISCV/EmulateInstructionRISCV.h b/lldb/source/Plugins/Instruction/RISCV/EmulateInstructionRISCV.h
index fa921d7..f76de56 100644
--- a/lldb/source/Plugins/Instruction/RISCV/EmulateInstructionRISCV.h
+++ b/lldb/source/Plugins/Instruction/RISCV/EmulateInstructionRISCV.h
@@ -16,6 +16,7 @@
#include "lldb/Utility/Log.h"
#include "lldb/Utility/RegisterValue.h"
#include "lldb/Utility/Status.h"
+#include <optional>
namespace lldb_private {
diff --git a/lldb/source/Plugins/Instruction/RISCV/RISCVInstructions.h b/lldb/source/Plugins/Instruction/RISCV/RISCVInstructions.h
index 52a51ca..4bcecf4 100644
--- a/lldb/source/Plugins/Instruction/RISCV/RISCVInstructions.h
+++ b/lldb/source/Plugins/Instruction/RISCV/RISCVInstructions.h
@@ -10,6 +10,7 @@
#define LLDB_SOURCE_PLUGINS_INSTRUCTION_RISCV_RISCVINSTRUCTION_H
#include <cstdint>
+#include <optional>
#include <variant>
#include "llvm/ADT/APFloat.h"
diff --git a/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusNameParser.cpp b/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusNameParser.cpp
index 70adc1d..4c26cb6 100644
--- a/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusNameParser.cpp
+++ b/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusNameParser.cpp
@@ -12,6 +12,7 @@
#include "clang/Basic/TokenKinds.h"
#include "llvm/ADT/StringMap.h"
#include "llvm/Support/Threading.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusNameParser.h b/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusNameParser.h
index e931401..63e85a3 100644
--- a/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusNameParser.h
+++ b/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusNameParser.h
@@ -16,6 +16,7 @@
#include "lldb/Utility/ConstString.h"
#include "lldb/lldb-private.h"
+#include <optional>
namespace lldb_private {
diff --git a/lldb/source/Plugins/Language/CPlusPlus/CxxStringTypes.cpp b/lldb/source/Plugins/Language/CPlusPlus/CxxStringTypes.cpp
index 535a9f6..12b6f13 100644
--- a/lldb/source/Plugins/Language/CPlusPlus/CxxStringTypes.cpp
+++ b/lldb/source/Plugins/Language/CPlusPlus/CxxStringTypes.cpp
@@ -27,6 +27,7 @@
#include "lldb/Utility/Stream.h"
#include <algorithm>
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/Language/CPlusPlus/GenericBitset.cpp b/lldb/source/Plugins/Language/CPlusPlus/GenericBitset.cpp
index d1d844b..70b50fa 100644
--- a/lldb/source/Plugins/Language/CPlusPlus/GenericBitset.cpp
+++ b/lldb/source/Plugins/Language/CPlusPlus/GenericBitset.cpp
@@ -11,6 +11,7 @@
#include "Plugins/TypeSystem/Clang/TypeSystemClang.h"
#include "lldb/DataFormatters/FormattersHelpers.h"
#include "lldb/Target/Target.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp b/lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
index 96c5483..f799e37 100644
--- a/lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
+++ b/lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
@@ -28,6 +28,7 @@
#include "Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.h"
#include "Plugins/TypeSystem/Clang/TypeSystemClang.h"
#include "lldb/lldb-enumerations.h"
+#include <optional>
#include <tuple>
using namespace lldb;
diff --git a/lldb/source/Plugins/Language/CPlusPlus/LibCxxInitializerList.cpp b/lldb/source/Plugins/Language/CPlusPlus/LibCxxInitializerList.cpp
index d3be56e3..ab791ee 100644
--- a/lldb/source/Plugins/Language/CPlusPlus/LibCxxInitializerList.cpp
+++ b/lldb/source/Plugins/Language/CPlusPlus/LibCxxInitializerList.cpp
@@ -11,6 +11,7 @@
#include "lldb/Core/ValueObject.h"
#include "lldb/DataFormatters/FormattersHelpers.h"
#include "lldb/Utility/ConstString.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/Language/CPlusPlus/LibCxxSpan.cpp b/lldb/source/Plugins/Language/CPlusPlus/LibCxxSpan.cpp
index 8cd035c..7dc9757 100644
--- a/lldb/source/Plugins/Language/CPlusPlus/LibCxxSpan.cpp
+++ b/lldb/source/Plugins/Language/CPlusPlus/LibCxxSpan.cpp
@@ -12,6 +12,7 @@
#include "lldb/DataFormatters/FormattersHelpers.h"
#include "lldb/Utility/ConstString.h"
#include "llvm/ADT/APSInt.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/Language/CPlusPlus/LibCxxVariant.cpp b/lldb/source/Plugins/Language/CPlusPlus/LibCxxVariant.cpp
index 464425e..8ad3a62 100644
--- a/lldb/source/Plugins/Language/CPlusPlus/LibCxxVariant.cpp
+++ b/lldb/source/Plugins/Language/CPlusPlus/LibCxxVariant.cpp
@@ -14,6 +14,7 @@
#include "llvm/ADT/Optional.h"
#include "llvm/ADT/ScopeExit.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/Language/CPlusPlus/LibCxxVector.cpp b/lldb/source/Plugins/Language/CPlusPlus/LibCxxVector.cpp
index 3e3727a..cb3aa64 100644
--- a/lldb/source/Plugins/Language/CPlusPlus/LibCxxVector.cpp
+++ b/lldb/source/Plugins/Language/CPlusPlus/LibCxxVector.cpp
@@ -11,6 +11,7 @@
#include "lldb/Core/ValueObject.h"
#include "lldb/DataFormatters/FormattersHelpers.h"
#include "lldb/Utility/ConstString.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp b/lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp
index 6aa80f4..1c7245c 100644
--- a/lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp
+++ b/lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp
@@ -19,6 +19,7 @@
#include "lldb/Utility/Endian.h"
#include "lldb/Utility/Status.h"
#include "lldb/Utility/Stream.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/Language/ClangCommon/ClangHighlighter.cpp b/lldb/source/Plugins/Language/ClangCommon/ClangHighlighter.cpp
index fe6eeea..ee45f24 100644
--- a/lldb/source/Plugins/Language/ClangCommon/ClangHighlighter.cpp
+++ b/lldb/source/Plugins/Language/ClangCommon/ClangHighlighter.cpp
@@ -18,6 +18,7 @@
#include "clang/Lex/Lexer.h"
#include "llvm/ADT/StringSet.h"
#include "llvm/Support/MemoryBuffer.h"
+#include <optional>
using namespace lldb_private;
diff --git a/lldb/source/Plugins/Language/ClangCommon/ClangHighlighter.h b/lldb/source/Plugins/Language/ClangCommon/ClangHighlighter.h
index 5257c72..99e7b6a 100644
--- a/lldb/source/Plugins/Language/ClangCommon/ClangHighlighter.h
+++ b/lldb/source/Plugins/Language/ClangCommon/ClangHighlighter.h
@@ -13,6 +13,7 @@
#include "llvm/ADT/StringSet.h"
#include "lldb/Core/Highlighter.h"
+#include <optional>
namespace lldb_private {
diff --git a/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.h b/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.h
index e979087..19a1eaf 100644
--- a/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.h
+++ b/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.h
@@ -17,6 +17,7 @@
#include "lldb/lldb-private.h"
#include "Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.h"
+#include <optional>
namespace lldb_private {
diff --git a/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.h b/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.h
index fe6bf29..5ce0e02 100644
--- a/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.h
+++ b/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.h
@@ -12,6 +12,7 @@
#include <map>
#include <memory>
#include <mutex>
+#include <optional>
#include "AppleObjCRuntime.h"
#include "lldb/lldb-private.h"
diff --git a/lldb/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.cpp b/lldb/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.cpp
index fcc68c8..710a679 100644
--- a/lldb/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.cpp
+++ b/lldb/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.cpp
@@ -27,6 +27,7 @@
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/DJB.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.h b/lldb/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.h
index 7656162..5e919df 100644
--- a/lldb/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.h
+++ b/lldb/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.h
@@ -12,6 +12,7 @@
#include <functional>
#include <map>
#include <memory>
+#include <optional>
#include <unordered_set>
#include "llvm/Support/Casting.h"
diff --git a/lldb/source/Plugins/ObjectContainer/Mach-O-Fileset/ObjectContainerMachOFileset.cpp b/lldb/source/Plugins/ObjectContainer/Mach-O-Fileset/ObjectContainerMachOFileset.cpp
index 30a0ed5..d5b0746 100644
--- a/lldb/source/Plugins/ObjectContainer/Mach-O-Fileset/ObjectContainerMachOFileset.cpp
+++ b/lldb/source/Plugins/ObjectContainer/Mach-O-Fileset/ObjectContainerMachOFileset.cpp
@@ -15,6 +15,7 @@
#include "lldb/Utility/ArchSpec.h"
#include "lldb/Utility/DataBuffer.h"
#include "lldb/Utility/Stream.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/ObjectFile/Breakpad/BreakpadRecords.cpp b/lldb/source/Plugins/ObjectFile/Breakpad/BreakpadRecords.cpp
index e747c15..de1d45d 100644
--- a/lldb/source/Plugins/ObjectFile/Breakpad/BreakpadRecords.cpp
+++ b/lldb/source/Plugins/ObjectFile/Breakpad/BreakpadRecords.cpp
@@ -11,6 +11,7 @@
#include "llvm/ADT/StringSwitch.h"
#include "llvm/Support/Endian.h"
#include "llvm/Support/FormatVariadic.h"
+#include <optional>
using namespace lldb_private;
using namespace lldb_private::breakpad;
diff --git a/lldb/source/Plugins/ObjectFile/Breakpad/BreakpadRecords.h b/lldb/source/Plugins/ObjectFile/Breakpad/BreakpadRecords.h
index 8a11323..ad10609 100644
--- a/lldb/source/Plugins/ObjectFile/Breakpad/BreakpadRecords.h
+++ b/lldb/source/Plugins/ObjectFile/Breakpad/BreakpadRecords.h
@@ -14,6 +14,7 @@
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/Triple.h"
#include "llvm/Support/FormatProviders.h"
+#include <optional>
namespace lldb_private {
namespace breakpad {
diff --git a/lldb/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.cpp b/lldb/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.cpp
index 3d2e200..89180e8 100644
--- a/lldb/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.cpp
+++ b/lldb/source/Plugins/ObjectFile/Breakpad/ObjectFileBreakpad.cpp
@@ -11,6 +11,7 @@
#include "lldb/Core/ModuleSpec.h"
#include "lldb/Core/PluginManager.h"
#include "lldb/Core/Section.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp b/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
index fee30ec..8cc0e8d 100644
--- a/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
+++ b/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
@@ -10,6 +10,7 @@
#include <algorithm>
#include <cassert>
+#include <optional>
#include <unordered_map>
#include "lldb/Core/FileSpecList.h"
diff --git a/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h b/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h
index 5deb2c7..c97e69e 100644
--- a/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h
+++ b/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h
@@ -11,6 +11,7 @@
#include <cstdint>
+#include <optional>
#include <vector>
#include "lldb/Symbol/ObjectFile.h"
diff --git a/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp b/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
index f28555c..8fb7522 100644
--- a/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
+++ b/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
@@ -70,6 +70,7 @@
#include <bitset>
#include <memory>
+#include <optional>
// Unfortunately the signpost header pulls in the system MachO header, too.
#ifdef CPU_TYPE_ARM
diff --git a/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h b/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h
index 150b394..a54e527 100644
--- a/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h
+++ b/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h
@@ -17,6 +17,7 @@
#include "lldb/Utility/RangeMap.h"
#include "lldb/Utility/StreamString.h"
#include "lldb/Utility/UUID.h"
+#include <optional>
// This class needs to be hidden as eventually belongs in a plugin that
// will export the ObjectFile protocol
diff --git a/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp b/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
index d13f088..7595739 100644
--- a/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
+++ b/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
@@ -38,6 +38,7 @@
#include "llvm/Support/FormatAdapters.h"
#include "llvm/Support/Host.h"
#include "llvm/Support/MemoryBuffer.h"
+#include <optional>
#define IMAGE_DOS_SIGNATURE 0x5A4D // MZ
#define IMAGE_NT_SIGNATURE 0x00004550 // PE00
diff --git a/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h b/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h
index e3c48ad..4ff1684 100644
--- a/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h
+++ b/lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.h
@@ -9,6 +9,7 @@
#ifndef LLDB_SOURCE_PLUGINS_OBJECTFILE_PECOFF_OBJECTFILEPECOFF_H
#define LLDB_SOURCE_PLUGINS_OBJECTFILE_PECOFF_OBJECTFILEPECOFF_H
+#include <optional>
#include <vector>
#include "lldb/Symbol/ObjectFile.h"
diff --git a/lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.cpp b/lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.cpp
index a8f47ff..277a0af 100644
--- a/lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.cpp
+++ b/lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.cpp
@@ -24,6 +24,7 @@
#include "llvm/BinaryFormat/Wasm.h"
#include "llvm/Support/Endian.h"
#include "llvm/Support/Format.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.h b/lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.h
index 5676030..2b8836e 100644
--- a/lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.h
+++ b/lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.h
@@ -11,6 +11,7 @@
#include "lldb/Symbol/ObjectFile.h"
#include "lldb/Utility/ArchSpec.h"
+#include <optional>
namespace lldb_private {
namespace wasm {
diff --git a/lldb/source/Plugins/Platform/Android/PlatformAndroid.cpp b/lldb/source/Plugins/Platform/Android/PlatformAndroid.cpp
index 327a6f4..2f35a2b 100644
--- a/lldb/source/Plugins/Platform/Android/PlatformAndroid.cpp
+++ b/lldb/source/Plugins/Platform/Android/PlatformAndroid.cpp
@@ -20,6 +20,7 @@
#include "PlatformAndroid.h"
#include "PlatformAndroidRemoteGDBServer.h"
#include "lldb/Target/Target.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/Platform/Android/PlatformAndroidRemoteGDBServer.cpp b/lldb/source/Plugins/Platform/Android/PlatformAndroidRemoteGDBServer.cpp
index 7c69439..d16622a 100644
--- a/lldb/source/Plugins/Platform/Android/PlatformAndroidRemoteGDBServer.cpp
+++ b/lldb/source/Plugins/Platform/Android/PlatformAndroidRemoteGDBServer.cpp
@@ -15,6 +15,7 @@
#include "PlatformAndroidRemoteGDBServer.h"
+#include <optional>
#include <sstream>
using namespace lldb;
diff --git a/lldb/source/Plugins/Platform/Android/PlatformAndroidRemoteGDBServer.h b/lldb/source/Plugins/Platform/Android/PlatformAndroidRemoteGDBServer.h
index d385360..7468a90 100644
--- a/lldb/source/Plugins/Platform/Android/PlatformAndroidRemoteGDBServer.h
+++ b/lldb/source/Plugins/Platform/Android/PlatformAndroidRemoteGDBServer.h
@@ -10,6 +10,7 @@
#define LLDB_SOURCE_PLUGINS_PLATFORM_ANDROID_PLATFORMANDROIDREMOTEGDBSERVER_H
#include <map>
+#include <optional>
#include <utility>
#include "Plugins/Platform/gdb-server/PlatformRemoteGDBServer.h"
diff --git a/lldb/source/Plugins/Platform/MacOSX/PlatformAppleSimulator.h b/lldb/source/Plugins/Platform/MacOSX/PlatformAppleSimulator.h
index f897b78..53801ed 100644
--- a/lldb/source/Plugins/Platform/MacOSX/PlatformAppleSimulator.h
+++ b/lldb/source/Plugins/Platform/MacOSX/PlatformAppleSimulator.h
@@ -23,6 +23,7 @@
#include "llvm/ADT/Triple.h"
#include <mutex>
+#include <optional>
#include <vector>
namespace lldb_private {
diff --git a/lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp b/lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
index fde09884..8e2a96b 100644
--- a/lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
+++ b/lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
@@ -13,6 +13,7 @@
#include <algorithm>
#include <memory>
#include <mutex>
+#include <optional>
#include "lldb/Breakpoint/BreakpointLocation.h"
#include "lldb/Breakpoint/BreakpointSite.h"
diff --git a/lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.h b/lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.h
index 36b52f4..230efe7 100644
--- a/lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.h
+++ b/lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.h
@@ -29,6 +29,7 @@
#include "llvm/Support/VersionTuple.h"
#include <mutex>
+#include <optional>
#include <string>
#include <vector>
diff --git a/lldb/source/Plugins/Platform/MacOSX/PlatformDarwinDevice.cpp b/lldb/source/Plugins/Platform/MacOSX/PlatformDarwinDevice.cpp
index f4f866b..49d8a8e 100644
--- a/lldb/source/Plugins/Platform/MacOSX/PlatformDarwinDevice.cpp
+++ b/lldb/source/Plugins/Platform/MacOSX/PlatformDarwinDevice.cpp
@@ -14,6 +14,7 @@
#include "lldb/Utility/FileSpec.h"
#include "lldb/Utility/LLDBLog.h"
#include "lldb/Utility/Log.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/Platform/MacOSX/PlatformRemoteDarwinDevice.cpp b/lldb/source/Plugins/Platform/MacOSX/PlatformRemoteDarwinDevice.cpp
index 7dd8c38..8360458 100644
--- a/lldb/source/Plugins/Platform/MacOSX/PlatformRemoteDarwinDevice.cpp
+++ b/lldb/source/Plugins/Platform/MacOSX/PlatformRemoteDarwinDevice.cpp
@@ -23,6 +23,7 @@
#include "lldb/Utility/Log.h"
#include "lldb/Utility/Status.h"
#include "lldb/Utility/StreamString.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/Platform/MacOSX/objcxx/PlatformiOSSimulatorCoreSimulatorSupport.h b/lldb/source/Plugins/Platform/MacOSX/objcxx/PlatformiOSSimulatorCoreSimulatorSupport.h
index a35efd5..d980dd6 100644
--- a/lldb/source/Plugins/Platform/MacOSX/objcxx/PlatformiOSSimulatorCoreSimulatorSupport.h
+++ b/lldb/source/Plugins/Platform/MacOSX/objcxx/PlatformiOSSimulatorCoreSimulatorSupport.h
@@ -11,6 +11,7 @@
#define LLDB_SOURCE_PLUGINS_PLATFORM_MACOSX_OBJCXX_PLATFORMIOSSIMULATORCORESIMULATORSUPPORT_H
#include <functional>
+#include <optional>
#include <ostream>
#include <string>
#include <vector>
diff --git a/lldb/source/Plugins/Platform/POSIX/PlatformPOSIX.cpp b/lldb/source/Plugins/Platform/POSIX/PlatformPOSIX.cpp
index fb0d39e..5932581 100644
--- a/lldb/source/Plugins/Platform/POSIX/PlatformPOSIX.cpp
+++ b/lldb/source/Plugins/Platform/POSIX/PlatformPOSIX.cpp
@@ -33,6 +33,7 @@
#include "lldb/Utility/Log.h"
#include "lldb/Utility/StreamString.h"
#include "llvm/ADT/ScopeExit.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/Platform/Windows/PlatformWindows.cpp b/lldb/source/Plugins/Platform/Windows/PlatformWindows.cpp
index e5e2358..7cbc504 100644
--- a/lldb/source/Plugins/Platform/Windows/PlatformWindows.cpp
+++ b/lldb/source/Plugins/Platform/Windows/PlatformWindows.cpp
@@ -9,6 +9,7 @@
#include "PlatformWindows.h"
#include <cstdio>
+#include <optional>
#if defined(_WIN32)
#include "lldb/Host/windows/windows.h"
#include <winsock2.h>
diff --git a/lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp b/lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp
index 780f51c..0d58830 100644
--- a/lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp
+++ b/lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp
@@ -33,6 +33,7 @@
#include "Plugins/Process/Utility/GDBRemoteSignals.h"
#include "Plugins/Process/gdb-remote/ProcessGDBRemote.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.h b/lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.h
index 3caf531..2e04a6e 100644
--- a/lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.h
+++ b/lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.h
@@ -10,6 +10,7 @@
#ifndef LLDB_SOURCE_PLUGINS_PLATFORM_GDB_SERVER_PLATFORMREMOTEGDBSERVER_H
#define LLDB_SOURCE_PLUGINS_PLATFORM_GDB_SERVER_PLATFORMREMOTEGDBSERVER_H
+#include <optional>
#include <string>
#include "Plugins/Process/Utility/GDBRemoteSignals.h"
diff --git a/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_mips64.cpp b/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_mips64.cpp
index 83664b5..b42818c 100644
--- a/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_mips64.cpp
+++ b/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_mips64.cpp
@@ -22,6 +22,7 @@
#include <sys/ptrace.h>
#include <sys/types.h>
// clang-format on
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_mips64.h b/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_mips64.h
index 7a2c0b3..7256fbc 100644
--- a/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_mips64.h
+++ b/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_mips64.h
@@ -20,6 +20,7 @@
#include "Plugins/Process/Utility/RegisterContextFreeBSD_mips64.h"
#include <array>
+#include <optional>
namespace lldb_private {
namespace process_freebsd {
diff --git a/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_powerpc.cpp b/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_powerpc.cpp
index ee125e5..21d2013 100644
--- a/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_powerpc.cpp
+++ b/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_powerpc.cpp
@@ -24,6 +24,7 @@
#include <sys/ptrace.h>
#include <sys/types.h>
// clang-format on
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_powerpc.h b/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_powerpc.h
index c773943..b2f15ed 100644
--- a/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_powerpc.h
+++ b/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_powerpc.h
@@ -20,6 +20,7 @@
#include "Plugins/Process/Utility/RegisterContextFreeBSD_powerpc.h"
#include <array>
+#include <optional>
namespace lldb_private {
namespace process_freebsd {
diff --git a/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_x86_64.cpp b/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_x86_64.cpp
index 80a7303..475433a 100644
--- a/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_x86_64.cpp
+++ b/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_x86_64.cpp
@@ -25,6 +25,7 @@
#include "NativeProcessFreeBSD.h"
#include "Plugins/Process/Utility/RegisterContextFreeBSD_i386.h"
#include "Plugins/Process/Utility/RegisterContextFreeBSD_x86_64.h"
+#include <optional>
using namespace lldb_private;
using namespace lldb_private::process_freebsd;
diff --git a/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_x86_64.h b/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_x86_64.h
index 366a89b..865f93b 100644
--- a/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_x86_64.h
+++ b/lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_x86_64.h
@@ -19,6 +19,7 @@
// clang-format on
#include <array>
+#include <optional>
#include "Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD.h"
#include "Plugins/Process/Utility/RegisterContext_x86.h"
diff --git a/lldb/source/Plugins/Process/Linux/IntelPTCollector.cpp b/lldb/source/Plugins/Process/Linux/IntelPTCollector.cpp
index f0e4d0e..95960a0 100644
--- a/lldb/source/Plugins/Process/Linux/IntelPTCollector.cpp
+++ b/lldb/source/Plugins/Process/Linux/IntelPTCollector.cpp
@@ -20,6 +20,7 @@
#include <fcntl.h>
#include <fstream>
#include <linux/perf_event.h>
+#include <optional>
#include <sstream>
#include <sys/ioctl.h>
#include <sys/syscall.h>
diff --git a/lldb/source/Plugins/Process/Linux/IntelPTMultiCoreTrace.cpp b/lldb/source/Plugins/Process/Linux/IntelPTMultiCoreTrace.cpp
index cc7f91f..642ba939 100644
--- a/lldb/source/Plugins/Process/Linux/IntelPTMultiCoreTrace.cpp
+++ b/lldb/source/Plugins/Process/Linux/IntelPTMultiCoreTrace.cpp
@@ -9,6 +9,7 @@
#include "IntelPTMultiCoreTrace.h"
#include "Plugins/Process/POSIX/ProcessPOSIXLog.h"
#include "Procfs.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/Process/Linux/IntelPTMultiCoreTrace.h b/lldb/source/Plugins/Process/Linux/IntelPTMultiCoreTrace.h
index 1f042c6..78ce9e2 100644
--- a/lldb/source/Plugins/Process/Linux/IntelPTMultiCoreTrace.h
+++ b/lldb/source/Plugins/Process/Linux/IntelPTMultiCoreTrace.h
@@ -16,6 +16,7 @@
#include "lldb/lldb-types.h"
#include "llvm/Support/Error.h"
#include <memory>
+#include <optional>
namespace lldb_private {
namespace process_linux {
diff --git a/lldb/source/Plugins/Process/Linux/IntelPTPerThreadProcessTrace.cpp b/lldb/source/Plugins/Process/Linux/IntelPTPerThreadProcessTrace.cpp
index 9e486c15..a30d4d6 100644
--- a/lldb/source/Plugins/Process/Linux/IntelPTPerThreadProcessTrace.cpp
+++ b/lldb/source/Plugins/Process/Linux/IntelPTPerThreadProcessTrace.cpp
@@ -7,6 +7,7 @@
//===----------------------------------------------------------------------===//
#include "IntelPTPerThreadProcessTrace.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/Process/Linux/IntelPTPerThreadProcessTrace.h b/lldb/source/Plugins/Process/Linux/IntelPTPerThreadProcessTrace.h
index e6efc50..c325849 100644
--- a/lldb/source/Plugins/Process/Linux/IntelPTPerThreadProcessTrace.h
+++ b/lldb/source/Plugins/Process/Linux/IntelPTPerThreadProcessTrace.h
@@ -12,6 +12,7 @@
#include "IntelPTProcessTrace.h"
#include "IntelPTSingleBufferTrace.h"
#include "IntelPTThreadTraceCollection.h"
+#include <optional>
namespace lldb_private {
namespace process_linux {
diff --git a/lldb/source/Plugins/Process/Linux/IntelPTProcessTrace.h b/lldb/source/Plugins/Process/Linux/IntelPTProcessTrace.h
index bc2ef8c..46c7b83 100644
--- a/lldb/source/Plugins/Process/Linux/IntelPTProcessTrace.h
+++ b/lldb/source/Plugins/Process/Linux/IntelPTProcessTrace.h
@@ -11,6 +11,7 @@
#include "lldb/Utility/TraceIntelPTGDBRemotePackets.h"
#include <memory>
+#include <optional>
namespace lldb_private {
namespace process_linux {
diff --git a/lldb/source/Plugins/Process/Linux/IntelPTThreadTraceCollection.cpp b/lldb/source/Plugins/Process/Linux/IntelPTThreadTraceCollection.cpp
index e42f627..21e088d 100644
--- a/lldb/source/Plugins/Process/Linux/IntelPTThreadTraceCollection.cpp
+++ b/lldb/source/Plugins/Process/Linux/IntelPTThreadTraceCollection.cpp
@@ -7,6 +7,7 @@
//===----------------------------------------------------------------------===//
#include "IntelPTThreadTraceCollection.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/Process/Linux/IntelPTThreadTraceCollection.h b/lldb/source/Plugins/Process/Linux/IntelPTThreadTraceCollection.h
index 25bfbbe..e573e0b 100644
--- a/lldb/source/Plugins/Process/Linux/IntelPTThreadTraceCollection.h
+++ b/lldb/source/Plugins/Process/Linux/IntelPTThreadTraceCollection.h
@@ -10,6 +10,7 @@
#define liblldb_IntelPTPerThreadTraceCollection_H_
#include "IntelPTSingleBufferTrace.h"
+#include <optional>
namespace lldb_private {
namespace process_linux {
diff --git a/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp b/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
index 5485d8c..40c3e34 100644
--- a/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
+++ b/lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp
@@ -15,6 +15,7 @@
#include <fstream>
#include <mutex>
+#include <optional>
#include <sstream>
#include <string>
#include <unordered_map>
diff --git a/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux.h b/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux.h
index f715d58..9de009f 100644
--- a/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux.h
+++ b/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux.h
@@ -13,6 +13,7 @@
#include "lldb/Host/common/NativeThreadProtocol.h"
#include "lldb/Target/MemoryTagManager.h"
#include "llvm/Support/Error.h"
+#include <optional>
namespace lldb_private {
namespace process_linux {
diff --git a/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp b/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
index 6c04f77..6032ca2 100644
--- a/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
+++ b/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
@@ -30,6 +30,7 @@
#include <sys/uio.h>
// NT_PRSTATUS and NT_FPREGSET definition
#include <elf.h>
+#include <optional>
#ifndef NT_ARM_SVE
#define NT_ARM_SVE 0x405 /* ARM Scalable Vector Extension */
diff --git a/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86_64.cpp b/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86_64.cpp
index ba6be23..78715ab 100644
--- a/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86_64.cpp
+++ b/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86_64.cpp
@@ -19,6 +19,7 @@
#include "lldb/Utility/Status.h"
#include <cpuid.h>
#include <linux/elf.h>
+#include <optional>
// Newer toolchains define __get_cpuid_count in cpuid.h, but some
// older-but-still-supported ones (e.g. gcc 5.4.0) don't, so we
diff --git a/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86_64.h b/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86_64.h
index 7c29b63..37f1fa4 100644
--- a/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86_64.h
+++ b/lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86_64.h
@@ -15,6 +15,7 @@
#include "Plugins/Process/Utility/NativeRegisterContextDBReg_x86.h"
#include "Plugins/Process/Utility/RegisterContext_x86.h"
#include "Plugins/Process/Utility/lldb-x86-register-enums.h"
+#include <optional>
#include <sys/uio.h>
namespace lldb_private {
diff --git a/lldb/source/Plugins/Process/Linux/Procfs.cpp b/lldb/source/Plugins/Process/Linux/Procfs.cpp
index f59883d..863c627 100644
--- a/lldb/source/Plugins/Process/Linux/Procfs.cpp
+++ b/lldb/source/Plugins/Process/Linux/Procfs.cpp
@@ -10,6 +10,7 @@
#include "lldb/Host/linux/Support.h"
#include "llvm/Support/MemoryBuffer.h"
#include "llvm/Support/Threading.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/Process/NetBSD/NativeRegisterContextNetBSD_x86_64.cpp b/lldb/source/Plugins/Process/NetBSD/NativeRegisterContextNetBSD_x86_64.cpp
index 52b3044..b9da5e4 100644
--- a/lldb/source/Plugins/Process/NetBSD/NativeRegisterContextNetBSD_x86_64.cpp
+++ b/lldb/source/Plugins/Process/NetBSD/NativeRegisterContextNetBSD_x86_64.cpp
@@ -31,6 +31,7 @@
#include <err.h>
#include <cstdint>
#include <cstdlib>
+#include <optional>
// clang-format on
using namespace lldb_private;
diff --git a/lldb/source/Plugins/Process/NetBSD/NativeRegisterContextNetBSD_x86_64.h b/lldb/source/Plugins/Process/NetBSD/NativeRegisterContextNetBSD_x86_64.h
index 795cbee..642b6547 100644
--- a/lldb/source/Plugins/Process/NetBSD/NativeRegisterContextNetBSD_x86_64.h
+++ b/lldb/source/Plugins/Process/NetBSD/NativeRegisterContextNetBSD_x86_64.h
@@ -19,6 +19,7 @@
// clang-format on
#include <array>
+#include <optional>
#include "Plugins/Process/NetBSD/NativeRegisterContextNetBSD.h"
#include "Plugins/Process/Utility/RegisterContext_x86.h"
diff --git a/lldb/source/Plugins/Process/POSIX/NativeProcessELF.cpp b/lldb/source/Plugins/Process/POSIX/NativeProcessELF.cpp
index a09cb98..242ea3b 100644
--- a/lldb/source/Plugins/Process/POSIX/NativeProcessELF.cpp
+++ b/lldb/source/Plugins/Process/POSIX/NativeProcessELF.cpp
@@ -9,6 +9,7 @@
#include "NativeProcessELF.h"
#include "lldb/Utility/DataExtractor.h"
+#include <optional>
namespace lldb_private {
diff --git a/lldb/source/Plugins/Process/POSIX/NativeProcessELF.h b/lldb/source/Plugins/Process/POSIX/NativeProcessELF.h
index 8e92899..a598fbc 100644
--- a/lldb/source/Plugins/Process/POSIX/NativeProcessELF.h
+++ b/lldb/source/Plugins/Process/POSIX/NativeProcessELF.h
@@ -12,6 +12,7 @@
#include "Plugins/Process/Utility/AuxVector.h"
#include "lldb/Host/common/NativeProcessProtocol.h"
#include "llvm/BinaryFormat/ELF.h"
+#include <optional>
namespace lldb_private {
diff --git a/lldb/source/Plugins/Process/Utility/AuxVector.cpp b/lldb/source/Plugins/Process/Utility/AuxVector.cpp
index 821f569..ee64e22 100644
--- a/lldb/source/Plugins/Process/Utility/AuxVector.cpp
+++ b/lldb/source/Plugins/Process/Utility/AuxVector.cpp
@@ -7,6 +7,7 @@
//===----------------------------------------------------------------------===//
#include "AuxVector.h"
+#include <optional>
AuxVector::AuxVector(const lldb_private::DataExtractor &data) {
ParseAuxv(data);
diff --git a/lldb/source/Plugins/Process/Utility/AuxVector.h b/lldb/source/Plugins/Process/Utility/AuxVector.h
index 07a0010e..1eead3f 100644
--- a/lldb/source/Plugins/Process/Utility/AuxVector.h
+++ b/lldb/source/Plugins/Process/Utility/AuxVector.h
@@ -11,6 +11,7 @@
#include "lldb/Utility/DataExtractor.h"
#include "lldb/Utility/Log.h"
+#include <optional>
#include <unordered_map>
class AuxVector {
diff --git a/lldb/source/Plugins/Process/Utility/LinuxProcMaps.cpp b/lldb/source/Plugins/Process/Utility/LinuxProcMaps.cpp
index 2a15f98..bf45c65 100644
--- a/lldb/source/Plugins/Process/Utility/LinuxProcMaps.cpp
+++ b/lldb/source/Plugins/Process/Utility/LinuxProcMaps.cpp
@@ -11,6 +11,7 @@
#include "lldb/Utility/Status.h"
#include "lldb/Utility/StringExtractor.h"
#include "llvm/ADT/StringRef.h"
+#include <optional>
using namespace lldb_private;
diff --git a/lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp b/lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp
index c0edf15..77c0b8f 100644
--- a/lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp
+++ b/lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp
@@ -27,6 +27,7 @@
#include "lldb/Target/ThreadPlan.h"
#include "lldb/Target/UnixSignals.h"
#include "lldb/Utility/StreamString.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/Process/Utility/StopInfoMachException.h b/lldb/source/Plugins/Process/Utility/StopInfoMachException.h
index da4569f..a22cb85 100644
--- a/lldb/source/Plugins/Process/Utility/StopInfoMachException.h
+++ b/lldb/source/Plugins/Process/Utility/StopInfoMachException.h
@@ -9,6 +9,7 @@
#ifndef LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_STOPINFOMACHEXCEPTION_H
#define LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_STOPINFOMACHEXCEPTION_H
+#include <optional>
#include <string>
#include "lldb/Target/StopInfo.h"
diff --git a/lldb/source/Plugins/Process/Windows/Common/DebuggerThread.cpp b/lldb/source/Plugins/Process/Windows/Common/DebuggerThread.cpp
index 77649e7..7361cae 100644
--- a/lldb/source/Plugins/Process/Windows/Common/DebuggerThread.cpp
+++ b/lldb/source/Plugins/Process/Windows/Common/DebuggerThread.cpp
@@ -30,6 +30,7 @@
#include "llvm/Support/Threading.h"
#include "llvm/Support/raw_ostream.h"
+#include <optional>
#include <psapi.h>
#ifndef STATUS_WX86_BREAKPOINT
diff --git a/lldb/source/Plugins/Process/elf-core/RegisterUtilities.cpp b/lldb/source/Plugins/Process/elf-core/RegisterUtilities.cpp
index 8482ae8..03106c6 100644
--- a/lldb/source/Plugins/Process/elf-core/RegisterUtilities.cpp
+++ b/lldb/source/Plugins/Process/elf-core/RegisterUtilities.cpp
@@ -8,6 +8,7 @@
#include "Plugins/Process/elf-core/RegisterUtilities.h"
#include "llvm/ADT/STLExtras.h"
+#include <optional>
using namespace lldb_private;
diff --git a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
index 29e9620..7442f48 100644
--- a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
+++ b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
@@ -12,6 +12,7 @@
#include <sys/stat.h>
#include <numeric>
+#include <optional>
#include <sstream>
#include "lldb/Core/ModuleSpec.h"
diff --git a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
index 4f37c0e..c48852b 100644
--- a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
+++ b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
@@ -14,6 +14,7 @@
#include <chrono>
#include <map>
#include <mutex>
+#include <optional>
#include <string>
#include <vector>
diff --git a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp
index c2c01d1..c038ff7 100644
--- a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp
+++ b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp
@@ -16,6 +16,7 @@
#include <chrono>
#include <cstring>
+#include <optional>
#include "lldb/Core/ModuleSpec.h"
#include "lldb/Host/Config.h"
diff --git a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
index 13446d5..03a2e73 100644
--- a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
+++ b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
@@ -10,10 +10,10 @@
#include "lldb/Host/Config.h"
-
#include <chrono>
#include <cstring>
#include <limits>
+#include <optional>
#include <thread>
#include "GDBRemoteCommunicationServerLLGS.h"
diff --git a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp
index 0c2e523..e4187ef 100644
--- a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp
+++ b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp
@@ -14,6 +14,7 @@
#include <csignal>
#include <cstring>
#include <mutex>
+#include <optional>
#include <sstream>
#include <thread>
diff --git a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.h b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.h
index 8dbd5ba..397d733 100644
--- a/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.h
+++ b/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.h
@@ -11,6 +11,7 @@
#include <map>
#include <mutex>
+#include <optional>
#include <set>
#include "GDBRemoteCommunicationServerCommon.h"
diff --git a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
index 07b41be..3c8fb93 100644
--- a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
+++ b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
@@ -68,6 +68,7 @@
#include <map>
#include <memory>
#include <mutex>
+#include <optional>
#include <sstream>
#include <thread>
diff --git a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
index 685f400..4b46428 100644
--- a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
+++ b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
@@ -12,6 +12,7 @@
#include <atomic>
#include <map>
#include <mutex>
+#include <optional>
#include <string>
#include <vector>
diff --git a/lldb/source/Plugins/Process/minidump/MinidumpParser.cpp b/lldb/source/Plugins/Process/minidump/MinidumpParser.cpp
index 379189a..33bb7c4 100644
--- a/lldb/source/Plugins/Process/minidump/MinidumpParser.cpp
+++ b/lldb/source/Plugins/Process/minidump/MinidumpParser.cpp
@@ -19,6 +19,7 @@
// C++ includes
#include <algorithm>
#include <map>
+#include <optional>
#include <vector>
#include <utility>
diff --git a/lldb/source/Plugins/Process/minidump/MinidumpParser.h b/lldb/source/Plugins/Process/minidump/MinidumpParser.h
index ff7134f..f6486b7 100644
--- a/lldb/source/Plugins/Process/minidump/MinidumpParser.h
+++ b/lldb/source/Plugins/Process/minidump/MinidumpParser.h
@@ -27,6 +27,7 @@
// C++ includes
#include <cstring>
+#include <optional>
#include <unordered_map>
namespace lldb_private {
diff --git a/lldb/source/Plugins/Process/minidump/MinidumpTypes.cpp b/lldb/source/Plugins/Process/minidump/MinidumpTypes.cpp
index b3ff6bf..4685f5a 100644
--- a/lldb/source/Plugins/Process/minidump/MinidumpTypes.cpp
+++ b/lldb/source/Plugins/Process/minidump/MinidumpTypes.cpp
@@ -7,6 +7,7 @@
//===----------------------------------------------------------------------===//
#include "MinidumpTypes.h"
+#include <optional>
// C includes
// C++ includes
diff --git a/lldb/source/Plugins/Process/minidump/MinidumpTypes.h b/lldb/source/Plugins/Process/minidump/MinidumpTypes.h
index c05fcfe..4692ea2 100644
--- a/lldb/source/Plugins/Process/minidump/MinidumpTypes.h
+++ b/lldb/source/Plugins/Process/minidump/MinidumpTypes.h
@@ -19,6 +19,7 @@
#include "llvm/BinaryFormat/Minidump.h"
#include "llvm/Support/ConvertUTF.h"
#include "llvm/Support/Endian.h"
+#include <optional>
// C includes
// C++ includes
diff --git a/lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp b/lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp
index 8722039..b3c961c 100644
--- a/lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp
+++ b/lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp
@@ -37,6 +37,7 @@
#include "Plugins/Process/Utility/StopInfoMachException.h"
#include <memory>
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/Process/minidump/ProcessMinidump.h b/lldb/source/Plugins/Process/minidump/ProcessMinidump.h
index 5360269..bfffa95 100644
--- a/lldb/source/Plugins/Process/minidump/ProcessMinidump.h
+++ b/lldb/source/Plugins/Process/minidump/ProcessMinidump.h
@@ -20,7 +20,7 @@
#include "llvm/Support/Format.h"
#include "llvm/Support/raw_ostream.h"
-
+#include <optional>
namespace lldb_private {
diff --git a/lldb/source/Plugins/Process/scripted/ScriptedThread.cpp b/lldb/source/Plugins/Process/scripted/ScriptedThread.cpp
index f13cdd3..76bde53 100644
--- a/lldb/source/Plugins/Process/scripted/ScriptedThread.cpp
+++ b/lldb/source/Plugins/Process/scripted/ScriptedThread.cpp
@@ -18,6 +18,7 @@
#include "lldb/Utility/DataBufferHeap.h"
#include "lldb/Utility/LLDBLog.h"
#include <memory>
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h b/lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h
index 6ee6450..a09dfb4 100644
--- a/lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h
+++ b/lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h
@@ -9,6 +9,7 @@
#ifndef LLDB_PLUGINS_SCRIPTINTERPRETER_PYTHON_SWIGPYTHONBRIDGE_H
#define LLDB_PLUGINS_SCRIPTINTERPRETER_PYTHON_SWIGPYTHONBRIDGE_H
+#include <optional>
#include <string>
#include "lldb/Host/Config.h"
diff --git a/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp b/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
index 117a057..3cff7fa 100644
--- a/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
+++ b/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
@@ -50,6 +50,7 @@
#include <cstdlib>
#include <memory>
#include <mutex>
+#include <optional>
#include <string>
using namespace lldb;
diff --git a/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedProcessPythonInterface.cpp b/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedProcessPythonInterface.cpp
index f05f8f8..311da2b 100644
--- a/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedProcessPythonInterface.cpp
+++ b/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedProcessPythonInterface.cpp
@@ -20,6 +20,7 @@
#include "ScriptInterpreterPythonImpl.h"
#include "ScriptedProcessPythonInterface.h"
#include "ScriptedThreadPythonInterface.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedProcessPythonInterface.h b/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedProcessPythonInterface.h
index 622d225..680b833 100644
--- a/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedProcessPythonInterface.h
+++ b/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedProcessPythonInterface.h
@@ -15,6 +15,7 @@
#include "ScriptedPythonInterface.h"
#include "lldb/Interpreter/ScriptedProcessInterface.h"
+#include <optional>
namespace lldb_private {
class ScriptedProcessPythonInterface : public ScriptedProcessInterface,
diff --git a/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedPythonInterface.cpp b/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedPythonInterface.cpp
index 8adc979..ee90666 100644
--- a/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedPythonInterface.cpp
+++ b/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedPythonInterface.cpp
@@ -18,6 +18,7 @@
#include "SWIGPythonBridge.h"
#include "ScriptInterpreterPythonImpl.h"
#include "ScriptedPythonInterface.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedPythonInterface.h b/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedPythonInterface.h
index 268430f..6d77a0a 100644
--- a/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedPythonInterface.h
+++ b/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedPythonInterface.h
@@ -11,6 +11,7 @@
#if LLDB_ENABLE_PYTHON
+#include <optional>
#include <sstream>
#include <tuple>
#include <type_traits>
diff --git a/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedThreadPythonInterface.cpp b/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedThreadPythonInterface.cpp
index d52a9c2..2df3325 100644
--- a/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedThreadPythonInterface.cpp
+++ b/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedThreadPythonInterface.cpp
@@ -18,6 +18,7 @@
#include "SWIGPythonBridge.h"
#include "ScriptInterpreterPythonImpl.h"
#include "ScriptedThreadPythonInterface.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedThreadPythonInterface.h b/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedThreadPythonInterface.h
index 63ce1c1..3b7fec6 100644
--- a/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedThreadPythonInterface.h
+++ b/lldb/source/Plugins/ScriptInterpreter/Python/ScriptedThreadPythonInterface.h
@@ -15,6 +15,7 @@
#include "ScriptedPythonInterface.h"
#include "lldb/Interpreter/ScriptedProcessInterface.h"
+#include <optional>
namespace lldb_private {
class ScriptedThreadPythonInterface : public ScriptedThreadInterface,
diff --git a/lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.cpp b/lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.cpp
index 07bc357..99fcd26 100644
--- a/lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.cpp
+++ b/lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.cpp
@@ -21,6 +21,7 @@
#include "lldb/Utility/Log.h"
#include "lldb/Utility/StreamString.h"
#include "llvm/ADT/StringExtras.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.h b/lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.h
index 2ffff51..2b0e9ae 100644
--- a/lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.h
+++ b/lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.h
@@ -15,6 +15,7 @@
#include "lldb/Symbol/PostfixExpression.h"
#include "lldb/Symbol/SymbolFile.h"
#include "lldb/Symbol/UnwindPlan.h"
+#include <optional>
namespace lldb_private {
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DIERef.cpp b/lldb/source/Plugins/SymbolFile/DWARF/DIERef.cpp
index 909db83..f6a9b60 100644
--- a/lldb/source/Plugins/SymbolFile/DWARF/DIERef.cpp
+++ b/lldb/source/Plugins/SymbolFile/DWARF/DIERef.cpp
@@ -10,6 +10,7 @@
#include "lldb/Utility/DataEncoder.h"
#include "lldb/Utility/DataExtractor.h"
#include "llvm/Support/Format.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DIERef.h b/lldb/source/Plugins/SymbolFile/DWARF/DIERef.h
index 7e5d7a6..c141151 100644
--- a/lldb/source/Plugins/SymbolFile/DWARF/DIERef.h
+++ b/lldb/source/Plugins/SymbolFile/DWARF/DIERef.h
@@ -13,6 +13,7 @@
#include "llvm/ADT/Optional.h"
#include "llvm/Support/FormatProviders.h"
#include <cassert>
+#include <optional>
#include <vector>
/// Identifies a DWARF debug info entry within a given Module. It contains three
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParser.cpp b/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParser.cpp
index 0292e743..8144205 100644
--- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParser.cpp
+++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParser.cpp
@@ -13,6 +13,7 @@
#include "lldb/Core/ValueObject.h"
#include "lldb/Symbol/SymbolFile.h"
#include "lldb/Target/StackFrame.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParser.h b/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParser.h
index 412616a..dfd22b5 100644
--- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParser.h
+++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParser.h
@@ -15,6 +15,7 @@
#include "lldb/Symbol/CompilerDecl.h"
#include "lldb/Symbol/CompilerDeclContext.h"
#include "lldb/lldb-enumerations.h"
+#include <optional>
class DWARFDIE;
namespace lldb_private {
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp b/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
index a15302a..5acb70d 100644
--- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
+++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
@@ -45,6 +45,7 @@
#include <map>
#include <memory>
+#include <optional>
#include <vector>
//#define ENABLE_DEBUG_PRINTF // COMMENT OUT THIS LINE PRIOR TO CHECKIN
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h b/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
index b14e9e6..431ee34 100644
--- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
+++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
@@ -25,6 +25,7 @@
#include "Plugins/ExpressionParser/Clang/ClangASTImporter.h"
#include "Plugins/TypeSystem/Clang/TypeSystemClang.h"
+#include <optional>
#include <vector>
namespace lldb_private {
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFBaseDIE.cpp b/lldb/source/Plugins/SymbolFile/DWARF/DWARFBaseDIE.cpp
index 23835d8..6c1e5bc 100644
--- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFBaseDIE.cpp
+++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFBaseDIE.cpp
@@ -15,6 +15,7 @@
#include "lldb/Core/Module.h"
#include "lldb/Symbol/ObjectFile.h"
#include "lldb/Utility/Log.h"
+#include <optional>
using namespace lldb_private;
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFBaseDIE.h b/lldb/source/Plugins/SymbolFile/DWARF/DWARFBaseDIE.h
index 6ee887d..315eb79 100644
--- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFBaseDIE.h
+++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFBaseDIE.h
@@ -13,6 +13,7 @@
#include "lldb/lldb-types.h"
#include "llvm/Support/Error.h"
+#include <optional>
class DIERef;
class DWARFASTParser;
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFContext.cpp b/lldb/source/Plugins/SymbolFile/DWARF/DWARFContext.cpp
index d76ff19..e0f02fa 100644
--- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFContext.cpp
+++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFContext.cpp
@@ -9,6 +9,7 @@
#include "DWARFContext.h"
#include "lldb/Core/Section.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFContext.h b/lldb/source/Plugins/SymbolFile/DWARF/DWARFContext.h
index 92161a2..d4390a5 100644
--- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFContext.h
+++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFContext.h
@@ -15,6 +15,7 @@
#include "llvm/DebugInfo/DWARF/DWARFContext.h"
#include "llvm/Support/Threading.h"
#include <memory>
+#include <optional>
namespace lldb_private {
class DWARFContext {
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp
index 481a8cc..bb2cb0e 100644
--- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp
+++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp
@@ -11,6 +11,7 @@
#include <cassert>
#include <algorithm>
+#include <optional>
#include "llvm/Support/LEB128.h"
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.h b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.h
index de34dc5..e499e8e 100644
--- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.h
+++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.h
@@ -17,6 +17,7 @@
#include "DWARFDebugAbbrev.h"
#include "DWARFDebugRanges.h"
#include <map>
+#include <optional>
#include <set>
#include <vector>
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.cpp b/lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.cpp
index 32960c2..d5802a3 100644
--- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.cpp
+++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.cpp
@@ -7,6 +7,7 @@
//===----------------------------------------------------------------------===//
#include <cassert>
+#include <optional>
#include "lldb/Core/Module.h"
#include "lldb/Core/dwarf.h"
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.h b/lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.h
index 9406bcf..675d44f 100644
--- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.h
+++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.h
@@ -12,6 +12,7 @@
#include "DWARFDataExtractor.h"
#include "llvm/ADT/Optional.h"
#include <cstddef>
+#include <optional>
class DWARFUnit;
class SymbolFileDWARF;
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp b/lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
index 399578b..3bb0b18 100644
--- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
+++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
@@ -22,6 +22,7 @@
#include "DWARFTypeUnit.h"
#include "LogChannelDWARF.h"
#include "SymbolFileDWARFDwo.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h b/lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h
index 5c05f83..087195d 100644
--- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h
+++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h
@@ -16,6 +16,7 @@
#include "llvm/DebugInfo/DWARF/DWARFDebugRnglists.h"
#include "llvm/Support/RWMutex.h"
#include <atomic>
+#include <optional>
class DWARFUnit;
class DWARFCompileUnit;
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp b/lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
index 7dee031..1e458c6 100644
--- a/lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
+++ b/lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
@@ -13,6 +13,7 @@
#include "lldb/Core/Module.h"
#include "lldb/Utility/RegularExpression.h"
#include "lldb/Utility/Stream.h"
+#include <optional>
using namespace lldb_private;
using namespace lldb;
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.h b/lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.h
index a0880c6..09dcd8d 100644
--- a/lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.h
+++ b/lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.h
@@ -15,6 +15,7 @@
#include "Plugins/SymbolFile/DWARF/SymbolFileDWARF.h"
#include "lldb/Utility/ConstString.h"
#include "llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h"
+#include <optional>
namespace lldb_private {
class DebugNamesDWARFIndex : public DWARFIndex {
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp b/lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
index 6df330d..4bfa357 100644
--- a/lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
+++ b/lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
@@ -23,6 +23,7 @@
#include "lldb/Utility/Timer.h"
#include "llvm/Support/FormatVariadic.h"
#include "llvm/Support/ThreadPool.h"
+#include <optional>
using namespace lldb_private;
using namespace lldb;
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/NameToDIE.cpp b/lldb/source/Plugins/SymbolFile/DWARF/NameToDIE.cpp
index de98403..ba17f5e 100644
--- a/lldb/source/Plugins/SymbolFile/DWARF/NameToDIE.cpp
+++ b/lldb/source/Plugins/SymbolFile/DWARF/NameToDIE.cpp
@@ -16,6 +16,7 @@
#include "lldb/Utility/RegularExpression.h"
#include "lldb/Utility/Stream.h"
#include "lldb/Utility/StreamString.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
index 3716e9e..b41e0d94 100644
--- a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
+++ b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
@@ -82,6 +82,7 @@
#include <algorithm>
#include <map>
#include <memory>
+#include <optional>
#include <cctype>
#include <cstring>
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
index 5b5327d..f31f37e 100644
--- a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
+++ b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
@@ -12,6 +12,7 @@
#include <list>
#include <map>
#include <mutex>
+#include <optional>
#include <unordered_map>
#include <vector>
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
index cbe1662..214303b 100644
--- a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
+++ b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
@@ -40,6 +40,7 @@
#include "SymbolFileDWARF.h"
#include <memory>
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h
index 7c523c7..2fe2294 100644
--- a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h
+++ b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h
@@ -14,6 +14,7 @@
#include "llvm/Support/Chrono.h"
#include <bitset>
#include <map>
+#include <optional>
#include <vector>
#include "UniqueDWARFASTType.h"
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp
index b587b4f..d52485d 100644
--- a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp
+++ b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp
@@ -17,6 +17,7 @@
#include "DWARFCompileUnit.h"
#include "DWARFDebugInfo.h"
#include "DWARFUnit.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h
index 4cc3ca8..5af4a03 100644
--- a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h
+++ b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h
@@ -10,6 +10,7 @@
#define LLDB_SOURCE_PLUGINS_SYMBOLFILE_DWARF_SYMBOLFILEDWARFDWO_H
#include "SymbolFileDWARF.h"
+#include <optional>
class SymbolFileDWARFDwo : public SymbolFileDWARF {
/// LLVM RTTI support.
diff --git a/lldb/source/Plugins/SymbolFile/NativePDB/CompileUnitIndex.h b/lldb/source/Plugins/SymbolFile/NativePDB/CompileUnitIndex.h
index 4ad27de..7a6e1dd 100644
--- a/lldb/source/Plugins/SymbolFile/NativePDB/CompileUnitIndex.h
+++ b/lldb/source/Plugins/SymbolFile/NativePDB/CompileUnitIndex.h
@@ -26,6 +26,7 @@
#include <map>
#include <memory>
+#include <optional>
namespace lldb_private {
diff --git a/lldb/source/Plugins/SymbolFile/NativePDB/DWARFLocationExpression.cpp b/lldb/source/Plugins/SymbolFile/NativePDB/DWARFLocationExpression.cpp
index 3d64425..ed260dd 100644
--- a/lldb/source/Plugins/SymbolFile/NativePDB/DWARFLocationExpression.cpp
+++ b/lldb/source/Plugins/SymbolFile/NativePDB/DWARFLocationExpression.cpp
@@ -24,6 +24,7 @@
#include "PdbUtil.h"
#include "CodeViewRegisterMapping.h"
#include "PdbFPOProgramToDWARFExpression.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp b/lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp
index 2b41b69..14c1e73 100644
--- a/lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp
+++ b/lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp
@@ -24,6 +24,7 @@
#include "PdbUtil.h"
#include "UdtRecordCompleter.h"
#include "SymbolFileNativePDB.h"
+#include <optional>
using namespace lldb_private;
using namespace lldb_private::npdb;
diff --git a/lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.h b/lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.h
index bd359ce..0a81474 100644
--- a/lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.h
+++ b/lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.h
@@ -17,6 +17,7 @@
#include "PdbIndex.h"
#include "PdbSymUid.h"
+#include <optional>
namespace clang {
class TagDecl;
diff --git a/lldb/source/Plugins/SymbolFile/NativePDB/PdbIndex.cpp b/lldb/source/Plugins/SymbolFile/NativePDB/PdbIndex.cpp
index b1e96ed..c6f24fa 100644
--- a/lldb/source/Plugins/SymbolFile/NativePDB/PdbIndex.cpp
+++ b/lldb/source/Plugins/SymbolFile/NativePDB/PdbIndex.cpp
@@ -22,6 +22,7 @@
#include "lldb/Utility/LLDBAssert.h"
#include "lldb/lldb-defines.h"
+#include <optional>
using namespace lldb_private;
using namespace lldb_private::npdb;
diff --git a/lldb/source/Plugins/SymbolFile/NativePDB/PdbIndex.h b/lldb/source/Plugins/SymbolFile/NativePDB/PdbIndex.h
index 138c63d..d017d0f 100644
--- a/lldb/source/Plugins/SymbolFile/NativePDB/PdbIndex.h
+++ b/lldb/source/Plugins/SymbolFile/NativePDB/PdbIndex.h
@@ -20,6 +20,7 @@
#include <map>
#include <memory>
+#include <optional>
namespace llvm {
namespace pdb {
diff --git a/lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp b/lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
index d84a1a6..7f51ee3 100644
--- a/lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
+++ b/lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
@@ -56,6 +56,7 @@
#include "PdbSymUid.h"
#include "PdbUtil.h"
#include "UdtRecordCompleter.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.h b/lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.h
index 740331c..1b25095 100644
--- a/lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.h
+++ b/lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.h
@@ -20,6 +20,7 @@
#include "CompileUnitIndex.h"
#include "PdbIndex.h"
#include "PdbAstBuilder.h"
+#include <optional>
namespace clang {
class TagDecl;
diff --git a/lldb/source/Plugins/SymbolFile/NativePDB/UdtRecordCompleter.cpp b/lldb/source/Plugins/SymbolFile/NativePDB/UdtRecordCompleter.cpp
index b4125ca..e90c46e 100644
--- a/lldb/source/Plugins/SymbolFile/NativePDB/UdtRecordCompleter.cpp
+++ b/lldb/source/Plugins/SymbolFile/NativePDB/UdtRecordCompleter.cpp
@@ -24,6 +24,7 @@
#include "llvm/DebugInfo/PDB/Native/GlobalsStream.h"
#include "llvm/DebugInfo/PDB/Native/TpiStream.h"
#include "llvm/DebugInfo/PDB/PDBTypes.h"
+#include <optional>
using namespace llvm::codeview;
using namespace llvm::pdb;
diff --git a/lldb/source/Plugins/SymbolFile/NativePDB/UdtRecordCompleter.h b/lldb/source/Plugins/SymbolFile/NativePDB/UdtRecordCompleter.h
index 794305f..7e97643 100644
--- a/lldb/source/Plugins/SymbolFile/NativePDB/UdtRecordCompleter.h
+++ b/lldb/source/Plugins/SymbolFile/NativePDB/UdtRecordCompleter.h
@@ -15,6 +15,7 @@
#include "llvm/DebugInfo/CodeView/CVRecord.h"
#include "llvm/DebugInfo/CodeView/TypeRecord.h"
#include "llvm/DebugInfo/CodeView/TypeVisitorCallbacks.h"
+#include <optional>
namespace clang {
class CXXBaseSpecifier;
diff --git a/lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp b/lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
index 6e6c0e8..756b43d 100644
--- a/lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
+++ b/lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
@@ -40,6 +40,7 @@
#include "llvm/DebugInfo/PDB/PDBSymbolTypeUDT.h"
#include "Plugins/Language/CPlusPlus/MSVCUndecoratedNameParser.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp b/lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
index 7875f8a..e0ecd22 100644
--- a/lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
+++ b/lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
@@ -58,6 +58,7 @@
#if defined(_WIN32)
#include "llvm/Config/llvm-config.h"
+#include <optional>
#endif
using namespace lldb;
diff --git a/lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.h b/lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.h
index 2f45a46..e1b58a2 100644
--- a/lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.h
+++ b/lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.h
@@ -18,6 +18,7 @@
#include "llvm/DebugInfo/PDB/IPDBSession.h"
#include "llvm/DebugInfo/PDB/PDB.h"
#include "llvm/DebugInfo/PDB/PDBSymbolExe.h"
+#include <optional>
class PDBASTParser;
diff --git a/lldb/source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.cpp b/lldb/source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.cpp
index 2629431..5e9552f 100644
--- a/lldb/source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.cpp
+++ b/lldb/source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.cpp
@@ -21,6 +21,7 @@
#include "lldb/Utility/Timer.h"
#include <memory>
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.h b/lldb/source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.h
index 0a9fa5f..b7f8afb 100644
--- a/lldb/source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.h
+++ b/lldb/source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.h
@@ -10,6 +10,7 @@
#define LLDB_SOURCE_PLUGINS_SYMBOLFILE_SYMTAB_SYMBOLFILESYMTAB_H
#include <map>
+#include <optional>
#include <vector>
#include "lldb/Symbol/SymbolFile.h"
diff --git a/lldb/source/Plugins/SymbolVendor/wasm/SymbolVendorWasm.cpp b/lldb/source/Plugins/SymbolVendor/wasm/SymbolVendorWasm.cpp
index 9da5b01..43eb352 100644
--- a/lldb/source/Plugins/SymbolVendor/wasm/SymbolVendorWasm.cpp
+++ b/lldb/source/Plugins/SymbolVendor/wasm/SymbolVendorWasm.cpp
@@ -9,6 +9,7 @@
#include "SymbolVendorWasm.h"
#include <cstring>
+#include <optional>
#include "Plugins/ObjectFile/wasm/ObjectFileWasm.h"
#include "lldb/Core/Module.h"
diff --git a/lldb/source/Plugins/Trace/common/ThreadPostMortemTrace.cpp b/lldb/source/Plugins/Trace/common/ThreadPostMortemTrace.cpp
index 37239b9..571eea6 100644
--- a/lldb/source/Plugins/Trace/common/ThreadPostMortemTrace.cpp
+++ b/lldb/source/Plugins/Trace/common/ThreadPostMortemTrace.cpp
@@ -9,6 +9,7 @@
#include "ThreadPostMortemTrace.h"
#include <memory>
+#include <optional>
#include "Plugins/Process/Utility/RegisterContextHistory.h"
#include "lldb/Target/Process.h"
diff --git a/lldb/source/Plugins/Trace/common/ThreadPostMortemTrace.h b/lldb/source/Plugins/Trace/common/ThreadPostMortemTrace.h
index cdb896c..1e1c891 100644
--- a/lldb/source/Plugins/Trace/common/ThreadPostMortemTrace.h
+++ b/lldb/source/Plugins/Trace/common/ThreadPostMortemTrace.h
@@ -10,6 +10,7 @@
#define LLDB_TARGET_THREADPOSTMORTEMTRACE_H
#include "lldb/Target/Thread.h"
+#include <optional>
namespace lldb_private {
diff --git a/lldb/source/Plugins/Trace/intel-pt/CommandObjectTraceStartIntelPT.cpp b/lldb/source/Plugins/Trace/intel-pt/CommandObjectTraceStartIntelPT.cpp
index 24d1cec..bf106ec37 100644
--- a/lldb/source/Plugins/Trace/intel-pt/CommandObjectTraceStartIntelPT.cpp
+++ b/lldb/source/Plugins/Trace/intel-pt/CommandObjectTraceStartIntelPT.cpp
@@ -13,6 +13,7 @@
#include "lldb/Interpreter/CommandOptionArgumentTable.h"
#include "lldb/Target/Process.h"
#include "lldb/Target/Trace.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/Trace/intel-pt/CommandObjectTraceStartIntelPT.h b/lldb/source/Plugins/Trace/intel-pt/CommandObjectTraceStartIntelPT.h
index ffa1dce..1f94f9c 100644
--- a/lldb/source/Plugins/Trace/intel-pt/CommandObjectTraceStartIntelPT.h
+++ b/lldb/source/Plugins/Trace/intel-pt/CommandObjectTraceStartIntelPT.h
@@ -13,6 +13,7 @@
#include "TraceIntelPT.h"
#include "lldb/Interpreter/CommandInterpreter.h"
#include "lldb/Interpreter/CommandReturnObject.h"
+#include <optional>
namespace lldb_private {
namespace trace_intel_pt {
diff --git a/lldb/source/Plugins/Trace/intel-pt/DecodedThread.cpp b/lldb/source/Plugins/Trace/intel-pt/DecodedThread.cpp
index a290257..4d0cabe 100644
--- a/lldb/source/Plugins/Trace/intel-pt/DecodedThread.cpp
+++ b/lldb/source/Plugins/Trace/intel-pt/DecodedThread.cpp
@@ -10,6 +10,7 @@
#include "TraceCursorIntelPT.h"
#include <intel-pt.h>
#include <memory>
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/Trace/intel-pt/DecodedThread.h b/lldb/source/Plugins/Trace/intel-pt/DecodedThread.h
index 740114e..3ec6068 100644
--- a/lldb/source/Plugins/Trace/intel-pt/DecodedThread.h
+++ b/lldb/source/Plugins/Trace/intel-pt/DecodedThread.h
@@ -14,6 +14,7 @@
#include "lldb/Utility/TraceIntelPTGDBRemotePackets.h"
#include "llvm/Support/Errc.h"
#include "llvm/Support/Error.h"
+#include <optional>
#include <utility>
#include <vector>
diff --git a/lldb/source/Plugins/Trace/intel-pt/LibiptDecoder.cpp b/lldb/source/Plugins/Trace/intel-pt/LibiptDecoder.cpp
index cfae7b7..4145f14 100644
--- a/lldb/source/Plugins/Trace/intel-pt/LibiptDecoder.cpp
+++ b/lldb/source/Plugins/Trace/intel-pt/LibiptDecoder.cpp
@@ -8,6 +8,7 @@
#include "LibiptDecoder.h"
#include "TraceIntelPT.h"
#include "lldb/Target/Process.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/Trace/intel-pt/LibiptDecoder.h b/lldb/source/Plugins/Trace/intel-pt/LibiptDecoder.h
index ac79d18..1b75846 100644
--- a/lldb/source/Plugins/Trace/intel-pt/LibiptDecoder.h
+++ b/lldb/source/Plugins/Trace/intel-pt/LibiptDecoder.h
@@ -13,6 +13,7 @@
#include "PerfContextSwitchDecoder.h"
#include "forward-declarations.h"
#include "intel-pt.h"
+#include <optional>
namespace lldb_private {
namespace trace_intel_pt {
diff --git a/lldb/source/Plugins/Trace/intel-pt/PerfContextSwitchDecoder.cpp b/lldb/source/Plugins/Trace/intel-pt/PerfContextSwitchDecoder.cpp
index 0c468cf..1a7d463 100644
--- a/lldb/source/Plugins/Trace/intel-pt/PerfContextSwitchDecoder.cpp
+++ b/lldb/source/Plugins/Trace/intel-pt/PerfContextSwitchDecoder.cpp
@@ -6,6 +6,7 @@
//===----------------------------------------------------------------------===//
#include "PerfContextSwitchDecoder.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/Trace/intel-pt/ThreadDecoder.cpp b/lldb/source/Plugins/Trace/intel-pt/ThreadDecoder.cpp
index 0a81991..2b4b953 100644
--- a/lldb/source/Plugins/Trace/intel-pt/ThreadDecoder.cpp
+++ b/lldb/source/Plugins/Trace/intel-pt/ThreadDecoder.cpp
@@ -10,6 +10,7 @@
#include "LibiptDecoder.h"
#include "TraceIntelPT.h"
#include "llvm/Support/MemoryBuffer.h"
+#include <optional>
#include <utility>
using namespace lldb;
diff --git a/lldb/source/Plugins/Trace/intel-pt/ThreadDecoder.h b/lldb/source/Plugins/Trace/intel-pt/ThreadDecoder.h
index 74b40c0..adf8791 100644
--- a/lldb/source/Plugins/Trace/intel-pt/ThreadDecoder.h
+++ b/lldb/source/Plugins/Trace/intel-pt/ThreadDecoder.h
@@ -14,6 +14,7 @@
#include "intel-pt.h"
#include "lldb/Target/Process.h"
#include "lldb/Utility/FileSpec.h"
+#include <optional>
namespace lldb_private {
namespace trace_intel_pt {
diff --git a/lldb/source/Plugins/Trace/intel-pt/TraceCursorIntelPT.cpp b/lldb/source/Plugins/Trace/intel-pt/TraceCursorIntelPT.cpp
index 0d650ab..0748dd7 100644
--- a/lldb/source/Plugins/Trace/intel-pt/TraceCursorIntelPT.cpp
+++ b/lldb/source/Plugins/Trace/intel-pt/TraceCursorIntelPT.cpp
@@ -10,6 +10,7 @@
#include "DecodedThread.h"
#include "TraceIntelPT.h"
#include <cstdlib>
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/Trace/intel-pt/TraceCursorIntelPT.h b/lldb/source/Plugins/Trace/intel-pt/TraceCursorIntelPT.h
index 984d763..db873b1 100644
--- a/lldb/source/Plugins/Trace/intel-pt/TraceCursorIntelPT.h
+++ b/lldb/source/Plugins/Trace/intel-pt/TraceCursorIntelPT.h
@@ -10,6 +10,7 @@
#define LLDB_SOURCE_PLUGINS_TRACE_INTEL_PT_TRACECURSORINTELPT_H
#include "ThreadDecoder.h"
+#include <optional>
namespace lldb_private {
namespace trace_intel_pt {
diff --git a/lldb/source/Plugins/Trace/intel-pt/TraceIntelPT.cpp b/lldb/source/Plugins/Trace/intel-pt/TraceIntelPT.cpp
index d6e4511..ee51f9a 100644
--- a/lldb/source/Plugins/Trace/intel-pt/TraceIntelPT.cpp
+++ b/lldb/source/Plugins/Trace/intel-pt/TraceIntelPT.cpp
@@ -19,6 +19,7 @@
#include "lldb/Interpreter/OptionValueProperties.h"
#include "lldb/Target/Process.h"
#include "lldb/Target/Target.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/Trace/intel-pt/TraceIntelPT.h b/lldb/source/Plugins/Trace/intel-pt/TraceIntelPT.h
index 611d996..ec50e24 100644
--- a/lldb/source/Plugins/Trace/intel-pt/TraceIntelPT.h
+++ b/lldb/source/Plugins/Trace/intel-pt/TraceIntelPT.h
@@ -16,6 +16,7 @@
#include "lldb/Utility/FileSpec.h"
#include "lldb/lldb-types.h"
#include "llvm/Support/raw_ostream.h"
+#include <optional>
namespace lldb_private {
namespace trace_intel_pt {
diff --git a/lldb/source/Plugins/Trace/intel-pt/TraceIntelPTBundleLoader.cpp b/lldb/source/Plugins/Trace/intel-pt/TraceIntelPTBundleLoader.cpp
index c30d6ad..6219c7e 100644
--- a/lldb/source/Plugins/Trace/intel-pt/TraceIntelPTBundleLoader.cpp
+++ b/lldb/source/Plugins/Trace/intel-pt/TraceIntelPTBundleLoader.cpp
@@ -16,6 +16,7 @@
#include "lldb/Core/Module.h"
#include "lldb/Target/Process.h"
#include "lldb/Target/Target.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/Trace/intel-pt/TraceIntelPTBundleSaver.cpp b/lldb/source/Plugins/Trace/intel-pt/TraceIntelPTBundleSaver.cpp
index 731e4d15..a2f5663 100644
--- a/lldb/source/Plugins/Trace/intel-pt/TraceIntelPTBundleSaver.cpp
+++ b/lldb/source/Plugins/Trace/intel-pt/TraceIntelPTBundleSaver.cpp
@@ -22,6 +22,7 @@
#include "llvm/Support/JSON.h"
#include <fstream>
#include <iostream>
+#include <optional>
#include <sstream>
#include <string>
diff --git a/lldb/source/Plugins/Trace/intel-pt/TraceIntelPTConstants.h b/lldb/source/Plugins/Trace/intel-pt/TraceIntelPTConstants.h
index 3ca2309..9db7834 100644
--- a/lldb/source/Plugins/Trace/intel-pt/TraceIntelPTConstants.h
+++ b/lldb/source/Plugins/Trace/intel-pt/TraceIntelPTConstants.h
@@ -12,6 +12,7 @@
#include "lldb/lldb-types.h"
#include <cstddef>
#include <llvm/ADT/Optional.h>
+#include <optional>
namespace lldb_private {
namespace trace_intel_pt {
diff --git a/lldb/source/Plugins/Trace/intel-pt/TraceIntelPTJSONStructs.cpp b/lldb/source/Plugins/Trace/intel-pt/TraceIntelPTJSONStructs.cpp
index 4120dd1..0ca7e15 100644
--- a/lldb/source/Plugins/Trace/intel-pt/TraceIntelPTJSONStructs.cpp
+++ b/lldb/source/Plugins/Trace/intel-pt/TraceIntelPTJSONStructs.cpp
@@ -8,6 +8,7 @@
#include "TraceIntelPTJSONStructs.h"
#include "llvm/Support/JSON.h"
+#include <optional>
#include <string>
using namespace lldb;
diff --git a/lldb/source/Plugins/Trace/intel-pt/TraceIntelPTJSONStructs.h b/lldb/source/Plugins/Trace/intel-pt/TraceIntelPTJSONStructs.h
index 135287d..3394c3d3 100644
--- a/lldb/source/Plugins/Trace/intel-pt/TraceIntelPTJSONStructs.h
+++ b/lldb/source/Plugins/Trace/intel-pt/TraceIntelPTJSONStructs.h
@@ -14,6 +14,7 @@
#include "llvm/ADT/Optional.h"
#include "llvm/Support/JSON.h"
#include <intel-pt.h>
+#include <optional>
#include <vector>
namespace lldb_private {
diff --git a/lldb/source/Plugins/Trace/intel-pt/TraceIntelPTMultiCpuDecoder.cpp b/lldb/source/Plugins/Trace/intel-pt/TraceIntelPTMultiCpuDecoder.cpp
index 0ed7c3a..4ce7c141 100644
--- a/lldb/source/Plugins/Trace/intel-pt/TraceIntelPTMultiCpuDecoder.cpp
+++ b/lldb/source/Plugins/Trace/intel-pt/TraceIntelPTMultiCpuDecoder.cpp
@@ -9,6 +9,7 @@
#include "TraceIntelPTMultiCpuDecoder.h"
#include "TraceIntelPT.h"
#include "llvm/Support/Error.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/Trace/intel-pt/TraceIntelPTMultiCpuDecoder.h b/lldb/source/Plugins/Trace/intel-pt/TraceIntelPTMultiCpuDecoder.h
index f7b3e1a..28ae322 100644
--- a/lldb/source/Plugins/Trace/intel-pt/TraceIntelPTMultiCpuDecoder.h
+++ b/lldb/source/Plugins/Trace/intel-pt/TraceIntelPTMultiCpuDecoder.h
@@ -13,6 +13,7 @@
#include "PerfContextSwitchDecoder.h"
#include "ThreadDecoder.h"
#include "forward-declarations.h"
+#include <optional>
namespace lldb_private {
namespace trace_intel_pt {
diff --git a/lldb/source/Plugins/TraceExporter/common/TraceHTR.cpp b/lldb/source/Plugins/TraceExporter/common/TraceHTR.cpp
index a5e0aad..50ae1d7 100644
--- a/lldb/source/Plugins/TraceExporter/common/TraceHTR.cpp
+++ b/lldb/source/Plugins/TraceExporter/common/TraceHTR.cpp
@@ -12,6 +12,7 @@
#include "lldb/Target/Process.h"
#include "lldb/Target/Target.h"
#include "llvm/Support/JSON.h"
+#include <optional>
#include <sstream>
#include <string>
diff --git a/lldb/source/Plugins/TraceExporter/common/TraceHTR.h b/lldb/source/Plugins/TraceExporter/common/TraceHTR.h
index 75f3bd3..bb44fcb 100644
--- a/lldb/source/Plugins/TraceExporter/common/TraceHTR.h
+++ b/lldb/source/Plugins/TraceExporter/common/TraceHTR.h
@@ -12,6 +12,7 @@
#include "lldb/Target/Thread.h"
#include "lldb/Target/Trace.h"
+#include <optional>
#include <unordered_map>
#include <unordered_set>
diff --git a/lldb/source/Plugins/TraceExporter/ctf/CommandObjectThreadTraceExportCTF.h b/lldb/source/Plugins/TraceExporter/ctf/CommandObjectThreadTraceExportCTF.h
index c6364cf..0676834 100644
--- a/lldb/source/Plugins/TraceExporter/ctf/CommandObjectThreadTraceExportCTF.h
+++ b/lldb/source/Plugins/TraceExporter/ctf/CommandObjectThreadTraceExportCTF.h
@@ -12,6 +12,7 @@
#include "TraceExporterCTF.h"
#include "lldb/Interpreter/CommandInterpreter.h"
#include "lldb/Interpreter/CommandReturnObject.h"
+#include <optional>
namespace lldb_private {
namespace ctf {
diff --git a/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp b/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
index f54f775..0bcf706 100644
--- a/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
+++ b/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
@@ -78,6 +78,7 @@
#include <cstdio>
#include <mutex>
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h b/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
index 85d706d..2cb6157 100644
--- a/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
+++ b/lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
@@ -14,6 +14,7 @@
#include <functional>
#include <initializer_list>
#include <memory>
+#include <optional>
#include <set>
#include <string>
#include <utility>
diff --git a/lldb/source/Symbol/CompileUnit.cpp b/lldb/source/Symbol/CompileUnit.cpp
index 6d2233e..f7d082d 100644
--- a/lldb/source/Symbol/CompileUnit.cpp
+++ b/lldb/source/Symbol/CompileUnit.cpp
@@ -13,6 +13,7 @@
#include "lldb/Symbol/VariableList.h"
#include "lldb/Target/Language.h"
#include "lldb/Utility/Timer.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Symbol/CompilerType.cpp b/lldb/source/Symbol/CompilerType.cpp
index ff0a383..3baafb2 100644
--- a/lldb/source/Symbol/CompilerType.cpp
+++ b/lldb/source/Symbol/CompilerType.cpp
@@ -22,6 +22,7 @@
#include <iterator>
#include <mutex>
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Symbol/DWARFCallFrameInfo.cpp b/lldb/source/Symbol/DWARFCallFrameInfo.cpp
index 30d781a..273a5b3 100644
--- a/lldb/source/Symbol/DWARFCallFrameInfo.cpp
+++ b/lldb/source/Symbol/DWARFCallFrameInfo.cpp
@@ -22,6 +22,7 @@
#include "lldb/Utility/Timer.h"
#include <cstring>
#include <list>
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Symbol/PostfixExpression.cpp b/lldb/source/Symbol/PostfixExpression.cpp
index 62be3ba..b3832ae 100644
--- a/lldb/source/Symbol/PostfixExpression.cpp
+++ b/lldb/source/Symbol/PostfixExpression.cpp
@@ -15,6 +15,7 @@
#include "lldb/Core/dwarf.h"
#include "lldb/Utility/Stream.h"
#include "llvm/ADT/StringExtras.h"
+#include <optional>
using namespace lldb_private;
using namespace lldb_private::postfix;
diff --git a/lldb/source/Symbol/SymbolFileOnDemand.cpp b/lldb/source/Symbol/SymbolFileOnDemand.cpp
index 796d306..e61de20 100644
--- a/lldb/source/Symbol/SymbolFileOnDemand.cpp
+++ b/lldb/source/Symbol/SymbolFileOnDemand.cpp
@@ -12,6 +12,7 @@
#include "lldb/Symbol/SymbolFile.h"
#include <memory>
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Symbol/Type.cpp b/lldb/source/Symbol/Type.cpp
index b17ff50..bb559b9 100644
--- a/lldb/source/Symbol/Type.cpp
+++ b/lldb/source/Symbol/Type.cpp
@@ -7,6 +7,7 @@
//===----------------------------------------------------------------------===//
#include <cstdio>
+#include <optional>
#include "lldb/Core/Module.h"
#include "lldb/Utility/DataBufferHeap.h"
diff --git a/lldb/source/Symbol/TypeSystem.cpp b/lldb/source/Symbol/TypeSystem.cpp
index e71f8ea..66f2d8b 100644
--- a/lldb/source/Symbol/TypeSystem.cpp
+++ b/lldb/source/Symbol/TypeSystem.cpp
@@ -13,6 +13,7 @@
#include "lldb/Target/Language.h"
#include "llvm/ADT/DenseSet.h"
+#include <optional>
using namespace lldb_private;
using namespace lldb;
diff --git a/lldb/source/Symbol/UnwindPlan.cpp b/lldb/source/Symbol/UnwindPlan.cpp
index eace7c4..abb241a 100644
--- a/lldb/source/Symbol/UnwindPlan.cpp
+++ b/lldb/source/Symbol/UnwindPlan.cpp
@@ -17,6 +17,7 @@
#include "lldb/Utility/Log.h"
#include "llvm/DebugInfo/DIContext.h"
#include "llvm/DebugInfo/DWARF/DWARFExpression.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Symbol/UnwindTable.cpp b/lldb/source/Symbol/UnwindTable.cpp
index 77681c4..6111402 100644
--- a/lldb/source/Symbol/UnwindTable.cpp
+++ b/lldb/source/Symbol/UnwindTable.cpp
@@ -9,6 +9,7 @@
#include "lldb/Symbol/UnwindTable.h"
#include <cstdio>
+#include <optional>
#include "lldb/Core/Module.h"
#include "lldb/Core/Section.h"
diff --git a/lldb/source/Target/MemoryTagMap.cpp b/lldb/source/Target/MemoryTagMap.cpp
index 8eff42d..33705b8 100644
--- a/lldb/source/Target/MemoryTagMap.cpp
+++ b/lldb/source/Target/MemoryTagMap.cpp
@@ -7,6 +7,7 @@
//===----------------------------------------------------------------------===//
#include "lldb/Target/MemoryTagMap.h"
+#include <optional>
using namespace lldb_private;
diff --git a/lldb/source/Target/PathMappingList.cpp b/lldb/source/Target/PathMappingList.cpp
index 82bba8a..e74f858 100644
--- a/lldb/source/Target/PathMappingList.cpp
+++ b/lldb/source/Target/PathMappingList.cpp
@@ -8,6 +8,7 @@
#include <climits>
#include <cstring>
+#include <optional>
#include "lldb/Host/FileSystem.h"
#include "lldb/Host/PosixApi.h"
diff --git a/lldb/source/Target/Platform.cpp b/lldb/source/Target/Platform.cpp
index 0e258f0..986b693 100644
--- a/lldb/source/Target/Platform.cpp
+++ b/lldb/source/Target/Platform.cpp
@@ -10,6 +10,7 @@
#include <csignal>
#include <fstream>
#include <memory>
+#include <optional>
#include <vector>
#include "lldb/Breakpoint/BreakpointIDList.h"
diff --git a/lldb/source/Target/Process.cpp b/lldb/source/Target/Process.cpp
index f12a01d..424d8cf 100644
--- a/lldb/source/Target/Process.cpp
+++ b/lldb/source/Target/Process.cpp
@@ -9,6 +9,7 @@
#include <atomic>
#include <memory>
#include <mutex>
+#include <optional>
#include "llvm/ADT/ScopeExit.h"
#include "llvm/Support/ScopedPrinter.h"
diff --git a/lldb/source/Target/RemoteAwarePlatform.cpp b/lldb/source/Target/RemoteAwarePlatform.cpp
index ea3011ee..9a1ceb4 100644
--- a/lldb/source/Target/RemoteAwarePlatform.cpp
+++ b/lldb/source/Target/RemoteAwarePlatform.cpp
@@ -14,6 +14,7 @@
#include "lldb/Host/Host.h"
#include "lldb/Host/HostInfo.h"
#include "lldb/Utility/StreamString.h"
+#include <optional>
using namespace lldb_private;
using namespace lldb;
diff --git a/lldb/source/Target/Target.cpp b/lldb/source/Target/Target.cpp
index 11a882e..805bc6d 100644
--- a/lldb/source/Target/Target.cpp
+++ b/lldb/source/Target/Target.cpp
@@ -67,6 +67,7 @@
#include <memory>
#include <mutex>
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Target/Thread.cpp b/lldb/source/Target/Thread.cpp
index 10bdb51..c5f5fef 100644
--- a/lldb/source/Target/Thread.cpp
+++ b/lldb/source/Target/Thread.cpp
@@ -53,6 +53,7 @@
#include "lldb/lldb-enumerations.h"
#include <memory>
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Target/Trace.cpp b/lldb/source/Target/Trace.cpp
index f4c35bf1..9db1ef0 100644
--- a/lldb/source/Target/Trace.cpp
+++ b/lldb/source/Target/Trace.cpp
@@ -19,6 +19,7 @@
#include "lldb/Target/Thread.h"
#include "lldb/Utility/LLDBLog.h"
#include "lldb/Utility/Stream.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Target/TraceDumper.cpp b/lldb/source/Target/TraceDumper.cpp
index 6aa35e7..ef367da 100644
--- a/lldb/source/Target/TraceDumper.cpp
+++ b/lldb/source/Target/TraceDumper.cpp
@@ -13,6 +13,7 @@
#include "lldb/Target/ExecutionContext.h"
#include "lldb/Target/Process.h"
#include "lldb/Target/SectionLoadList.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Target/UnixSignals.cpp b/lldb/source/Target/UnixSignals.cpp
index a92138a..9cfc0a0 100644
--- a/lldb/source/Target/UnixSignals.cpp
+++ b/lldb/source/Target/UnixSignals.cpp
@@ -13,6 +13,7 @@
#include "Plugins/Process/Utility/NetBSDSignals.h"
#include "lldb/Host/HostInfo.h"
#include "lldb/Utility/ArchSpec.h"
+#include <optional>
using namespace lldb_private;
using namespace llvm;
diff --git a/lldb/source/Utility/Diagnostics.cpp b/lldb/source/Utility/Diagnostics.cpp
index a6e51e2..ff5d36a 100644
--- a/lldb/source/Utility/Diagnostics.cpp
+++ b/lldb/source/Utility/Diagnostics.cpp
@@ -12,6 +12,7 @@
#include "llvm/Support/Error.h"
#include "llvm/Support/FileSystem.h"
#include "llvm/Support/raw_ostream.h"
+#include <optional>
using namespace lldb_private;
using namespace lldb;
diff --git a/lldb/source/Utility/FileSpec.cpp b/lldb/source/Utility/FileSpec.cpp
index 519e516..d871321 100644
--- a/lldb/source/Utility/FileSpec.cpp
+++ b/lldb/source/Utility/FileSpec.cpp
@@ -21,6 +21,7 @@
#include "llvm/Support/raw_ostream.h"
#include <algorithm>
+#include <optional>
#include <system_error>
#include <vector>
diff --git a/lldb/source/Utility/ProcessInfo.cpp b/lldb/source/Utility/ProcessInfo.cpp
index c6a90a9..ccde1b3 100644
--- a/lldb/source/Utility/ProcessInfo.cpp
+++ b/lldb/source/Utility/ProcessInfo.cpp
@@ -15,6 +15,7 @@
#include "llvm/ADT/SmallString.h"
#include <climits>
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/source/Utility/SelectHelper.cpp b/lldb/source/Utility/SelectHelper.cpp
index fe0ee1d..bc83317 100644
--- a/lldb/source/Utility/SelectHelper.cpp
+++ b/lldb/source/Utility/SelectHelper.cpp
@@ -24,6 +24,7 @@
#include <algorithm>
#include <chrono>
+#include <optional>
#include <cerrno>
#if defined(_WIN32)
diff --git a/lldb/source/Utility/StringExtractorGDBRemote.cpp b/lldb/source/Utility/StringExtractorGDBRemote.cpp
index 882af91..3d0913d 100644
--- a/lldb/source/Utility/StringExtractorGDBRemote.cpp
+++ b/lldb/source/Utility/StringExtractorGDBRemote.cpp
@@ -10,6 +10,7 @@
#include <cctype>
#include <cstring>
+#include <optional>
constexpr lldb::pid_t StringExtractorGDBRemote::AllProcesses;
constexpr lldb::tid_t StringExtractorGDBRemote::AllThreads;
diff --git a/lldb/source/Utility/UriParser.cpp b/lldb/source/Utility/UriParser.cpp
index 3da90f1..0e32cb3 100644
--- a/lldb/source/Utility/UriParser.cpp
+++ b/lldb/source/Utility/UriParser.cpp
@@ -12,6 +12,7 @@
#include <string>
#include <cstdint>
+#include <optional>
#include <tuple>
using namespace lldb_private;
diff --git a/lldb/source/Utility/UserIDResolver.cpp b/lldb/source/Utility/UserIDResolver.cpp
index 20a3779..113143b 100644
--- a/lldb/source/Utility/UserIDResolver.cpp
+++ b/lldb/source/Utility/UserIDResolver.cpp
@@ -8,6 +8,7 @@
#include "lldb/Utility/UserIDResolver.h"
#include "llvm/Support/ManagedStatic.h"
+#include <optional>
using namespace lldb_private;
diff --git a/lldb/tools/lldb-server/Acceptor.cpp b/lldb/tools/lldb-server/Acceptor.cpp
index 4714252..0b69350 100644
--- a/lldb/tools/lldb-server/Acceptor.cpp
+++ b/lldb/tools/lldb-server/Acceptor.cpp
@@ -15,6 +15,7 @@
#include "lldb/Host/common/TCPSocket.h"
#include "lldb/Utility/StreamString.h"
#include "lldb/Utility/UriParser.h"
+#include <optional>
using namespace lldb;
using namespace lldb_private;
diff --git a/lldb/tools/lldb-server/lldb-platform.cpp b/lldb/tools/lldb-server/lldb-platform.cpp
index 0211de7..fb37aa6 100644
--- a/lldb/tools/lldb-server/lldb-platform.cpp
+++ b/lldb/tools/lldb-server/lldb-platform.cpp
@@ -19,6 +19,7 @@
#include <sys/wait.h>
#endif
#include <fstream>
+#include <optional>
#include "llvm/Support/FileSystem.h"
#include "llvm/Support/FileUtilities.h"
diff --git a/lldb/tools/lldb-test/lldb-test.cpp b/lldb/tools/lldb-test/lldb-test.cpp
index cb04ca5..6bd8585 100644
--- a/lldb/tools/lldb-test/lldb-test.cpp
+++ b/lldb/tools/lldb-test/lldb-test.cpp
@@ -46,6 +46,7 @@
#include "llvm/Support/WithColor.h"
#include <cstdio>
+#include <optional>
#include <thread>
using namespace lldb;
diff --git a/lldb/tools/lldb-vscode/FifoFiles.cpp b/lldb/tools/lldb-vscode/FifoFiles.cpp
index 6cde4a4..18354bf 100644
--- a/lldb/tools/lldb-vscode/FifoFiles.cpp
+++ b/lldb/tools/lldb-vscode/FifoFiles.cpp
@@ -17,6 +17,7 @@
#include <chrono>
#include <fstream>
#include <future>
+#include <optional>
#include <thread>
#include "llvm/Support/FileSystem.h"
diff --git a/lldb/tools/lldb-vscode/JSONUtils.cpp b/lldb/tools/lldb-vscode/JSONUtils.cpp
index 5593d7b..06d5c28 100644
--- a/lldb/tools/lldb-vscode/JSONUtils.cpp
+++ b/lldb/tools/lldb-vscode/JSONUtils.cpp
@@ -8,6 +8,7 @@
#include <algorithm>
#include <iomanip>
+#include <optional>
#include <sstream>
#include <string.h>
diff --git a/lldb/tools/lldb-vscode/JSONUtils.h b/lldb/tools/lldb-vscode/JSONUtils.h
index 011c107..64c1a4c 100644
--- a/lldb/tools/lldb-vscode/JSONUtils.h
+++ b/lldb/tools/lldb-vscode/JSONUtils.h
@@ -14,6 +14,7 @@
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/JSON.h"
#include <cstdint>
+#include <optional>
namespace lldb_vscode {
diff --git a/lldb/tools/lldb-vscode/ProgressEvent.cpp b/lldb/tools/lldb-vscode/ProgressEvent.cpp
index 69a8a2e..5765876 100644
--- a/lldb/tools/lldb-vscode/ProgressEvent.cpp
+++ b/lldb/tools/lldb-vscode/ProgressEvent.cpp
@@ -9,6 +9,7 @@
#include "ProgressEvent.h"
#include "JSONUtils.h"
+#include <optional>
using namespace lldb_vscode;
using namespace llvm;
diff --git a/lldb/tools/lldb-vscode/ProgressEvent.h b/lldb/tools/lldb-vscode/ProgressEvent.h
index 7fa79ff..376c4a3 100644
--- a/lldb/tools/lldb-vscode/ProgressEvent.h
+++ b/lldb/tools/lldb-vscode/ProgressEvent.h
@@ -8,6 +8,7 @@
#include <atomic>
#include <mutex>
+#include <optional>
#include <queue>
#include <thread>
diff --git a/lldb/unittests/DataFormatter/StringPrinterTests.cpp b/lldb/unittests/DataFormatter/StringPrinterTests.cpp
index 24c0ff4..c9f5fa4 100644
--- a/lldb/unittests/DataFormatter/StringPrinterTests.cpp
+++ b/lldb/unittests/DataFormatter/StringPrinterTests.cpp
@@ -14,6 +14,7 @@
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/raw_ostream.h"
#include "gtest/gtest.h"
+#include <optional>
#include <string>
using namespace lldb;
diff --git a/lldb/unittests/Language/CPlusPlus/CPlusPlusLanguageTest.cpp b/lldb/unittests/Language/CPlusPlus/CPlusPlusLanguageTest.cpp
index 0a55238..a2929a4 100644
--- a/lldb/unittests/Language/CPlusPlus/CPlusPlusLanguageTest.cpp
+++ b/lldb/unittests/Language/CPlusPlus/CPlusPlusLanguageTest.cpp
@@ -11,6 +11,7 @@
#include "lldb/lldb-enumerations.h"
#include "gmock/gmock.h"
#include "gtest/gtest.h"
+#include <optional>
using namespace lldb_private;
diff --git a/lldb/unittests/Language/Highlighting/HighlighterTest.cpp b/lldb/unittests/Language/Highlighting/HighlighterTest.cpp
index 7a2d716..ddf96d3b 100644
--- a/lldb/unittests/Language/Highlighting/HighlighterTest.cpp
+++ b/lldb/unittests/Language/Highlighting/HighlighterTest.cpp
@@ -15,6 +15,7 @@
#include "Plugins/Language/ObjC/ObjCLanguage.h"
#include "Plugins/Language/ObjCPlusPlus/ObjCPlusPlusLanguage.h"
#include "TestingSupport/SubsystemRAII.h"
+#include <optional>
using namespace lldb_private;
diff --git a/lldb/unittests/Platform/PlatformSiginfoTest.cpp b/lldb/unittests/Platform/PlatformSiginfoTest.cpp
index f15ae39..0f70add 100644
--- a/lldb/unittests/Platform/PlatformSiginfoTest.cpp
+++ b/lldb/unittests/Platform/PlatformSiginfoTest.cpp
@@ -9,6 +9,7 @@
#include "gtest/gtest.h"
#include <initializer_list>
+#include <optional>
#include <tuple>
#include "Plugins/Platform/FreeBSD/PlatformFreeBSD.h"
diff --git a/lldb/unittests/Process/gdb-remote/GDBRemoteCommunicationClientTest.cpp b/lldb/unittests/Process/gdb-remote/GDBRemoteCommunicationClientTest.cpp
index c570c08..a279038 100644
--- a/lldb/unittests/Process/gdb-remote/GDBRemoteCommunicationClientTest.cpp
+++ b/lldb/unittests/Process/gdb-remote/GDBRemoteCommunicationClientTest.cpp
@@ -18,6 +18,7 @@
#include "gmock/gmock.h"
#include <future>
#include <limits>
+#include <optional>
using namespace lldb_private::process_gdb_remote;
using namespace lldb_private;
diff --git a/lldb/unittests/Process/minidump/MinidumpParserTest.cpp b/lldb/unittests/Process/minidump/MinidumpParserTest.cpp
index 6b38baa..6068661 100644
--- a/lldb/unittests/Process/minidump/MinidumpParserTest.cpp
+++ b/lldb/unittests/Process/minidump/MinidumpParserTest.cpp
@@ -32,6 +32,7 @@
// C++ includes
#include <memory>
+#include <optional>
using namespace lldb_private;
using namespace minidump;
diff --git a/lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp b/lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp
index 2a5718a..c46fd5e 100644
--- a/lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp
+++ b/lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp
@@ -17,6 +17,7 @@
#include "lldb/Host/HostInfo.h"
#include "PythonTestSuite.h"
+#include <optional>
using namespace lldb_private;
class TestScriptInterpreterPython : public ScriptInterpreterPythonImpl {
diff --git a/lldb/unittests/Symbol/TestLineEntry.cpp b/lldb/unittests/Symbol/TestLineEntry.cpp
index 144df6f..848bada 100644
--- a/lldb/unittests/Symbol/TestLineEntry.cpp
+++ b/lldb/unittests/Symbol/TestLineEntry.cpp
@@ -8,6 +8,7 @@
#include "gtest/gtest.h"
#include <iostream>
+#include <optional>
#include "Plugins/ObjectFile/Mach-O/ObjectFileMachO.h"
#include "Plugins/SymbolFile/DWARF/DWARFASTParserClang.h"
diff --git a/lldb/unittests/Target/FindFileTest.cpp b/lldb/unittests/Target/FindFileTest.cpp
index 0921325..b632318 100644
--- a/lldb/unittests/Target/FindFileTest.cpp
+++ b/lldb/unittests/Target/FindFileTest.cpp
@@ -15,6 +15,7 @@
#include "llvm/Support/FileSystem.h"
#include "llvm/Support/FileUtilities.h"
#include "gtest/gtest.h"
+#include <optional>
#include <utility>
using namespace llvm;
diff --git a/lldb/unittests/Target/MemoryTagMapTest.cpp b/lldb/unittests/Target/MemoryTagMapTest.cpp
index a8ac43e..9031eb7 100644
--- a/lldb/unittests/Target/MemoryTagMapTest.cpp
+++ b/lldb/unittests/Target/MemoryTagMapTest.cpp
@@ -10,6 +10,7 @@
#include "Plugins/Process/Utility/MemoryTagManagerAArch64MTE.h"
#include "gmock/gmock.h"
#include "gtest/gtest.h"
+#include <optional>
using namespace lldb_private;
using namespace lldb;
diff --git a/lldb/unittests/TestingSupport/Symbol/YAMLModuleTester.h b/lldb/unittests/TestingSupport/Symbol/YAMLModuleTester.h
index 1b1bf22..b9c3623 100644
--- a/lldb/unittests/TestingSupport/Symbol/YAMLModuleTester.h
+++ b/lldb/unittests/TestingSupport/Symbol/YAMLModuleTester.h
@@ -17,6 +17,7 @@
#include "TestingSupport/TestUtilities.h"
#include "lldb/Core/Module.h"
#include "lldb/Host/HostInfo.h"
+#include <optional>
namespace lldb_private {
diff --git a/lldb/unittests/Utility/ProcessInstanceInfoTest.cpp b/lldb/unittests/Utility/ProcessInstanceInfoTest.cpp
index 7fad6b9..eea5b0e 100644
--- a/lldb/unittests/Utility/ProcessInstanceInfoTest.cpp
+++ b/lldb/unittests/Utility/ProcessInstanceInfoTest.cpp
@@ -8,6 +8,7 @@
#include "lldb/Target/Process.h"
#include "gtest/gtest.h"
+#include <optional>
using namespace lldb_private;
diff --git a/lldb/unittests/Utility/RegisterValueTest.cpp b/lldb/unittests/Utility/RegisterValueTest.cpp
index 9e22d3a..5ac1b90 100644
--- a/lldb/unittests/Utility/RegisterValueTest.cpp
+++ b/lldb/unittests/Utility/RegisterValueTest.cpp
@@ -8,6 +8,7 @@
#include "lldb/Utility/RegisterValue.h"
#include "gtest/gtest.h"
+#include <optional>
using namespace lldb_private;
using llvm::APInt;
diff --git a/lldb/unittests/Utility/UserIDResolverTest.cpp b/lldb/unittests/Utility/UserIDResolverTest.cpp
index 4866c07..3022e66 100644
--- a/lldb/unittests/Utility/UserIDResolverTest.cpp
+++ b/lldb/unittests/Utility/UserIDResolverTest.cpp
@@ -8,6 +8,7 @@
#include "lldb/Utility/UserIDResolver.h"
#include "gmock/gmock.h"
+#include <optional>
using namespace lldb_private;
using namespace testing;
diff --git a/lldb/unittests/tools/lldb-server/tests/TestClient.h b/lldb/unittests/tools/lldb-server/tests/TestClient.h
index 32a21a4..7dedd54 100644
--- a/lldb/unittests/tools/lldb-server/tests/TestClient.h
+++ b/lldb/unittests/tools/lldb-server/tests/TestClient.h
@@ -18,6 +18,7 @@
#include "llvm/Support/Casting.h"
#include "llvm/Support/FormatVariadic.h"
#include <memory>
+#include <optional>
#include <string>
#if LLDB_SERVER_IS_DEBUGSERVER