Commit Graph

720 Commits

Author SHA1 Message Date
Dan Gohman 5bc07d2bce Check if ErrMsg is null. This fixes the "not" command.
llvm-svn: 117666
2010-10-29 17:20:42 +00:00
Dan Gohman fc81579b5e Make Program::Wait differentiate execution failure due to the file
being not found from the file being not executable. 

llvm-svn: 117664
2010-10-29 16:54:25 +00:00
Dan Gohman cae3c53b31 Make Program::Wait provide an error message string for errors
executing the child process and abnormal child process termination.

llvm-svn: 117661
2010-10-29 16:39:01 +00:00
Dan Gohman 47215f4e04 Revert r117582, which reverted r77396. Searching PATH for a string
which contains slashes is inconsistent with the meaning of PATH on
Unix-type platforms, and pretty surprising.

If the user has given a specific path to execute and we can't
execute it, we should fail and say why.  (Apparently the new
posix_spawn code doesn't always say why, but that's a separate
issue.)

llvm-svn: 117596
2010-10-28 20:34:33 +00:00
Mikhail Glushenkov d7faab5c95 Revert r77396.
Original commit message:

    On "Unix", if Program::FindProgramByName is given a name containing
    slashes, just go with it, regardless of whether it looks like it will
    be executable. This follows the behavior of sh(1) more closely.

It's better when behaviour is consistent between platforms. This change also
makes FindExecutable() behave as expected on unix-likes (before this commit, it
used to always succeed).

llvm-svn: 117582
2010-10-28 19:32:58 +00:00
Mikhail Glushenkov 0e9d9b51eb Trailing whitespace.
llvm-svn: 117581
2010-10-28 19:32:53 +00:00
Mikhail Glushenkov 080d86fecc Reindent.
llvm-svn: 117538
2010-10-28 08:25:44 +00:00
Mikhail Glushenkov 258b8e1dc8 80-col violation.
llvm-svn: 117443
2010-10-27 09:09:10 +00:00
Mikhail Glushenkov 32acd741d2 Remove try/catch(...) from Win32/Signals.inc.
catch(...) is used in Win32/Signals.inc for catching Win32 structured
exceptions, but according to [1], this is wrong.

We can't simply change try/catch to __try/__finally, since this syntax is not
supported by MinGW. We can use __try/__finally on MSVC and __try1/__except1
macros on MinGW [2], but I think that that solution obfuscates the code too
much.

The use of try/catch(...) in Signals.inc makes it impossible to link
MinGW-compiled libSystem with llvm-gcc compiled executables. I propose that we
just remove try/catch(...) from Signals.inc, since the meaning of the code won't
change.

[1] http://members.cox.net/doug_web/eh.htm
[2] http://article.gmane.org/gmane.comp.compilers.llvm.cvs/81315

llvm-svn: 117442
2010-10-27 09:09:04 +00:00
Duncan Sands 08745f5483 ATTRIBUTE_UNUSED has been renamed to LLVM_ATTRIBUTE_UNUSED.
Rather than rename this instance, use the cast-to-void idiom
instead.  This will hopefully fix the windows buildbots.

llvm-svn: 117262
2010-10-25 13:10:03 +00:00
NAKAMURA Takumi 3f688b92a9 Win32/Signals.inc: DontRemoveFileOnSignal(): Please acquire the CriticalSection.
It choked BugPoint on Mingw.

llvm-svn: 117083
2010-10-22 01:23:50 +00:00
Mikhail Glushenkov f64d93df79 Trailing whitespace.
llvm-svn: 117058
2010-10-21 20:40:39 +00:00
Michael J. Spencer dc47d592e7 Use C++03...
llvm-svn: 116927
2010-10-20 16:00:45 +00:00
Michael J. Spencer 9748310eab System-Win32/Path: Fix incorrect assumption in isValid.
A recent commit to clang exposed a bug in the Win32 Path code. This is a
minimal fix for it.

