Files
clang-p2996/lldb/source/Plugins/Platform/MacOSX/PlatformMacOSX.h
Pavel Labath a3939e159f [lldb] Return StringRef from PluginInterface::GetPluginName
There is no reason why this function should be returning a ConstString.

While modifying these files, I also fixed several instances where
GetPluginName and GetPluginNameStatic were returning different strings.

I am not changing the return type of GetPluginNameStatic in this patch, as that
would necessitate additional changes, and this patch is big enough as it is.

Differential Revision: https://reviews.llvm.org/D111877
2021-10-18 10:14:42 +02:00

70 lines
2.3 KiB
C++

//===-- PlatformMacOSX.h ----------------------------------------*- C++ -*-===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
#ifndef LLDB_SOURCE_PLUGINS_PLATFORM_MACOSX_PLATFORMMACOSX_H
#define LLDB_SOURCE_PLUGINS_PLATFORM_MACOSX_PLATFORMMACOSX_H
#include "PlatformDarwin.h"
class PlatformMacOSX : public PlatformDarwin {
public:
PlatformMacOSX();
// Class functions
static lldb::PlatformSP CreateInstance(bool force,
const lldb_private::ArchSpec *arch);
static void Initialize();
static void Terminate();
static lldb_private::ConstString GetPluginNameStatic();
static const char *GetDescriptionStatic();
// lldb_private::PluginInterface functions
llvm::StringRef GetPluginName() override {
return GetPluginNameStatic().GetStringRef();
}
lldb_private::Status
GetSharedModule(const lldb_private::ModuleSpec &module_spec,
lldb_private::Process *process, lldb::ModuleSP &module_sp,
const lldb_private::FileSpecList *module_search_paths_ptr,
llvm::SmallVectorImpl<lldb::ModuleSP> *old_modules,
bool *did_create_ptr) override;
const char *GetDescription() override { return GetDescriptionStatic(); }
lldb_private::Status
GetFile(const lldb_private::FileSpec &source,
const lldb_private::FileSpec &destination) override {
return PlatformDarwin::GetFile(source, destination);
}
bool GetSupportedArchitectureAtIndex(uint32_t idx,
lldb_private::ArchSpec &arch) override;
lldb_private::ConstString
GetSDKDirectory(lldb_private::Target &target) override;
void
AddClangModuleCompilationOptions(lldb_private::Target *target,
std::vector<std::string> &options) override {
return PlatformDarwin::AddClangModuleCompilationOptionsForSDKType(
target, options, lldb_private::XcodeSDK::Type::MacOSX);
}
private:
#if defined(__arm__) || defined(__arm64__) || defined(__aarch64__)
uint32_t m_num_arm_arches = 0;
#endif
};
#endif // LLDB_SOURCE_PLUGINS_PLATFORM_MACOSX_PLATFORMMACOSX_H