| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
|
|
|
| |
the removal of directories. Using std::remove is indiscriminate and can
lead to the removal of things like /dev/null if run as root. The
Path::eraseFromDisk method ensures that we only ever remove regular files
or directories, but never character or block special nodes. This should
clear up the problem with usage like: llvm-as -o /dev/null which is used
in the llvm-test makefiles.
llvm-svn: 29540
|
| |
|
|
|
|
| |
the erasure of non-file paths like /dev/null.
llvm-svn: 29539
|
| |
|
|
| |
llvm-svn: 29447
|
| |
|
|
| |
llvm-svn: 29443
|
| |
|
|
| |
llvm-svn: 29442
|
| |
|
|
| |
llvm-svn: 29402
|
| |
|
|
| |
llvm-svn: 29400
|
| |
|
|
|
|
|
|
| |
instead of throwing an exception. This reduces the amount of code that is
exposed to exceptions (e.g. FileUtilities), though it is clearly only one step
along the way.
llvm-svn: 29395
|
| |
|
|
|
|
|
| |
"access"). Instead, just let the open call fail if the file doesn't exist.
This reduces the # syscalls executed.
llvm-svn: 29173
|
| |
|
|
|
|
| |
spacing
llvm-svn: 29172
|
| |
|
|
|
|
| |
the size, not the whole stat buffer.
llvm-svn: 29171
|
| |
|
|
|
|
| |
good.
llvm-svn: 29170
|
| |
|
|
| |
llvm-svn: 29169
|
| |
|
|
| |
llvm-svn: 29129
|
| |
|
|
|
|
| |
don't exist.
llvm-svn: 29068
|
| |
|
|
| |
llvm-svn: 29058
|
| |
|
|
|
|
|
|
| |
the Signals module that registered the handlers would cause the stack trace
to be generated. Now, you must explicitly call PrintStackTraceOnErrorSignal
in order for that to happen.
llvm-svn: 28810
|
| |
|
|
|
|
|
| |
Use execve when explicit environment variables ptr is available. Otherwise
just use execv.
llvm-svn: 28740
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Provide new llvm::sys::Program facilities for converting the stdout and
stdin to binary mode. There is no standard way to do this and the available
mechanisms are platform specific. Adjust the bytecode reader and writer to
use these methods when their input is stdin or output is stdout. THis avoids
the problem with \n writing CRLF to a bytecode file on windows.
Patch Contributed by Michael Smith.
llvm-svn: 28722
|
| |
|
|
|
|
| |
handle it. Just silently fail.
llvm-svn: 28291
|
| |
|
|
| |
llvm-svn: 28260
|
| |
|
|
| |
llvm-svn: 28257
|
| |
|
|
|
|
|
|
| |
* Allow the ExecuteAndWait to return negative values if a signal is
detected as the reason for the child termination. This is needed to
support bugpoint detecting bad things in its child processes.
llvm-svn: 24960
|
| |
|
|
|
|
|
| |
dependent portion of the lib/Support/SlowOperationTimer code into the
lib/System implementation where it can be ported to different platforms.
llvm-svn: 24937
|
| |
|
|
|
|
| |
that actually make sense.
llvm-svn: 24352
|
| |
|
|
|
|
| |
the default allocator uses mmap.
llvm-svn: 24349
|
| |
|
|
|
|
| |
build will not fail
llvm-svn: 22578
|
| |
|
|
| |
llvm-svn: 22554
|
| |
|
|
|
|
|
|
|
| |
appended to a path string that didn't end in a slash, yielding invalid
path names.
Path contribute by Nicholas Riley.
llvm-svn: 22539
|
| |
|
|
|
|
|
|
|
| |
Add a Mutex class for thread synchronization in a platform-independent way.
The current implementation only supports pthreads. Win32 use of Critical
Sections will be added later. The design permits other threading models to
be used if (and only if) pthreads is not available.
llvm-svn: 22403
|
| |
|
|
|
|
| |
2. Fix bug in eraseSuffix where it allows /path/.suffix to become /path/
llvm-svn: 22362
|
| |
|
|
|
|
| |
exist but just return false instead.
llvm-svn: 22361
|
| |
|
|
|
|
|
|
|
|
| |
1. Use isValid() to check validity of the resulting path name in the
eraseSuffix even though we can't think of a case where eraseSuffix could
possibly cause an invalid path name.
2. Rewrite isValid() to not use the deprecated realpath function any more.
It now just uses isascii to make sure all the characters are legit.
llvm-svn: 22359
|
| |
|
|
| |
llvm-svn: 22357
|
| |
|
|
| |
llvm-svn: 22355
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This chagne just renames some sys::Path methods to ensure they are not
misused. The Path documentation now divides methods into two dimensions:
Path/Disk and accessor/mutator. Path accessors and mutators only operate
on the Path object itself without making any disk accesses. Disk accessors
and mutators will also access or modify the file system. Because of the
potentially destructive nature of disk mutators, it was decided that all
such methods should end in the work "Disk" to ensure the user recognizes
that the change will occur on the file system. This patch makes that
change. The method name changes are:
makeReadable -> makeReadableOnDisk
makeWriteable -> makeWriteableOnDisk
makeExecutable -> makeExecutableOnDisk
setStatusInfo -> setStatusInfoOnDisk
createDirectory -> createDirectoryOnDisk
createFile -> createFileOnDisk
createTemporaryFile -> createTemporaryFileOnDisk
destroy -> eraseFromDisk
rename -> renamePathOnDisk
These changes pass the Linux Deja Gnu tests.
llvm-svn: 22354
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Get rid of the difference between file paths and directory paths. The Path
class now simply stores a path that can refer to either a file or a
directory. This required various changes in the implementation and interface
of the class with the corresponding impact to its users. Doxygen comments were
also updated to reflect these changes. Interface changes are:
appendDirectory -> appendComponent
appendFile -> appendComponent
elideDirectory -> eraseComponent
elideFile -> eraseComponent
elideSuffix -> eraseSuffix
renameFile -> rename
setDirectory -> set
setFile -> set
Changes pass Dejagnu and llvm-test/SingleSource tests.
llvm-svn: 22349
|
| |
|
|
|
|
|
|
|
|
|
| |
Change interface to Path class:
readable -> canRead
writable -> canWrite
executable -> canExecute
More (incremental) changes coming to close 495.
llvm-svn: 22345
|
| |
|
|
|
|
| |
configure seems to find it on Cygwin but linking against it fails.
llvm-svn: 22189
|
| |
|
|
| |
llvm-svn: 22081
|
| |
|
|
| |
llvm-svn: 21704
|
| |
|
|
| |
llvm-svn: 21453
|
| |
|
|
| |
llvm-svn: 21422
|
| |
|
|
|
|
| |
methods that were recently added to the interface.
llvm-svn: 21401
|
| |
|
|
|
|
|
|
| |
Standardize the error messages to be in "path: what failed: why" format.
Also attempt to use the correct errno to ThrowErrno in situations where
the errno value is erased by subsequent system calls.
llvm-svn: 21385
|
| |
|
|
|
|
|
| |
Allow the ThrowErrno function to optionally accept an error number
parameter so that callers can specify the error number to be used.
llvm-svn: 21384
|
| |
|
|
|
|
| |
result in returning executable files that won't be runnable.
llvm-svn: 21378
|
| |
|
|
|
|
| |
Patch by Markus Oberhumer.
llvm-svn: 21377
|
| |
|
|
|
|
| |
Thanks to Markus Oberhumer for the patch!
llvm-svn: 21370
|
| |
|
|
| |
llvm-svn: 20397
|