llvm-svn: 116925
2010-10-20 15:23:58 +00:00
Chandler Carruth 1898262a33 Remove remaining uses of ATTRIBUTE_UNUSED on variables, and delete three
#includes in the process.

llvm-svn: 116919
2010-10-20 08:27:02 +00:00
NAKAMURA Takumi ffea0abe81 Add ATTRIBUTE_UNUSED for -Asserts.
llvm-svn: 116909
2010-10-20 04:05:29 +00:00
NAKAMURA Takumi 898fbd82a5 lib/System/Win32/ThreadLocal.inc: Suppress "unused" warning on -Asserts.
llvm-svn: 116785
2010-10-19 01:22:01 +00:00
Oscar Fuentes 889c1e7d80 Build with RTTI and exceptions disabled. Only in GCC for now.
llvm-svn: 116682
2010-10-17 02:26:16 +00:00
Oscar Fuentes ffe32e1137 When building shared libraries, link to required system libraries.
PR 8375

llvm-svn: 116479
2010-10-14 15:54:41 +00:00
Daniel Dunbar fe2a89683a Change explicit search Apple specific code to only reference __eprintf on x86.
llvm-svn: 116239
2010-10-11 21:34:24 +00:00
Daniel Dunbar cc0e18dd4a CrashRecovery: Fix raise() override to actually send the right signal, *cough*.
llvm-svn: 116072
2010-10-08 18:31:34 +00:00
Evan Cheng 139edad73a Correctly check if a path is a directory. Fix by Brian Korver.
llvm-svn: 115991
2010-10-07 22:05:57 +00:00
NAKAMURA Takumi ad205575fc lib/System/Win32/Signals.inc: Enable LLVM_DISABLE_CRT_DEBUG also on mingw.
llvm-svn: 115731
2010-10-06 02:15:22 +00:00
Daniel Dunbar 31158b583a Add an explicit initialization to work around what appears to be a valgrind
false positive, at least on Darwin. I haven't filed this, but you can feel free.

llvm-svn: 115242
2010-09-30 23:56:49 +00:00
Francois Pichet 083f368be1 Revert r114320(move file = copy + delete on Win32). r115040 is a better solution for the Win32 ACCESS_DENIED lit error.
llvm-svn: 115114
2010-09-30 00:44:58 +00:00
Daniel Dunbar 18456f3d73 CrashRecovery/Darwin: Override raise() as well so that crash recovery doesn't
end up altering the thread on which crashes are done because of its use of
Darwin's broken raise() implementation.

llvm-svn: 114558
2010-09-22 17:46:10 +00:00
Francois Pichet fd02aa84dc Fix the "unable to rename temporary" lit test failing on Windows. rename is now copy + delete on Windows. Problem to be revisited for a permanent and clean solution.
llvm-svn: 114320
2010-09-20 04:03:07 +00:00
Jakob Stoklund Olesen 49e58a923b Add one more Core i7 model number.
llvm-svn: 114310
2010-09-19 17:54:28 +00:00
Chris Lattner b737bac6ed add corei7, the laptop version.
llvm-svn: 114302
2010-09-19 00:31:58 +00:00
NAKAMURA Takumi ab5077ab71 Move the declaration SetInformationJobObject() outside of namespace.
It is also workaround for PR7927.

llvm-svn: 114175
2010-09-17 11:14:18 +00:00
Daniel Dunbar a69a595c2b System: Don't reexport ___eprintf when building with Clang; this symbol isn't
used on Darwin anymore, and Clang might not always link with the library it is
currently found in.

llvm-svn: 114165
2010-09-17 04:25:24 +00:00
Michael J. Spencer d3ac0c1e9c System/Path: Add x86-64 COFF to IdentifyFileType.
llvm-svn: 114037
2010-09-15 23:04:14 +00:00
Michael J. Spencer 33e7e5d89b System/Path: Add isObjectFile().
llvm-svn: 114032
2010-09-15 22:45:45 +00:00
NAKAMURA Takumi 19e11f1db7 lib/System/Host.cpp: 7bit-ize. Eliminate "TM" and "(R)" in comments.
llvm-svn: 113486
2010-09-09 13:30:48 +00:00
Dan Gohman d51b43181e Issue a #error if the host doesn't have an implementation for
GetMainExecutable yet.

