
Windows uses a different process security model and does not have a concept of process UID or GID. This patch makes these options invalid on Windows. Attempting to specify these options when the current platform is Windows will generate an error. Reviewed by: Jim Ingham Differential Revision: http://reviews.llvm.org/D4373 llvm-svn: 212500
40 lines
1.1 KiB
C++
40 lines
1.1 KiB
C++
//===-- CommandOptionValidators.cpp -----------------------------*- C++ -*-===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#include "lldb/Interpreter/CommandOptionValidators.h"
|
|
|
|
#include "lldb/Interpreter/CommandInterpreter.h"
|
|
#include "lldb/Target/Platform.h"
|
|
|
|
using namespace lldb;
|
|
using namespace lldb_private;
|
|
|
|
bool PosixPlatformCommandOptionValidator::IsValid(Platform &platform, ExecutionContext &target) const
|
|
{
|
|
llvm::Triple::OSType os = platform.GetSystemArchitecture().GetTriple().getOS();
|
|
switch (os)
|
|
{
|
|
// Are there any other platforms that are not POSIX-compatible?
|
|
case llvm::Triple::Win32:
|
|
return false;
|
|
default:
|
|
return true;
|
|
}
|
|
}
|
|
|
|
const char* PosixPlatformCommandOptionValidator::ShortConditionString() const
|
|
{
|
|
return "POSIX";
|
|
}
|
|
|
|
const char* PosixPlatformCommandOptionValidator::LongConditionString() const
|
|
{
|
|
return "Option only valid for POSIX-compliant hosts.";
|
|
}
|