Daniel Dunbar
68272566c6
Add llvm::sys::RunInterruptHandlers(), which runs the registered SIGINT cleanup
...
stuff.
llvm-svn: 103333
2010-05-08 02:10:34 +00:00
Torok Edwin
6fb0956291
AddSignalHandler was not releasing the critical section on win32.
...
Patch from Gianluigi Tiesi!
llvm-svn: 100003
2010-03-31 12:07:16 +00:00
Anton Korobeynikov
c2747d068e
Properly quote the quotes :) during cmdline construction on Windows.
...
Otherwise, e.g. in the invocation like clang -DFOO=\"bar\" FOO macro
got the bar value, not "bar".
Patch by Alexander Esilevich!
llvm-svn: 99763
2010-03-28 15:07:02 +00:00
Kovarththanan Rajaratnam
61bea8fe0b
Remove superfluous NULL assignment
...
llvm-svn: 98350
2010-03-12 14:17:24 +00:00
Douglas Gregor
1051937c21
Add llvm::Program::ChangeStderrToBinary().
...
llvm-svn: 94743
2010-01-28 06:42:08 +00:00
Anton Korobeynikov
105682dc96
Remove spurious semicolon.
...
Patch by Diego Iastrubni!
llvm-svn: 93450
2010-01-14 20:19:51 +00:00
Daniel Dunbar
cf7744e44d
Fix Win32 Path.inc for API update.
...
llvm-svn: 91706
2009-12-18 19:59:48 +00:00
Jeffrey Yasskin
5908f1e27b
Make Path use StringRef instead of std::string where possible.
...
llvm-svn: 91620
2009-12-17 21:02:39 +00:00
Edward O'Callaghan
746782dde5
API change Path::isSpecialFile to Path::isRegularFile, improve semantics in regards to comments from 89765 post review.
...
llvm-svn: 89848
2009-11-25 06:32:19 +00:00
Edward O'Callaghan
dddf134a3c
Provide Path::isSpecialFile interface for PR5568.
...
llvm-svn: 89765
2009-11-24 15:19:10 +00:00
Benjamin Kramer
9470ecdb2c
Path::createDirectoryOnDisk should ignore existing directories on win32 too.
...
llvm-svn: 86132
2009-11-05 14:32:40 +00:00
Chandler Carruth
56869f22c4
Move DataTypes.h to include/llvm/System, update all users. This breaks the last
...
direct inclusion edge from System to Support.
llvm-svn: 85086
2009-10-26 01:35:46 +00:00
Daniel Dunbar
b2942cb5cb
... missed hiding a variable for MSVC only.
...
llvm-svn: 82552
2009-09-22 16:10:35 +00:00
Daniel Dunbar
1bdedd3876
Hide MSVC specific CRT interaction behind _MSC_VER.
...
llvm-svn: 82551
2009-09-22 15:58:35 +00:00
Mikhail Glushenkov
88e98fec70
Remove the GetProcessId() call from Win32/Program.inc, take 2.
...
GetProcessId() was introduced only in Windows XP, and we want to support earlier
versions.
llvm-svn: 82548
2009-09-22 15:40:32 +00:00
Daniel Dunbar
4c7b0ca05b
Add a magic LLVM_DISABLE_CRT_DEBUG environment variable which we check in RegisterHandler and use to disable the Win32 crash dialogs. These are a major blocker to any kind of automated testing.
...
Also, tweak the 'lit' test runner to set this variable unconditionally.
llvm-svn: 82537
2009-09-22 09:50:28 +00:00
Daniel Dunbar
7b446a001d
Revert "Get rid of GetProcessId in Win32/Program.inc.", this breaks
...
ExecuteAndWait.
llvm-svn: 82522
2009-09-22 04:44:56 +00:00
Mikhail Glushenkov
0adf07eb9e
Get rid of GetProcessId in Win32/Program.inc.
...
GetProcessId was introduced only in XP. As a bonus, this change makes Program
objects copyable, since Program is now basically a PID.
llvm-svn: 81826
2009-09-15 03:39:45 +00:00
Dan Gohman
e592923603
Fix llvm-extract's "writing bitcode to a terminal" warning, which wasn't
...
working. To support this, add an is_displayed() function to raw_ostream,
and generalize Process::StandardOutIsDisplayed and friends in order to
support it.
Also, call RemoveFileOnSignal before creating a file instead of after, so
that the file isn't left behind if the program is interrupted between when
the file is created and RemoveFileOnSignal is called.
While here, add a -S to llvm-extract and port it to IRReader so that it
supports assembly input.
llvm-svn: 81568
2009-09-11 20:46:33 +00:00
Mikhail Glushenkov
d2f8a111cd
Check that the 'kill' call succeeded.
...
Thanks to Duncan Sands for spotting this.
llvm-svn: 81328
2009-09-09 09:51:47 +00:00
Mikhail Glushenkov
29b5d3012b
Const-correctness.
...
llvm-svn: 81249
2009-09-08 19:51:39 +00:00
Mikhail Glushenkov
f9e2f241df
Get rid of the Pid_ member in the Program class.
...
llvm-svn: 81247
2009-09-08 19:50:55 +00:00
Mikhail Glushenkov
4a91b7605b
Add a Kill() function to the Program class.
...
llvm-svn: 81246
2009-09-08 19:50:27 +00:00
Chris Lattner
c521f54198
Prune #includes from llvm/Linker.h and llvm/System/Path.h,
...
forcing them down into various .cpp files.
This change also:
1. Renames TimeValue::toString() and Path::toString() to ::str()
for similarity with the STL.
2. Removes all stream insertion support for sys::Path, forcing
clients to call .str().
3. Removes a use of Config/alloca.h from bugpoint, using smallvector
instead.
4. Weans llvm-db off <iostream>
sys::Path really needs to be gutted, but I don't have the desire to
do it at this point.
llvm-svn: 79869
2009-08-23 22:45:37 +00:00
Chris Lattner
c02f3d866f
improve win32 path support, patch by Baptiste Lepilleur!
...
llvm-svn: 78823
2009-08-12 17:47:06 +00:00
Daniel Dunbar
1a6a39eb46
Fix a race condition in getting the process exit code on Win32.
...
llvm-svn: 77953
2009-08-03 05:02:46 +00:00
Daniel Dunbar
381b89d3f1
Empty arguments need to be quoted on Win32.
...
llvm-svn: 77913
2009-08-02 20:41:09 +00:00
Daniel Dunbar
bcd92f1bc4
Don't use llvm_report_error in libSystem, this is a layering violation.
...
llvm-svn: 77169
2009-07-26 21:16:42 +00:00
Reid Kleckner
4b3a356493
Re-committing r76828 with the JIT memory manager changes now that the build
...
bots like the BumpPtrAllocator changes.
llvm-svn: 76902
2009-07-23 21:46:56 +00:00
Reid Kleckner
921673225c
Reverting r76825 and r76828, since they caused clang runtime errors and some build failure involving memset.
...
llvm-svn: 76838
2009-07-23 01:40:54 +00:00
Reid Kleckner
1a722d9b73
Make the JIT code emitter properly retry and ask for more memory when it runs
...
out of memory, and also make the default memory manager allocate more memory
when it runs out.
Also, switch function stubs and global data over to using the BumpPtrAllocator.
This makes it so the JIT no longer mmaps (or the equivalent on Windows) 16 MB
of memory, and instead allocates in 512K slabs. I suspect this size could go
lower, especially on embedded platforms, now that more slabs can be allocated.
llvm-svn: 76828
2009-07-23 00:49:59 +00:00
Mikhail Glushenkov
36cb83202d
Remove duplication in Program::Execute{And,No}Wait.
...
Implemented by moving the code out of static functions into methods of Program
class.
llvm-svn: 76340
2009-07-18 21:43:12 +00:00
Daniel Dunbar
5e2ebcba40
Use llvm_report_error, not llvm_unreachable.
...
llvm-svn: 75429
2009-07-12 21:01:49 +00:00
Daniel Dunbar
df555fd6f8
Improve sys::Path::makeAbsolute on Win32.
...
- Patch by Viktor Kutuzov!
- Minor tweak by me to add llvm_unreachable calls on FIXMEd error paths.
llvm-svn: 75424
2009-07-12 20:23:56 +00:00
Chris Lattner
433cf71144
eraseFromDisk no longer throws.
...
llvm-svn: 75139
2009-07-09 16:17:28 +00:00
David Greene
cdde1bb0a6
Add an ExecuteNoWait interface to support asynchronous process spawning.
...
llvm-svn: 75055
2009-07-08 21:46:40 +00:00
Chris Lattner
d41531a2c0
remove two methods that no longer exist.
...
llvm-svn: 74982
2009-07-08 01:07:39 +00:00
Chris Lattner
e4807c5767
more getting windows to build.
...
llvm-svn: 74981
2009-07-08 00:52:12 +00:00
Chris Lattner
e3241b5719
hopefully fix the build on windows.
...
llvm-svn: 74977
2009-07-08 00:29:32 +00:00
Oscar Fuentes
136f9a6512
Fixed assert that checks return value of TlsSetValue.
...
See http://msdn.microsoft.com/en-us/library/ms686818(VS.85).aspx
Patch by Olaf Krzikalla!
llvm-svn: 74526
2009-06-30 14:12:28 +00:00
Owen Anderson
276fc52b72
Fix error in the Win32 implementation pointed out by Howard Su.
...
llvm-svn: 74248
2009-06-26 00:51:20 +00:00
Owen Anderson
eba6e65291
Add support for const thread locals.
...
llvm-svn: 74226
2009-06-25 23:31:18 +00:00
Owen Anderson
f17f6f06fa
Add a class for supporting platform independent thread-local storage.
...
Windows people, please double-check/patch this.
llvm-svn: 74209
2009-06-25 21:58:01 +00:00
Owen Anderson
021c3b0756
Guard dynamic library loading.
...
I did my best at implementing this for Win32, but I don't have a way to test it.
Can someone with access to a Win32 machine test/fix this?
llvm-svn: 74188
2009-06-25 18:12:44 +00:00
Owen Anderson
1498a7a510
Give RWMutex the SmartRWMutex treatment too.
...
llvm-svn: 73710
2009-06-18 18:26:15 +00:00
Owen Anderson
68f6598c69
Insert a SmartMutex templated class into the class hierarchy, which takes a template parameter specifying whether this mutex
...
should become a no-op when not running in multithreaded mode. Make sys::Mutex a typedef of SmartMutex<false>, to preserve source compatibility.
llvm-svn: 73709
2009-06-18 17:53:17 +00:00
Owen Anderson
74af4ee79d
Improve the Win32 reader-writer lock implementation by making it just a normal
...
lock. This is obviously bad, but at least it's threadsafe! If you know how
to improve this in a pre-Vista friendly well, patches welcome!
Patch by Max Burke.
llvm-svn: 73607
2009-06-17 09:10:42 +00:00
Owen Anderson
79b76b5bea
Accidentally broke this file.
...
llvm-svn: 73552
2009-06-16 20:57:51 +00:00
Owen Anderson
896cee711f
Remove the Win32 implementation, since it doesn't compile pre-Vista.
...
llvm-svn: 73550
2009-06-16 20:49:20 +00:00
Owen Anderson
324f94c317
Add a portable wrapper for reader-writer locks.
...
llvm-svn: 73545
2009-06-16 20:19:28 +00:00