llvm-svn: 113240
2010-09-07 18:26:49 +00:00
Chris Lattner 963debc109 compute the HasSSE3 bit correctly, patch by Nikolai Saoukh.
llvm-svn: 113147
2010-09-06 05:19:44 +00:00
Dan Gohman 9e857449de Apply a patch from Kees van Reeuwijk to add support for Minix.
Minix apparently doesn't like double-slash separators, and there's
no apparent need for them here.

llvm-svn: 112844
2010-09-02 18:24:46 +00:00
Dan Gohman e201c07d23 Add an interface for unregistering a file from the FilesToRemove list.
llvm-svn: 112705
2010-09-01 14:17:34 +00:00
Anton Korobeynikov 4e7351d2ba Some fixes for NetBSD
llvm-svn: 112662
2010-08-31 22:38:00 +00:00
Michael J. Spencer 618d21978d Cleanup Whitespace.
llvm-svn: 112587
2010-08-31 06:36:46 +00:00
Michael J. Spencer 18f5005eb0 System: Fix getMagicNumber on windows.
getMagicNumber was treating the _binary_ data it read in as a
null terminated string. This resulted in the std::string
calculating the length, and causing an assert in other code that
assumed that the length it passed was the same as the length of
the string it would get back.

llvm-svn: 112586
2010-08-31 06:36:33 +00:00
Michael J. Spencer d75cf22f72 Don't cast Win32 FILETIME structs to int64. Patch by Dimitry Andric!
According to the Microsoft documentation here:
http://msdn.microsoft.com/en-us/library/ms724284%28VS.85%29.aspx

this cast used in lib/System/Win32/Path.inc:

__int64 ft = *reinterpret_cast<__int64*>(&fi.ftLastWriteTime);

should not be done.  The documentation says: "Do not cast a pointer to a
FILETIME structure to either a ULARGE_INTEGER* or __int64* value because
it can cause alignment faults on 64-bit Windows."

llvm-svn: 112376
2010-08-28 16:39:32 +00:00
Daniel Dunbar 2b2b79edde Fix --disable-threads build, PR7949.
llvm-svn: 111676
2010-08-20 20:54:37 +00:00
Daniel Dunbar f14d946379 CrashRecovery/Darwin: On Darwin, raise sends a signal to the main thread instead
of the current thread. This has the unfortunate effect that assert() and abort()
will end up bypassing our crash recovery attempts. We work around this for
anything in the same linkage unit by just defining our own versions of the
assert handler and abort.

llvm-svn: 111583
2010-08-19 23:45:39 +00:00
Chris Lattner 2c76ae54e5 Fix failure of unittests/ExecutionEngine/JIT/MultiJITTest.cpp on
cygwin when built with ENABLE_SHARED=1.  Patch by NAKAMURA Takumi!

llvm-svn: 111231
2010-08-17 15:42:43 +00:00
Chandler Carruth ce200fd4c6 Mark this variable as used.
llvm-svn: 110667
2010-08-10 10:39:25 +00:00
Chris Lattner 1ac0e2a027 remove code setting rw locks to PTHREAD_PROCESS_PRIVATE, which
is the default.  Patch by NAKAMURA Takumi!

llvm-svn: 110636
2010-08-10 00:34:06 +00:00
Dan Gohman 5cae103392 Eliminate unnecessary empty string literals.
llvm-svn: 110183
2010-08-04 01:39:08 +00:00
Owen Anderson cfc2a57fcd Add an erase() method to llvm::ThreadLocal.
llvm-svn: 109686
2010-07-28 22:49:43 +00:00
Duncan Sands 7a68cd094b Rather than using an ifdef on the target to zero out fields,
just use memset to zero the entire struct.

llvm-svn: 108330
2010-07-14 14:32:33 +00:00