llvm-project/lldb/source/Interpreter/CommandOptionValidators.cpp
Zachary Turner 28638911cd Invalidate process UID/GID-related command options on Windows.
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
2014-07-07 23:54:51 +00:00

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.";
}