Fork of llvm with experimental commits and workarounds for RPCS3
Go to file
Ted Kremenek 1a9c18b50d Re-implemented Path::createDirectoryOnDisk (for Unix).
This method allows one to create a directory, and optionally create all parent
directories that do not exist.

The original implementation would require that *all* directories along a path
are writable by the user, including directories that already exist. For example,
suppose we wanted to create the directory "/tmp/foo/bar", and the directory
"/tmp" already exists, but not "/tmp/foo". Since "/tmp" is writable by all
users, the original implementation would work, and create "/tmp/foo", followed
by "/tmp/bar".

A problem occurred, however if one wanted to created the directory
"/Users/myuser/bar" (or equivalently "/home/myuser/bar"), and "/Users/myuser"
already existed and is writable by the current user. The directory
"/User/myuser" is writable by the user, but "/User" is not. The original
implementation of createDirectoryOnDisk would return with failure since "/User"
is not writable, even though "/User/mysuser" is writable.

The new implementation works by recursively creating parents as needed, and thus
doesn't need to check the permissions on every directory in a path.

llvm-svn: 49162
2008-04-03 16:11:31 +00:00
autoconf Adding ocamldoc generation. 2008-03-10 15:49:16 +00:00
bindings Expose Function::viewCFG and Function::viewCFGOnly to bindings. 2008-03-31 16:22:09 +00:00
docs more edits from Jon Sargeant 2008-04-02 00:38:26 +00:00
examples Fix an incorrect comment, PR2147. 2008-03-13 03:29:42 +00:00
include Backing out 48222 temporarily. 2008-04-03 03:13:16 +00:00
lib Re-implemented Path::createDirectoryOnDisk (for Unix). 2008-04-03 16:11:31 +00:00
projects
runtime Fixing the stack walker. 2008-01-24 05:16:36 +00:00
test Testcase for EH with functions whose names are stripped. 2008-04-02 20:16:41 +00:00
tools Make EH work with unnamed functions. Reenable running 2008-04-02 20:10:52 +00:00
utils Move instruction flag inference out of InstrInfoEmitter and into 2008-04-03 00:02:49 +00:00
website
win32 Updating win32 VStudio project files with new file references and removing dead references. 2008-03-27 00:02:53 +00:00
Xcode Update project to reflect deleted files. 2008-03-23 16:49:47 +00:00
build-for-llvm-top.sh
configure Regenerate. 2008-03-10 15:49:38 +00:00
CREDITS.TXT Add Mikhail to credits file 2008-03-23 08:58:32 +00:00
LICENSE.TXT scoped_ptr.h was removed. 2008-02-09 22:50:06 +00:00
llvm.spec.in
Makefile a happier version of happiness 2008-03-21 22:17:07 +00:00
Makefile.common
Makefile.config.in Reverting r48974. See PR2183 for details. 2008-03-31 16:46:23 +00:00
Makefile.rules Refresh Makefile.ocaml in objdir if it is modified in srcdir. 2008-03-10 15:58:40 +00:00
ModuleInfo.txt
README.txt

Low Level Virtual Machine (LLVM)
================================

This directory and its subdirectories contain source code for the Low Level 
Virtual Machine, a toolkit for the construction of highly optimized compilers,
optimizers, and runtime environments. 

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the HTML documentation provided in docs/index.html for further
assistance with LLVM.