- Aug 10, 2012
-
-
Joerg Sonnenberger authored
includes both. Deal with feof and ferror potentially being macros. llvm-svn: 161658
-
- Aug 06, 2012
-
-
Eric Christopher authored
Patch by David Hill. llvm-svn: 161344
-
- Jul 20, 2012
-
-
Daniel Dunbar authored
llvm-svn: 160557
-
- Jul 12, 2012
-
-
Galina Kistanova authored
llvm-svn: 160142
-
- Jun 20, 2012
-
-
Nick Kledzik authored
Add permissions(), map_file_pages(), and unmap_file_pages() to llvm::sys::fs and add unit test. Unix is implemented. Windows side needs to be implemented. llvm-svn: 158770
-
- Jun 16, 2012
-
-
Chandler Carruth authored
the address of it. Found by a checking STL implementation used on a dragonegg builder. Sorry about this one. =/ llvm-svn: 158582
-
Chandler Carruth authored
This is likely only the tip of the ice berg, but this particular bug caused any double-free on a glibc system to turn into a deadlock! It is not generally safe to either allocate or release heap memory from within the signal handler. The 'pop_back()' in RemoveFilesToRemove was deleting memory and causing the deadlock. What's worse, eraseFromDisk in PathV1 has lots of allocation and deallocation paths. We even passed 'true' in a place that would have caused the *signal handler* to try to run the 'system' system call and shell out to 'rm -rf'. That was never going to work... This patch switches the file removal to use a vector of strings so that the exact text needed for the 'unlink' system call can be stored there. It switches the loop to be a boring indexed loop, and directly calls unlink without looking at the error. It also works quite hard to ensure that calling 'c_str()' is safe, by ensuring that the non-signal-handling code path that manipulates the vector always leaves it in a state where every element has already had 'c_str()' called at least once. I dunno exactly how overkill this is, but it fixes the deadlock-on-double free issue, and seems likely to prevent any other issues from sneaking up. Sorry for not having a test case, but I *really* don't know how to test signal handling code easily.... llvm-svn: 158580
-
- Jun 02, 2012
-
-
Benjamin Kramer authored
Apart from being slightly cheaper, this fixes a real bug that hits 32 bit linux systems. When passing a file larger than 2G to be linked (which isn't that uncommon with large projects such as WebKit), clang's driver checks if the file exists but the file size doesn't fit in an off_t and stat(2) fails with EOVERFLOW. Clang then says that the file doesn't exist instead of passing it to the linker. llvm-svn: 157891
-
- May 11, 2012
-
-
Eric Christopher authored
to user only read/write. Part of rdar://11325849 llvm-svn: 156591
-
- May 08, 2012
-
-
Daniel Dunbar authored
llvm-svn: 156414
-
- May 06, 2012
-
-
NAKAMURA Takumi authored
llvm-svn: 156252
-
NAKAMURA Takumi authored
FIXME: GetRandomNumber() is not implemented in Win32. llvm-svn: 156251
-
- May 05, 2012
-
-
Daniel Dunbar authored
llvm-svn: 156239
-
Daniel Dunbar authored
- Just use sys::Process::GetRandomNumber instead of having two poor implementations. - This is ~70 times (!) faster on my OS X machine. llvm-svn: 156238
-
- Apr 23, 2012
-
-
Michael J. Spencer authored
When building LLVM on Linux with libc++ with CMake TIME_WITH_SYS_TIME is undefined, and HAVE_SYS_TIME_H is defined. This ends up including sys/time.h but not time.h. Unix/TimeValue.inc requires time.h for asctime_r and localtime. libstdc++ seems to include time.h anyway, but libc++ does not. Fix this by always including time.h llvm-svn: 155382
-
Sylvestre Ledru authored
The problem is that the struct file_status on UNIX systems has two members called st_dev and st_ino; those are also members of the struct stat, and they are reserved identifiers which can also be provided as #define (and this is the case for st_dev on Hurd). The solution (attached) is to rename them, for example adding a "fs_" prefix (= file status) to them. Patch by Pino Toscano llvm-svn: 155354
-
- Apr 16, 2012
-
-
Benjamin Kramer authored
To be used in printing unprintable source in clang diagnostics. Patch by Seth Cantrell, with a minor fix for mingw by me. llvm-svn: 154805
-
Argyrios Kyrtzidis authored
llvm-svn: 154802
-
Argyrios Kyrtzidis authored
To be used in printing unprintable source in clang diagnostics. Patch by Seth Cantrell! llvm-svn: 154800
-
- Apr 11, 2012
-
-
Sylvestre Ledru authored
Thanks to Pino Toscano for the patch llvm-svn: 154500
-
- Mar 26, 2012
-
-
Anton Korobeynikov authored
Patch by Sylvestre Ledru! llvm-svn: 153435
-
- Mar 24, 2012
-
-
Jean-Daniel Dupas authored
llvm-svn: 153395
-
- Feb 09, 2012
-
-
David Blaikie authored
Unify default construction of error_code uses on this idiom so that users don't feel compelled to make static globals for naming convenience. (unfortunately I couldn't make the original ctor private as some APIs don't return their result, instead using an out parameter (that makes sense to default construct) - which is a bit of a pity. I did, however, find/fix some cases of unnecessary default construction of error_code before I hit the unfixable cases) llvm-svn: 150197
-
- Jan 15, 2012
-
-
Chandler Carruth authored
or Clang is using this, and it would be hard to use it correctly given the thread hostility of the function. Also, it never checked the return which is rather dangerous with chdir. If someone was in fact using this, please let me know, as well as what the usecase actually is so that I can add it back and make it more correct and secure to use. (That said, it's never going to be "safe" per-se, but we could at least document the risks...) llvm-svn: 148211
-
- Jan 11, 2012
-
-
Argyrios Kyrtzidis authored
llvm-svn: 147965
-
- Jan 05, 2012
-
-
Sebastian Pop authored
llvm-svn: 147608
-
- Jan 04, 2012
-
-
Sebastian Pop authored
Get back getHostTriple. For JIT compilation, use the host triple instead of the default target: this fixes some JIT testcases that used to fail when the compiler has been configured as a cross compiler. llvm-svn: 147542
-
- Dec 14, 2011
-
-
Michael J. Spencer authored
llvm-svn: 146522
-
- Dec 12, 2011
-
-
Chad Rosier authored
Original commit message: Support/FileSystem: Implement canonicalize. llvm-svn: 146378
-
Michael J. Spencer authored
llvm-svn: 146364
-
Michael J. Spencer authored
llvm-svn: 146363
-
- Dec 08, 2011
-
-
Michael J. Spencer authored
directory_iterator preserve InputIterator semantics on copy. llvm-svn: 146200
-
- Nov 01, 2011
-
-
Sebastian Pop authored
llvm-svn: 143502
-
Sebastian Pop authored
llvm-svn: 143501
-
Eli Friedman authored
llvm-svn: 143452
-
- Sep 24, 2011
-
-
Daniel Dunbar authored
llvm-svn: 140433
-
- Sep 21, 2011
-
-
Bob Wilson authored
This was only needed to locate llvm-gcc's installation directory when clang falls back to run llvm-gcc for i386 kexts. As of clang svn r140187, we're now just searching paths with several different Darwin versions on either side of the current version, so this is no longer needed. llvm-svn: 140188
-
- Sep 14, 2011
-
-
Bill Wendling authored
Patch by Joakim Johansson! llvm-svn: 139743
-
- Aug 10, 2011
-
-
Bob Wilson authored
llvm-svn: 137204
-
- Aug 09, 2011
-
-
Bob Wilson authored
llvm-svn: 137137
-