diff --git a/llvm/include/llvm/Telemetry/Telemetry.h b/llvm/include/llvm/Telemetry/Telemetry.h index bc0056ec7e848..708ec439ed40f 100644 --- a/llvm/include/llvm/Telemetry/Telemetry.h +++ b/llvm/include/llvm/Telemetry/Telemetry.h @@ -17,6 +17,7 @@ #include "llvm/ADT/DenseMap.h" #include "llvm/ADT/StringExtras.h" #include "llvm/ADT/StringRef.h" +#include "llvm/Support/Compiler.h" #include "llvm/Support/Error.h" #include #include @@ -101,7 +102,7 @@ struct EntryKind { /// For example, The LLDB debugger can define a DebugCommandInfo subclass /// which has additional fields about the debug-command being instrumented, /// such as `CommandArguments` or `CommandName`. -struct TelemetryInfo { +struct LLVM_ABI TelemetryInfo { // This represents a unique-id, conventionally corresponding to // a tool's session - i.e., every time the tool starts until it exits. // @@ -141,10 +142,15 @@ class Destination { /// and this framework. /// It is responsible for collecting telemetry data from the tool being /// monitored and transmitting the data elsewhere. -class Manager { +class LLVM_ABI Manager { public: + Manager() = default; virtual ~Manager() = default; + // Explicitly non-copyable. + Manager(Manager const &) = delete; + Manager &operator=(Manager const &) = delete; + // Dispatch Telemetry data to the Destination(s). // The argument is non-const because the Manager may add or remove // data from the entry. diff --git a/llvm/include/llvm/ToolDrivers/llvm-dlltool/DlltoolDriver.h b/llvm/include/llvm/ToolDrivers/llvm-dlltool/DlltoolDriver.h index d144f62f1cc1a..30a260c52f1d9 100644 --- a/llvm/include/llvm/ToolDrivers/llvm-dlltool/DlltoolDriver.h +++ b/llvm/include/llvm/ToolDrivers/llvm-dlltool/DlltoolDriver.h @@ -14,10 +14,12 @@ #ifndef LLVM_TOOLDRIVERS_LLVM_DLLTOOL_DLLTOOLDRIVER_H #define LLVM_TOOLDRIVERS_LLVM_DLLTOOL_DLLTOOLDRIVER_H +#include "llvm/Support/Compiler.h" + namespace llvm { template class ArrayRef; -int dlltoolDriverMain(ArrayRef ArgsArr); +LLVM_ABI int dlltoolDriverMain(ArrayRef ArgsArr); } // namespace llvm #endif diff --git a/llvm/include/llvm/ToolDrivers/llvm-lib/LibDriver.h b/llvm/include/llvm/ToolDrivers/llvm-lib/LibDriver.h index 23a2fc348a892..43fc5d72d3a89 100644 --- a/llvm/include/llvm/ToolDrivers/llvm-lib/LibDriver.h +++ b/llvm/include/llvm/ToolDrivers/llvm-lib/LibDriver.h @@ -14,11 +14,12 @@ #ifndef LLVM_TOOLDRIVERS_LLVM_LIB_LIBDRIVER_H #define LLVM_TOOLDRIVERS_LLVM_LIB_LIBDRIVER_H +#include "llvm/Support/Compiler.h" + namespace llvm { template class ArrayRef; -int libDriverMain(ArrayRef ARgs); - +LLVM_ABI int libDriverMain(ArrayRef ARgs); } #endif