forked from OSchip/llvm-project
Support/Path: Deprecate PathV1::isAbsolute.
llvm-svn: 122086
This commit is contained in:
parent
ffa42ced39
commit
559e09e39d
|
@ -27,6 +27,9 @@ public:
|
|||
// Default ctor - Initialize to empty.
|
||||
SmallString() {}
|
||||
|
||||
// Initialize from a StringRef.
|
||||
SmallString(StringRef S) : SmallVector<char, InternalLen>(S.begin(), S.end()) {}
|
||||
|
||||
// Initialize with a range.
|
||||
template<typename ItTy>
|
||||
SmallString(ItTy S, ItTy E) : SmallVector<char, InternalLen>(S, E) {}
|
||||
|
|
|
@ -15,6 +15,10 @@
|
|||
#ifndef LLVM_SUPPORT_COMPILER_H
|
||||
#define LLVM_SUPPORT_COMPILER_H
|
||||
|
||||
#ifndef __has_feature
|
||||
# define __has_feature(x) 0
|
||||
#endif
|
||||
|
||||
/// LLVM_LIBRARY_VISIBILITY - If a class marked with this attribute is linked
|
||||
/// into a shared library, then the class should be private to the library and
|
||||
/// not accessible from outside it. Can also be used to mark variables and
|
||||
|
@ -107,4 +111,19 @@
|
|||
#define LLVM_ATTRIBUTE_NORETURN
|
||||
#endif
|
||||
|
||||
// LLVM_ATTRIBUTE_DEPRECATED(decl, "message")
|
||||
#if __has_feature(attribute_deprecated_with_message)
|
||||
# define LLVM_ATTRIBUTE_DEPRECATED(decl, message) \
|
||||
decl __attribute__((deprecated(message)))
|
||||
#elif defined(__GNUC__)
|
||||
# define LLVM_ATTRIBUTE_DEPRECATED(decl, message) \
|
||||
decl __attribute__((deprecated))
|
||||
#elif defined(_MSC_VER)
|
||||
# define LLVM_ATTRIBUTE_DEPRECATED(decl, message) \
|
||||
__declspec(deprecated(message)) decl
|
||||
#else
|
||||
# define LLVM_ATTRIBUTE_DEPRECATED(decl, message) \
|
||||
decl
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
|
@ -15,11 +15,15 @@
|
|||
#define LLVM_SYSTEM_PATH_H
|
||||
|
||||
#include "llvm/ADT/StringRef.h"
|
||||
#include "llvm/Support/Compiler.h"
|
||||
#include "llvm/Support/TimeValue.h"
|
||||
#include <set>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#define LLVMV_PATH_DEPRECATED_MSG \
|
||||
"PathV1 is being deprecated, please use the PathV2 API."
|
||||
|
||||
namespace llvm {
|
||||
namespace sys {
|
||||
|
||||
|
@ -300,12 +304,12 @@ namespace sys {
|
|||
/// This function determines if the path name is absolute, as opposed to
|
||||
/// relative.
|
||||
/// @brief Determine if the path is absolute.
|
||||
bool isAbsolute() const;
|
||||
LLVM_ATTRIBUTE_DEPRECATED(bool isAbsolute() const, LLVMV_PATH_DEPRECATED_MSG);
|
||||
|
||||
/// This function determines if the path name is absolute, as opposed to
|
||||
/// relative.
|
||||
/// @brief Determine if the path is absolute.
|
||||
static bool isAbsolute(const char *NameStart, unsigned NameLen);
|
||||
LLVM_ATTRIBUTE_DEPRECATED(static bool isAbsolute(const char *NameStart, unsigned NameLen), LLVMV_PATH_DEPRECATED_MSG);
|
||||
|
||||
/// This function opens the file associated with the path name provided by
|
||||
/// the Path object and reads its magic number. If the magic number at the
|
||||
|
|
|
@ -56,7 +56,7 @@ namespace {
|
|||
int ExecuteProgram (const std::string& name, const StrVector& args) {
|
||||
sys::Path prog(name);
|
||||
|
||||
if (!prog.isAbsolute()) {
|
||||
if (sys::path::is_relative(prog.str())) {
|
||||
prog = PrependMainExecutablePath(name, ProgramName,
|
||||
(void *)(intptr_t)&Main);
|
||||
|
||||
|
|
Loading…
Reference in New Issue