From f77bdc489216d4f6e5a21eaa6efbedc99c879285 Mon Sep 17 00:00:00 2001 From: Reid Spencer Date: Fri, 24 Dec 2004 06:29:28 +0000 Subject: [PATCH] For PR351: This implementation is no longer needed, its been merged to Unix/Path.cpp since there is such little variation between the platforms. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19133 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/System/AIX/Path.cpp | 53 ------------------------------------- lib/System/Cygwin/Path.cpp | 52 ------------------------------------ lib/System/Darwin/Path.cpp | 48 --------------------------------- lib/System/FreeBSD/Path.cpp | 50 ---------------------------------- lib/System/Interix/Path.cpp | 50 ---------------------------------- lib/System/Linux/Path.cpp | 50 ---------------------------------- lib/System/SunOS/Path.cpp | 52 ------------------------------------ 7 files changed, 355 deletions(-) delete mode 100644 lib/System/AIX/Path.cpp delete mode 100644 lib/System/Cygwin/Path.cpp delete mode 100644 lib/System/Darwin/Path.cpp delete mode 100644 lib/System/FreeBSD/Path.cpp delete mode 100644 lib/System/Interix/Path.cpp delete mode 100644 lib/System/Linux/Path.cpp delete mode 100644 lib/System/SunOS/Path.cpp diff --git a/lib/System/AIX/Path.cpp b/lib/System/AIX/Path.cpp deleted file mode 100644 index 56a006dbad9..00000000000 --- a/lib/System/AIX/Path.cpp +++ /dev/null @@ -1,53 +0,0 @@ -//===- llvm/System/AIX/Path.cpp - AIX Path Implementation -------*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file was developed by Reid Spencer and is distributed under the -// University of Illinois Open Source License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// This file provides the AIX-specific implementation of the Path class. -// -//===----------------------------------------------------------------------===// - -// Include the generic unix implementation -#include "../Unix/Path.cpp" -#include - -namespace llvm { -using namespace sys; - -//===----------------------------------------------------------------------===// -//=== WARNING: Implementation here must contain only AIX specific code -//=== and must not be generic UNIX code (see ../Unix/Path.cpp) -//===----------------------------------------------------------------------===// - -bool -Path::isValid() const { - if (path.empty()) - return false; - if (path.length() >= MAXPATHLEN) - return false; - return true; -} - -Path -Path::GetTemporaryDirectory() { - char pathname[MAXPATHLEN]; - strcpy(pathname, "/tmp/llvm_XXXXXX"); - // AIX does not have a mkdtemp(), so we emulate it as follows: - // mktemp() returns a valid name for a _file_, not a directory, but does not - // create it. We assume that it is a valid name for a directory. - char *TmpName = mktemp(pathname); - if (!mkdir(TmpName, S_IRWXU)) - ThrowErrno(std::string(TmpName) + ": Can't create temporary directory"); - Path result; - result.setDirectory(TmpName); - assert(result.isValid() && "mkdtemp didn't create a valid pathname!"); - return result; -} - -} - -// vim: sw=2 smartindent smarttab tw=80 autoindent expandtab diff --git a/lib/System/Cygwin/Path.cpp b/lib/System/Cygwin/Path.cpp deleted file mode 100644 index b159b547ea9..00000000000 --- a/lib/System/Cygwin/Path.cpp +++ /dev/null @@ -1,52 +0,0 @@ -//===- Cygwin/Path.cpp - Cygwin Path Implementation -------------*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file was developed by Reid Spencer and is distributed under the -// University of Illinois Open Source License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// This file provides the Cygwin specific implementation of the Path class. -// -//===----------------------------------------------------------------------===// - -//===----------------------------------------------------------------------===// -//=== WARNING: Implementation here must contain only Cygwin specific code -//=== and must not be generic UNIX code (see ../Unix/Path.cpp) -//===----------------------------------------------------------------------===// - -// Include the generic Unix implementation -#include "Unix/Path.cpp" - -namespace llvm { -using namespace sys; - -bool -Path::isValid() const { - if (path.empty()) - return false; - char pathname[MAXPATHLEN]; - if (0 == realpath(path.c_str(), pathname)) - if (errno != EACCES && errno != EIO && errno != ENOENT && errno != ENOTDIR) - return false; - return true; -} - -Path -Path::GetTemporaryDirectory() { - char* pathname = tempnam(0,"llvm_"); - if (0 == pathname) - ThrowErrno(std::string("Can't create temporary directory name")); - Path result; - result.setDirectory(pathname); - free(pathname); - assert(result.isValid() && "tempnam didn't create a valid pathname!"); - if (0 != mkdir(result.c_str(), S_IRWXU)) - ThrowErrno(result.toString() + ": Can't create temporary directory"); - return result; -} - -} - -// vim: sw=2 smartindent smarttab tw=80 autoindent expandtab diff --git a/lib/System/Darwin/Path.cpp b/lib/System/Darwin/Path.cpp deleted file mode 100644 index d34ad80ef22..00000000000 --- a/lib/System/Darwin/Path.cpp +++ /dev/null @@ -1,48 +0,0 @@ -//===- llvm/System/Darwin/Path.cpp - Linux Path Implementation --*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file was developed by Reid Spencer and is distributed under the -// University of Illinois Open Source License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// This file provides the Darwin specific implementation of the Path class. -// -//===----------------------------------------------------------------------===// - -//===----------------------------------------------------------------------===// -//=== WARNING: Implementation here must contain only Darwin specific code -//=== and must not be generic UNIX code (see ../Unix/Path.cpp) -//===----------------------------------------------------------------------===// - -// Include the generic unix implementation -#include "../Unix/Path.cpp" - -namespace llvm { -using namespace sys; - -bool -Path::isValid() const { - if (path.empty()) - return false; - if (path.length() >= MAXPATHLEN) - return false; - return true; -} - -Path -Path::GetTemporaryDirectory() { - char pathname[MAXPATHLEN]; - strcpy(pathname,"/tmp/llvm_XXXXXX"); - if (0 == mkdtemp(pathname)) - ThrowErrno(std::string(pathname) + ": Can't create temporary directory"); - Path result; - result.setDirectory(pathname); - assert(result.isValid() && "mkdtemp didn't create a valid pathname!"); - return result; -} - -} - -// vim: sw=2 smartindent smarttab tw=80 autoindent expandtab diff --git a/lib/System/FreeBSD/Path.cpp b/lib/System/FreeBSD/Path.cpp deleted file mode 100644 index 837f830c4fe..00000000000 --- a/lib/System/FreeBSD/Path.cpp +++ /dev/null @@ -1,50 +0,0 @@ -//===- FreeBSD/Path.cpp - FreeBSD Path Implementation -----------*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file was developed by Reid Spencer and is distributed under the -// University of Illinois Open Source License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// This file provides the FreeBSD specific implementation of the Path class. -// -//===----------------------------------------------------------------------===// - -//===----------------------------------------------------------------------===// -//=== WARNING: Implementation here must contain only FreeBSD specific code -//=== and must not be generic UNIX code (see ../Unix/Path.cpp) -//===----------------------------------------------------------------------===// - -// Include the generic Unix implementation -#include "../Unix/Path.cpp" - -namespace llvm { -using namespace sys; - -bool -Path::isValid() const { - if (path.empty()) - return false; - char pathname[MAXPATHLEN]; - if (0 == realpath(path.c_str(), pathname)) - if (errno != EACCES && errno != EIO && errno != ENOENT && errno != ENOTDIR) - return false; - return true; -} - -Path -Path::GetTemporaryDirectory() { - char pathname[MAXPATHLEN]; - strcpy(pathname,"/tmp/llvm_XXXXXX"); - if (0 == mkdtemp(pathname)) - ThrowErrno(std::string(pathname) + ": Can't create temporary directory"); - Path result; - result.setDirectory(pathname); - assert(result.isValid() && "mkdtemp didn't create a valid pathname!"); - return result; -} - -} - -// vim: sw=2 smartindent smarttab tw=80 autoindent expandtab diff --git a/lib/System/Interix/Path.cpp b/lib/System/Interix/Path.cpp deleted file mode 100644 index 4fb38cb1f5a..00000000000 --- a/lib/System/Interix/Path.cpp +++ /dev/null @@ -1,50 +0,0 @@ -//===- Interix/Path.cpp - Interix Path Implementation -----------*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file was developed by Reid Spencer and is distributed under the -// University of Illinois Open Source License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// This file provides the Interix specific implementation of the Path class. -// -//===----------------------------------------------------------------------===// - -//===----------------------------------------------------------------------===// -//=== WARNING: Implementation here must contain only Interix specific code -//=== and must not be generic UNIX code (see ../Unix/Path.cpp) -//===----------------------------------------------------------------------===// - -// Include the generic Unix implementation -#include "../Unix/Path.cpp" - -namespace llvm { -using namespace sys; - -bool -Path::isValid() const { - if (path.empty()) - return false; - char pathname[MAXPATHLEN]; - if (0 == realpath(path.c_str(), pathname)) - if (errno != EACCES && errno != EIO && errno != ENOENT && errno != ENOTDIR) - return false; - return true; -} - -Path -Path::GetTemporaryDirectory() { - char pathname[MAXPATHLEN]; - strcpy(pathname,"/tmp/llvm_XXXXXX"); - if (0 == mkdtemp(pathname)) - ThrowErrno(std::string(pathname) + ": Can't create temporary directory"); - Path result; - result.setDirectory(pathname); - assert(result.isValid() && "mkdtemp didn't create a valid pathname!"); - return result; -} - -} - -// vim: sw=2 smartindent smarttab tw=80 autoindent expandtab diff --git a/lib/System/Linux/Path.cpp b/lib/System/Linux/Path.cpp deleted file mode 100644 index d0eccb783f1..00000000000 --- a/lib/System/Linux/Path.cpp +++ /dev/null @@ -1,50 +0,0 @@ -//===- llvm/System/Linux/Path.cpp - Linux Path Implementation ---*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file was developed by Reid Spencer and is distributed under the -// University of Illinois Open Source License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// This file provides the Linux specific implementation of the Path class. -// -//===----------------------------------------------------------------------===// - -//===----------------------------------------------------------------------===// -//=== WARNING: Implementation here must contain only Linux specific code -//=== and must not be generic UNIX code (see ../Unix/Path.cpp) -//===----------------------------------------------------------------------===// - -// Include the generic Unix implementation -#include "../Unix/Path.cpp" - -namespace llvm { -using namespace sys; - -bool -Path::isValid() const { - if (path.empty()) - return false; - char pathname[MAXPATHLEN]; - if (0 == realpath(path.c_str(), pathname)) - if (errno != EACCES && errno != EIO && errno != ENOENT && errno != ENOTDIR) - return false; - return true; -} - -Path -Path::GetTemporaryDirectory() { - char pathname[MAXPATHLEN]; - strcpy(pathname,"/tmp/llvm_XXXXXX"); - if (0 == mkdtemp(pathname)) - ThrowErrno(std::string(pathname) + ": Can't create temporary directory"); - Path result; - result.setDirectory(pathname); - assert(result.isValid() && "mkdtemp didn't create a valid pathname!"); - return result; -} - -} - -// vim: sw=2 smartindent smarttab tw=80 autoindent expandtab diff --git a/lib/System/SunOS/Path.cpp b/lib/System/SunOS/Path.cpp deleted file mode 100644 index 346615d55c2..00000000000 --- a/lib/System/SunOS/Path.cpp +++ /dev/null @@ -1,52 +0,0 @@ -//===- llvm/System/SunOS/Path.cpp - SunOS Path Implementation ---*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file was developed by Reid Spencer and is distributed under the -// University of Illinois Open Source License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// This file provides the SunOS specific implementation of the Path class. -// -//===----------------------------------------------------------------------===// - -//===----------------------------------------------------------------------===// -//=== WARNING: Implementation here must contain only SunOS specific code -//=== and must not be generic UNIX code (see ../Unix/Path.cpp) -//===----------------------------------------------------------------------===// - -// Include the generic Unix implementation -#include "../Unix/Path.cpp" - -namespace llvm { -using namespace sys; - -bool -Path::isValid() const { - if (path.empty()) - return false; - char pathname[MAXPATHLEN]; - if (0 == realpath(path.c_str(), pathname)) - if (errno != EACCES && errno != EIO && errno != ENOENT && errno != ENOTDIR) - return false; - return true; -} - -Path -Path::GetTemporaryDirectory() { - char* pathname = tempnam(0,"llvm_"); - if (0 == pathname) - ThrowErrno(std::string("Can't create temporary directory name")); - Path result; - result.setDirectory(pathname); - free(pathname); - assert(result.isValid() && "tempnam didn't create a valid pathname!"); - if (0 != mkdir(result.c_str(), S_IRWXU)) - ThrowErrno(result.toString() + ": Can't create temporary directory"); - return result; -} - -} - -// vim: sw=2 smartindent smarttab tw=80 autoindent expandtab