4e06def851 
								
							 
						 
						
							
							
								
								Add a new watchdog timer interface. The interface does not permit handling timeouts, so  
							
							... 
							
							
							
							it's only really useful if you're going to crash anyways. Use it in the pretty stack trace
printer to kill the compiler if we hang while printing the stack trace.
llvm-svn: 177962 
							
						 
						
							2013-03-26 01:27:52 +00:00  
				
					
						
							
							
								 
						
							
								d932d41190 
								
							 
						 
						
							
							
								
								[Support][Path][Windows] Fix dangling else. Don't call CloseHandle when CloseFD is false.  
							
							... 
							
							
							
							llvm-svn: 177175 
							
						 
						
							2013-03-15 19:25:47 +00:00  
				
					
						
							
							
								 
						
							
								42ad29fa05 
								
							 
						 
						
							
							
								
								[Support] Fix lifetime of file descriptors when using MemoryBuffer.  
							
							... 
							
							
							
							Clients of MemoryBuffer::getOpenFile expect it not to take ownership of the file
descriptor passed in. So don't.
llvm-svn: 176995 
							
						 
						
							2013-03-14 00:20:10 +00:00  
				
					
						
							
							
								 
						
							
								20a11b2534 
								
							 
						 
						
							
							
								
								[Support][Path] Don't inf loop if creating the parent directory fails.  
							
							... 
							
							
							
							Patch by Paul Robinson.
llvm-svn: 176908 
							
						 
						
							2013-03-12 22:32:39 +00:00  
				
					
						
							
							
								 
						
							
								83c74e9fad 
								
							 
						 
						
							
							
								
								Add static cast to unsigned char whenever a character classification function is called with a signed char argument, in order to avoid assertions in Windows Debug configuration.  
							
							... 
							
							
							
							llvm-svn: 175006 
							
						 
						
							2013-02-12 21:21:59 +00:00  
				
					
						
							
							
								 
						
							
								eb9ae76864 
								
							 
						 
						
							
							
								
								Move the internal PrintStackTrace function that is used for llvm::sys::PrintStackTraceOnErrorSignal(),  
							
							... 
							
							
							
							into a new function llvm::sys::PrintStackTrace, so that it's available to clients for logging purposes.
llvm-svn: 171989 
							
						 
						
							2013-01-09 19:42:40 +00:00  
				
					
						
							
							
								 
						
							
								b79a7aa541 
								
							 
						 
						
							
							
								
								Fix an obvious typo spotted by Reid Kleckner, and breaking windows builds.  
							
							... 
							
							
							
							llvm-svn: 171559 
							
						 
						
							2013-01-04 23:46:04 +00:00  
				
					
						
							
							
								 
						
							
								ef7f968e09 
								
							 
						 
						
							
							
								
								Add time getters to the process interface for requesting the elapsed  
							
							... 
							
							
							
							wall time, user time, and system time since a process started.
For walltime, we currently use TimeValue's interface and a global
initializer to compute a close approximation of total process runtime.
For user time, this adds support for an somewhat more precise timing
mechanism -- clock_gettime with the CLOCK_PROCESS_CPUTIME_ID clock
selected.
For system time, we have to do a full getrusage call to extract the
system time from the OS. This is expensive but unavoidable.
In passing, clean up the implementation of the old APIs and fix some
latent bugs in the Windows code. This might have manifested on Windows
ARM systems or other systems with strange 64-bit integer behavior.
The old API for this both user time and system time simultaneously from
a single getrusage call. While this results in fewer system calls, it
also results in a lower precision user time and if only user time is
desired, it introduces a higher overhead. It may be worthwhile to switch
some of the pass timers to not track system time and directly track user
and wall time. The old API also tracked walltime in a confusing way --
it just set it to the current walltime rather than providing any measure
of wall time since the process started the way buth user and system time
are tracked. The new API is more consistent here.
The plan is to eventually implement these methods for a *child* process
by using the wait3(2) system call to populate an rusage struct
representing the whole subprocess execution. That way, after waiting on
a child process its stats will become accurate and cheap to query.
llvm-svn: 171551 
							
						 
						
							2013-01-04 23:19:55 +00:00  
				
					
						
							
							
								 
						
							
								76fbeef95a 
								
							 
						 
						
							
							
								
								Remove an unused method on Program.  
							
							... 
							
							
							
							I'm simplifying this interface as much as I can before merging it with
the new process interface.
llvm-svn: 171334 
							
						 
						
							2012-12-31 23:44:47 +00:00  
				
					
						
							
							
								 
						
							
								db8842f9f3 
								
							 
						 
						
							
							
								
								Remove an unused method on the Program class.  
							
							... 
							
							
							
							llvm-svn: 171332 
							
						 
						
							2012-12-31 23:38:28 +00:00  
				
					
						
							
							
								 
						
							
								15dcad9e36 
								
							 
						 
						
							
							
								
								Flesh out a page size accessor in the new API.  
							
							... 
							
							
							
							Implement the old API in terms of the new one. This simplifies the
implementation on Windows which can now re-use the self_process's once
initialization.
llvm-svn: 171330 
							
						 
						
							2012-12-31 23:23:35 +00:00  
				
					
						
							
							
								 
						
							
								b12634bf80 
								
							 
						 
						
							
							
								
								Remove an unused function in the old Process interface.  
							
							... 
							
							
							
							llvm-svn: 171327 
							
						 
						
							2012-12-31 22:17:59 +00:00  
				
					
						
							
							
								 
						
							
								5473dfb099 
								
							 
						 
						
							
							
								
								Switch this code to a more idiomatic double using namespace directive.  
							
							... 
							
							
							
							Fix a truly odd namespace qualifier that was flat out wrong in the
process. The fully qualified namespace would have been
llvm::sys::TimeValue, llvm::TimeValue makes no sense.
llvm-svn: 171292 
							
						 
						
							2012-12-31 11:45:20 +00:00  
				
					
						
							
							
								 
						
							
								97683aa2fa 
								
							 
						 
						
							
							
								
								Begin sketching out the process interface.  
							
							... 
							
							
							
							The coding style used here is not LLVM's style because this is modeled
after a Boost interface and thus done in the style of a candidate C++
standard library interface. I'll probably end up proposing it as
a standard C++ library if it proves to be reasonably portable and
useful.
This is just the most basic parts of the interface -- getting the
process ID out of it. However, it helps sketch out some of the boiler
plate such as the base class, derived class, shared code, and static
factory function. It also introduces a unittest so that I can
incrementally ensure this stuff works.
However, I've not even compiled this code for Windows yet. I'll try to
fix any Windows fallout from the bots, and if I can't fix it I'll revert
and get someone on Windows to help out. There isn't a lot more that is
mandatory, so soon I'll switch to just stubbing out the Windows side and
get Michael Spencer to help with implementation as he can test it
directly.
llvm-svn: 171289 
							
						 
						
							2012-12-31 11:17:50 +00:00  
				
					
						
							
							
								 
						
							
								dd7ca93abc 
								
							 
						 
						
							
							
								
								Add a comment about the requirement that the Windows.h header be last.  
							
							... 
							
							
							
							This comment has the dual effect of blocking reorderings with the
sort_include script.
llvm-svn: 169221 
							
						 
						
							2012-12-04 07:04:57 +00:00  
				
					
						
							
							
								 
						
							
								20abb2027f 
								
							 
						 
						
							
							
								
								[Support][FileSystem] Fix open mode in resize_file on Windows.  
							
							... 
							
							
							
							llvm-svn: 169166 
							
						 
						
							2012-12-03 22:09:31 +00:00  
				
					
						
							
							
								 
						
							
								1ad8dff4bf 
								
							 
						 
						
							
							
								
								Revert the header sort on this file.  
							
							... 
							
							
							
							"Windows.h" includes <Windows.h> which defines a bunch of stuff it shouldn't
(even with all the restriction macros). We have no control over this file, so
make it's scope as small as possible.
llvm-svn: 169165 
							
						 
						
							2012-12-03 22:07:00 +00:00  
				
					
						
							
							
								 
						
							
								ed0881b2a6 
								
							 
						 
						
							
							
								
								Use the new script to sort the includes of every file under lib.  
							
							... 
							
							
							
							Sooooo many of these had incorrect or strange main module includes.
I have manually inspected all of these, and fixed the main module
include to be the nearest plausible thing I could find. If you own or
care about any of these source files, I encourage you to take some time
and check that these edits were sensible. I can't have broken anything
(I strictly added headers, and reordered them, never removed), but they
may not be the headers you'd really like to identify as containing the
API being implemented.
Many forward declarations and missing includes were added to a header
files to allow them to parse cleanly when included first. The main
module rule does in fact have its merits. =]
llvm-svn: 169131 
							
						 
						
							2012-12-03 16:50:05 +00:00  
				
					
						
							
							
								 
						
							
								f12e3a67db 
								
							 
						 
						
							
							
								
								Switch LLVM_USE_RVALUE_REFERENCES to LLVM_HAS_RVALUE_REFERENCES.  
							
							... 
							
							
							
							Rationale:
1) This was the name in the comment block. ;]
2) It matches Clang's __has_feature naming convention.
3) It matches other compiler-feature-test conventions.
Sorry for the noise. =]
I've also switch the comment block to use a \brief tag and not duplicate
the name.
llvm-svn: 168996 
							
						 
						
							2012-11-30 11:45:22 +00:00  
				
					
						
							
							
								 
						
							
								eada11bb13 
								
							 
						 
						
							
							
								
								Fix a -Wparentheses warning in the mingw build  
							
							... 
							
							
							
							llvm-svn: 164587 
							
						 
						
							2012-09-25 05:24:16 +00:00  
				
					
						
							
							
								 
						
							
								1f66100755 
								
							 
						 
						
							
							
								
								This patch adds memory support functions which will later be used to implement section-specific protection handling in MCJIT.  
							
							... 
							
							
							
							llvm-svn: 164249 
							
						 
						
							2012-09-19 20:46:12 +00:00  
				
					
						
							
							
								 
						
							
								1d2d12deb1 
								
							 
						 
						
							
							
								
								Properly test the LLVM_USE_RVALUE_REFERENCES macro.  
							
							... 
							
							
							
							llvm-svn: 161978 
							
						 
						
							2012-08-15 19:16:27 +00:00  
				
					
						
							
							
								 
						
							
								ef2284fbad 
								
							 
						 
						
							
							
								
								[PathV2] Add mapped_file_region. Implementation for Windows and POSIX.  
							
							... 
							
							
							
							llvm-svn: 161976 
							
						 
						
							2012-08-15 19:05:47 +00:00  
				
					
						
							
							
								 
						
							
								dfaa0f3a81 
								
							 
						 
						
							
							
								
								Try to unbreak the windows build.  
							
							... 
							
							
							
							llvm-svn: 160567 
							
						 
						
							2012-07-20 19:49:33 +00:00  
				
					
						
							
							
								 
						
							
								712de82154 
								
							 
						 
						
							
							
								
								Process: Add sys::Process::FileDescriptorHasColors().  
							
							... 
							
							
							
							llvm-svn: 160557 
							
						 
						
							2012-07-20 18:29:38 +00:00  
				
					
						
							
							
								 
						
							
								2b07965042 
								
							 
						 
						
							
							
								
								Remove tabs.  
							
							... 
							
							
							
							llvm-svn: 160476 
							
						 
						
							2012-07-19 00:06:06 +00:00  
				
					
						
							
							
								 
						
							
								5dc987a3d1 
								
							 
						 
						
							
							
								
								Unbreak the MSVC build: add return to unimplemented functions.  
							
							... 
							
							
							
							llvm-svn: 158788 
							
						 
						
							2012-06-20 04:08:49 +00:00  
				
					
						
							
							
								 
						
							
								18497e9242 
								
							 
						 
						
							
							
								
								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 
							
						 
						
							2012-06-20 00:28:54 +00:00  
				
					
						
							
							
								 
						
							
								c6dc4d75fd 
								
							 
						 
						
							
							
								
								Satisfy C++ aliasing rules, per suggestion by Chandler.  
							
							... 
							
							
							
							llvm-svn: 158346 
							
						 
						
							2012-06-12 01:06:16 +00:00  
				
					
						
							
							
								 
						
							
								8d19c86c9a 
								
							 
						 
						
							
							
								
								For llvm::sys::ThreadLocalImpl instead of malloc'ing the platform-specific  
							
							... 
							
							
							
							thread local data, embed them in the class using a uint64_t and make sure
we get compiler errors if there's a platform where this is not big enough.
This makes ThreadLocal more safe for using it in conjunction with CrashRecoveryContext.
Related to crash in rdar://11434201.
llvm-svn: 158342 
							
						 
						
							2012-06-12 00:21:31 +00:00  
				
					
						
							
							
								 
						
							
								36a978cca2 
								
							 
						 
						
							
							
								
								Disabling a spurious deprecation warning about using PathV1 from within the PathV1 implementation file.  
							
							... 
							
							
							
							llvm-svn: 158274 
							
						 
						
							2012-06-09 13:59:29 +00:00  
				
					
						
							
							
								 
						
							
								503bbff367 
								
							 
						 
						
							
							
								
								Fixing a typo in the comments.  
							
							... 
							
							
							
							llvm-svn: 158273 
							
						 
						
							2012-06-09 13:46:36 +00:00  
				
					
						
							
							
								 
						
							
								b030e8a5c8 
								
							 
						 
						
							
							
								
								Path::GetTemporaryDirectory(): Add an assertion if TempDirectory is alive, to check when someone would remove the tempdir.  
							
							... 
							
							
							
							llvm-svn: 157529 
							
						 
						
							2012-05-27 13:02:04 +00:00  
				
					
						
							
							
								 
						
							
								b6148ed72c 
								
							 
						 
						
							
							
								
								Allow unique_file to take a mode for file permissions, but default  
							
							... 
							
							
							
							to user only read/write.
Part of rdar://11325849
llvm-svn: 156591 
							
						 
						
							2012-05-11 00:07:44 +00:00  
				
					
						
							
							
								 
						
							
								3b7f995b75 
								
							 
						 
						
							
							
								
								Windows/PathV2.inc: Retry rename() for (maximum) 2 seconds.  
							
							... 
							
							
							
							Files might be opend by system scanners (eg. file indexer, virus scanner, &c).
llvm-svn: 156380 
							
						 
						
							2012-05-08 14:31:46 +00:00  
				
					
						
							
							
								 
						
							
								13d16f3bf3 
								
							 
						 
						
							
							
								
								Reapply 'Add reverseColor to raw_ostream'.  
							
							... 
							
							
							
							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 
							
						 
						
							2012-04-16 08:56:50 +00:00  
				
					
						
							
							
								 
						
							
								64104f16d4 
								
							 
						 
						
							
							
								
								Revert r154800 which breaks windows builders.  
							
							... 
							
							
							
							llvm-svn: 154802 
							
						 
						
							2012-04-16 07:59:39 +00:00  
				
					
						
							
							
								 
						
							
								d17db2e0ee 
								
							 
						 
						
							
							
								
								Add reverseColor to raw_ostream.  
							
							... 
							
							
							
							To be used in printing unprintable source in clang diagnostics.
Patch by Seth Cantrell!
llvm-svn: 154800 
							
						 
						
							2012-04-16 07:07:38 +00:00  
				
					
						
							
							
								 
						
							
								18544b9614 
								
							 
						 
						
							
							
								
								Change default error_code ctor to a 'named ctor' so it's more self-documenting.  
							
							... 
							
							
							
							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 
							
						 
						
							2012-02-09 19:24:12 +00:00  
				
					
						
							
							
								 
						
							
								da22f30e72 
								
							 
						 
						
							
							
								
								Remove SetWorkingDirectory from the Process interface. Nothing in LLVM  
							
							... 
							
							
							
							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 
							
						 
						
							2012-01-15 08:41:35 +00:00  
				
					
						
							
							
								 
						
							
								cd8fe08e4d 
								
							 
						 
						
							
							
								
								Disable the crash reporter when running lit tests.  
							
							... 
							
							
							
							llvm-svn: 147965 
							
						 
						
							2012-01-11 20:53:25 +00:00  
				
					
						
							
							
								 
						
							
								99ab273a77 
								
							 
						 
						
							
							
								
								revert r147542 after comments from Joerg Sonnenberger  
							
							... 
							
							
							
							llvm-svn: 147608 
							
						 
						
							2012-01-05 18:28:46 +00:00  
				
					
						
							
							
								 
						
							
								0f357d6c22 
								
							 
						 
						
							
							
								
								use getHostTriple instead of getDefaultTargetTriple in getClosestTargetForJIT  
							
							... 
							
							
							
							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 
							
						 
						
							2012-01-04 19:47:22 +00:00  
				
					
						
							
							
								 
						
							
								a2755f8efa 
								
							 
						 
						
							
							
								
								Support/Program: Make Change<stream>ToBinary return error_code.  
							
							... 
							
							
							
							llvm-svn: 146522 
							
						 
						
							2011-12-13 23:16:49 +00:00  
				
					
						
							
							
								 
						
							
								531042840d 
								
							 
						 
						
							
							
								
								Revert r146363 to allow buildbots to make forward progress.  
							
							... 
							
							
							
							Original commit message:
Support/FileSystem: Implement canonicalize.
llvm-svn: 146378 
							
						 
						
							2011-12-12 17:58:31 +00:00  
				
					
						
							
							
								 
						
							
								203d7807a8 
								
							 
						 
						
							
							
								
								Support/FileSystem: Implement bool equivalent(file_status A, file_status B);  
							
							... 
							
							
							
							llvm-svn: 146364 
							
						 
						
							2011-12-12 06:04:28 +00:00  
				
					
						
							
							
								 
						
							
								32ef4d2e1b 
								
							 
						 
						
							
							
								
								Support/FileSystem: Implement canonicalize.  
							
							... 
							
							
							
							llvm-svn: 146363 
							
						 
						
							2011-12-12 06:04:01 +00:00  
				
					
						
							
							
								 
						
							
								513f1b666f 
								
							 
						 
						
							
							
								
								Support/Windows: Cleanup scoped handles.  
							
							... 
							
							
							
							llvm-svn: 146362 
							
						 
						
							2011-12-12 06:03:33 +00:00  
				
					
						
							
							
								 
						
							
								0a7625d661 
								
							 
						 
						
							
							
								
								Support/FileSystem: Implement recursive_directory_iterator and make  
							
							... 
							
							
							
							directory_iterator preserve InputIterator semantics on copy.
llvm-svn: 146200 
							
						 
						
							2011-12-08 22:50:09 +00:00  
				
					
						
							
							
								 
						
							
								64404a3b2c 
								
							 
						 
						
							
							
								
								[Win32] Catch exceptions (eg. segfault) on waiting for invoked clang from the driver.  
							
							... 
							
							
							
							clang/lib/Driver/Driver.cpp: Don't pass through negative exit status, or parent would be confused.
llvm::sys::Program::Wait(): Suppose 0x8000XXXX and 0xC000XXXX as abnormal exit code and pass it as negative value.
Win32 Exception Handler: Exit with ExceptionCode on an unhandle exception.
llvm-svn: 145389 
							
						 
						
							2011-11-29 07:47:04 +00:00  
				
					
						
							
							
								 
						
							
								bf025fdb54 
								
							 
						 
						
							
							
								
								Return only the least significant 8 bits of the exit status from  
							
							... 
							
							
							
							Process::Wait on Windows (mimicing POSIX behaviour).
llvm-svn: 143876 
							
						 
						
							2011-11-06 16:45:46 +00:00  
				
					
						
							
							
								 
						
							
								94441fbad7 
								
							 
						 
						
							
							
								
								rename getHostTriple into getDefaultTargetTriple  
							
							... 
							
							
							
							llvm-svn: 143502 
							
						 
						
							2011-11-01 21:32:20 +00:00  
				
					
						
							
							
								 
						
							
								ec2fb226d8 
								
							 
						 
						
							
							
								
								rename LLVM_HOSTTRIPLE into LLVM_DEFAULT_TARGET_TRIPLE  
							
							... 
							
							
							
							llvm-svn: 143501 
							
						 
						
							2011-11-01 21:31:44 +00:00  
				
					
						
							
							
								 
						
							
								39df70c33a 
								
							 
						 
						
							
							
								
								Remove a couple unused methods.  PR11201.  
							
							... 
							
							
							
							llvm-svn: 143452 
							
						 
						
							2011-11-01 05:11:01 +00:00  
				
					
						
							
							
								 
						
							
								66c9e4ffd5 
								
							 
						 
						
							
							
								
								Windows/Path.inc: [PR8460] Get rid of ScopedNullTerminator. Thanks to Zvi Rackover!  
							
							... 
							
							
							
							llvm-svn: 142785 
							
						 
						
							2011-10-24 03:27:19 +00:00  
				
					
						
							
							
								 
						
							
								b27f11e01d 
								
							 
						 
						
							
							
								
								Fix build on mingw-w64.  
							
							... 
							
							
							
							Patch by Ruben Van Boxem!
llvm-svn: 142646 
							
						 
						
							2011-10-21 09:38:50 +00:00  
				
					
						
							
							
								 
						
							
								ea97a05fc5 
								
							 
						 
						
							
							
								
								Revert r142046, "Fix for llvm::sys::getHostTriple on Windows.  Instead of relying on the triple"  
							
							... 
							
							
							
							It extremely breaks builds when optimization is enabled. Twine should not hold temporary objects.
By the way, I might feel sad if I saw "i786-" "i1586-" or "iF86-".
llvm-svn: 142055 
							
						 
						
							2011-10-15 04:29:36 +00:00  
				
					
						
							
							
								 
						
							
								559b8f2ae9 
								
							 
						 
						
							
							
								
								Fix for llvm::sys::getHostTriple on Windows.  Instead of relying on the triple  
							
							... 
							
							
							
							from config.h, it discovers the triple based on the execution environment.
Patch by Aaron Ballman <aaron@aaronballman.com>
llvm-svn: 142046 
							
						 
						
							2011-10-15 02:10:06 +00:00  
				
					
						
							
							
								 
						
							
								7bc976a8ef 
								
							 
						 
						
							
							
								
								Windows/Memory.inc: Support the ability to allocate memory "near" another block of memory on Win32. It has fixed FIXME.  
							
							... 
							
							
							
							Thanks to Aaron Ballman!
llvm-svn: 142039 
							
						 
						
							2011-10-15 01:58:16 +00:00  
				
					
						
							
							
								 
						
							
								a7a90bfdab 
								
							 
						 
						
							
							
								
								Support/Windows: Add support modifying memory permissions on Windows. Patch by Aaron Ballman!  
							
							... 
							
							
							
							llvm-svn: 141910 
							
						 
						
							2011-10-13 23:16:01 +00:00  
				
					
						
							
							
								 
						
							
								0084615924 
								
							 
						 
						
							
							
								
								Support/Windows: Add efficent RW mutex on Windows. Patch by Aaron Ballman!  
							
							... 
							
							
							
							llvm-svn: 141907 
							
						 
						
							2011-10-13 23:10:56 +00:00  
				
					
						
							
							
								 
						
							
								44a36c872e 
								
							 
						 
						
							
							
								
								Add Windows x64 stack walking support. Patch by Aaron Ballman!  
							
							... 
							
							
							
							llvm-svn: 140906 
							
						 
						
							2011-10-01 00:05:20 +00:00  
				
					
						
							
							
								 
						
							
								9b92e2be30 
								
							 
						 
						
							
							
								
								sys::Process: Add a SetWorkingDirectory method.  
							
							... 
							
							
							
							llvm-svn: 140433 
							
						 
						
							2011-09-23 23:23:36 +00:00  
				
					
						
							
							
								 
						
							
								fd6cb64c48 
								
							 
						 
						
							
							
								
								lib/Support/Windows/Windows.h: Update required IE ver. 0x0600 should be enough for Windows XP.  
							
							... 
							
							
							
							llvm-svn: 138319 
							
						 
						
							2011-08-23 03:49:11 +00:00  
				
					
						
							
							
								 
						
							
								5765f4c24c 
								
							 
						 
						
							
							
								
								Make DynamicLibrary thread-safe w/r/t call to dlerror() after dlopen(). PR10718  
							
							... 
							
							
							
							llvm-svn: 138260 
							
						 
						
							2011-08-22 19:01:52 +00:00  
				
					
						
							
							
								 
						
							
								58994ec9b9 
								
							 
						 
						
							
							
								
								PathV2: Handle more reserved filenames on windows.  
							
							... 
							
							
							
							Patch by Aaron Ballman!
llvm-svn: 138213 
							
						 
						
							2011-08-20 21:36:38 +00:00  
				
					
						
							
							
								 
						
							
								613655f89c 
								
							 
						 
						
							
							
								
								lib/Support/Windows/Windows.h: Require at least Windows XP(5.1) API. We will not support Windows 2000 any more.  
							
							... 
							
							
							
							llvm-svn: 138198 
							
						 
						
							2011-08-20 06:35:31 +00:00  
				
					
						
							
							
								 
						
							
								1a3ca9201a 
								
							 
						 
						
							
							
								
								Unbork Windows build. Thanks, Francois.  
							
							... 
							
							
							
							llvm-svn: 137798 
							
						 
						
							2011-08-17 00:59:50 +00:00  
				
					
						
							
							
								 
						
							
								a19917da7c 
								
							 
						 
						
							
							
								
								Use DynamicLibrary instances as a way to get symbols from a specific library. Preparation for upcoming (preliminary) support for plugins for the static analyzer.  
							
							... 
							
							
							
							llvm-svn: 137791 
							
						 
						
							2011-08-17 00:29:32 +00:00  
				
					
						
							
							
								 
						
							
								348937de07 
								
							 
						 
						
							
							
								
								Add an optional 'bool makeAbsolute' in llvm::sys::fs::unique_file function.  
							
							... 
							
							
							
							If true and 'model' parameter is not an absolute path, a temp directory will be prepended.
Make it true by default to match current behaviour.
llvm-svn: 136310 
							
						 
						
							2011-07-28 00:29:20 +00:00  
				
					
						
							
							
								 
						
							
								ee24d32071 
								
							 
						 
						
							
							
								
								Windows/DynamicLibrary.inc: Fix trivial warnings. Thanks to John Myers!  
							
							... 
							
							
							
							llvm-svn: 134812 
							
						 
						
							2011-07-09 08:41:20 +00:00  
				
					
						
							
							
								 
						
							
								d5d0764b3b 
								
							 
						 
						
							
							
								
								Have Program::Wait return -2 for crashed and timeouts instead of embedding  
							
							... 
							
							
							
							info in the error message. Per Dan's request.
llvm-svn: 131780 
							
						 
						
							2011-05-21 00:56:46 +00:00  
				
					
						
							
							
								 
						
							
								69005e5953 
								
							 
						 
						
							
							
								
								Typo and missing checkin from r131186.  
							
							... 
							
							
							
							llvm-svn: 131187 
							
						 
						
							2011-05-11 16:44:08 +00:00  
				
					
						
							
							
								 
						
							
								4471f82e91 
								
							 
						 
						
							
							
								
								Windows/DynamicLibrary.inc: Clean up ELM_Callback. We may check the decl instead of the versions of individual libraries.  
							
							... 
							
							
							
							autoconf: Add checking ELM_Callback decl for mingw32 and mingw-w64.
cmake/config-ix.cmake: Add checking ELM_Callback decl for win32.
llvm-svn: 130657 
							
						 
						
							2011-05-01 13:29:49 +00:00  
				
					
						
							
							
								 
						
							
								a3d4749e24 
								
							 
						 
						
							
							
								
								Windows/PathV2.inc: [PR8520] Recognize "NUL" as special (character) file.  
							
							... 
							
							
							
							FIXME: It is a temporal hack. We should detect as many "special file name" as possible.
llvm-svn: 127724 
							
						 
						
							2011-03-16 02:53:32 +00:00  
				
					
						
							
							
								 
						
							
								aaa9b4f824 
								
							 
						 
						
							
							
								
								Windows/Path.inc: [PR6270] PathV1::makeUnique(): Give arbitrary initial seed for workaround.  
							
							... 
							
							
							
							FIXME: We should use sys::fs::unique_file() in future.
llvm-svn: 127723 
							
						 
						
							2011-03-16 02:53:24 +00:00  
				
					
						
							
							
								 
						
							
								510b00c67c 
								
							 
						 
						
							
							
								
								Try to fix the windows build.  
							
							... 
							
							
							
							llvm-svn: 127416 
							
						 
						
							2011-03-10 18:30:48 +00:00  
				
					
						
							
							
								 
						
							
								3e76b502a4 
								
							 
						 
						
							
							
								
								Windows/PathV2.inc: Eliminate redundant condition. DWORD is unsigned.  
							
							... 
							
							
							
							llvm-svn: 127140 
							
						 
						
							2011-03-07 00:12:53 +00:00  
				
					
						
							
							
								 
						
							
								aeb4c0d8fb 
								
							 
						 
						
							
							
								
								Windows/Windows.h: Redefine _WIN32_WINNT here. mingw-w64 tends to define it as 0x0502 in its headers.  
							
							... 
							
							
							
							llvm-svn: 125171 
							
						 
						
							2011-02-09 04:18:30 +00:00  
				
					
						
							
							
								 
						
							
								28242e8ff6 
								
							 
						 
						
							
							
								
								Windows/Program.inc: Eliminate the declaration of SetInformationJobObject(). It should be provided with _WIN32_WINNT>=0x0500.  
							
							... 
							
							
							
							llvm-svn: 125170 
							
						 
						
							2011-02-09 04:18:21 +00:00  
				
					
						
							
							
								 
						
							
								684ef5e7bd 
								
							 
						 
						
							
							
								
								Windows/DynamicLibrary.inc: ELM_Callback fix for mingw-w64.  
							
							... 
							
							
							
							llvm-svn: 125169 
							
						 
						
							2011-02-09 04:18:12 +00:00  
				
					
						
							
							
								 
						
							
								03a541f5c4 
								
							 
						 
						
							
							
								
								Windows/DynamicLibrary.inc: Split explicit symbols into explicit_symbols.inc.  
							
							... 
							
							
							
							config.h.* have conditions whether each symbol is defined or not.
Autoconf and CMake may check symbols in libgcc.a for JIT on Mingw.
llvm-svn: 124950 
							
						 
						
							2011-02-05 15:11:53 +00:00  
				
					
						
							
							
								 
						
							
								3e600a29d3 
								
							 
						 
						
							
							
								
								Windows/Program.inc: Quote arguments when dubious characters (used by cmd.exe or MSYS shell) are included to invoke CreateProcess(). Thanks to Danil Malyshev.  
							
							... 
							
							
							
							llvm-svn: 124945 
							
						 
						
							2011-02-05 08:53:12 +00:00  
				
					
						
							
							
								 
						
							
								5a3ff5b5a0 
								
							 
						 
						
							
							
								
								Make Win32's header file name lower for cross build on case-sensitive filesystem.  
							
							... 
							
							
							
							llvm-svn: 124864 
							
						 
						
							2011-02-04 12:53:04 +00:00  
				
					
						
							
							
								 
						
							
								8a07451a6e 
								
							 
						 
						
							
							
								
								Windows/PathV2.inc: For CryptAcquireContext(), CRYPT_VERIFYCONTEXT may be specified for easy use.  
							
							... 
							
							
							
							llvm-svn: 123687 
							
						 
						
							2011-01-17 22:41:34 +00:00  
				
					
						
							
							
								 
						
							
								53f893af54 
								
							 
						 
						
							
							
								
								Windows/PathV2.inc: MoveFileEx() can behave like Posix's mv(1) to specify MOVEFILE_COPY_ALLOWED | MOVEFILE_REPLACE_EXISTING.  
							
							... 
							
							
							
							llvm-svn: 123686 
							
						 
						
							2011-01-17 22:41:25 +00:00  
				
					
						
							
							
								 
						
							
								bb4ea1fef9 
								
							 
						 
						
							
							
								
								lib/Support/Windows/Signals.inc: "Showstopper" dialogs may be suppressed with SetErrorMode() on Windows 7.  
							
							... 
							
							
							
							llvm-svn: 123685 
							
						 
						
							2011-01-17 22:41:15 +00:00  
				
					
						
							
							
								 
						
							
								ee1699c362 
								
							 
						 
						
							
							
								
								Support/PathV2: Implement get_magic.  
							
							... 
							
							
							
							llvm-svn: 123544 
							
						 
						
							2011-01-15 18:52:33 +00:00  
				
					
						
							
							
								 
						
							
								0d771edeee 
								
							 
						 
						
							
							
								
								Support/Path: Deprecate PathV1::isDirectory and replace all uses with PathV2::is_directory.  
							
							... 
							
							
							
							llvm-svn: 123209 
							
						 
						
							2011-01-11 01:21:55 +00:00  
				
					
						
							
							
								 
						
							
								58df2e00b2 
								
							 
						 
						
							
							
								
								Support/Path: Deprecate PathV1::exists and replace all uses with PathV2::fs::exists.  
							
							... 
							
							
							
							llvm-svn: 123151 
							
						 
						
							2011-01-10 02:34:23 +00:00  
				
					
						
							
							
								 
						
							
								98879d7641 
								
							 
						 
						
							
							
								
								Support/Windows/PathV2: Make directory iteration ignore . and ..  
							
							... 
							
							
							
							llvm-svn: 122883 
							
						 
						
							2011-01-05 16:39:30 +00:00  
				
					
						
							
							
								 
						
							
								153749b30b 
								
							 
						 
						
							
							
								
								Support/Windows/PathV2: Fix remove to handle both files and directories.  
							
							... 
							
							
							
							llvm-svn: 122882 
							
						 
						
							2011-01-05 16:39:22 +00:00  
				
					
						
							
							
								 
						
							
								cb520cd8cb 
								
							 
						 
						
							
							
								
								Missed some StringRefRefs.  
							
							... 
							
							
							
							llvm-svn: 122077 
							
						 
						
							2010-12-17 18:59:09 +00:00  
				
					
						
							
							
								 
						
							
								ae7de7e2f9 
								
							 
						 
						
							
							
								
								Support/Windows/PathV2: Fix header comment.  
							
							... 
							
							
							
							llvm-svn: 121383 
							
						 
						
							2010-12-09 17:37:42 +00:00  
				
					
						
							
							
								 
						
							
								751e9aafa9 
								
							 
						 
						
							
							
								
								Support: Move c_str from SmallVector back to SmallString and add a free standing  
							
							... 
							
							
							
							templated c_str in Windows.h to replace it.
llvm-svn: 121381 
							
						 
						
							2010-12-09 17:37:18 +00:00  
				
					
						
							
							
								 
						
							
								8b5defbd5d 
								
							 
						 
						
							
							
								
								Support: Remove Alarm. It is unused (via local grep and google code search).  
							
							... 
							
							
							
							llvm-svn: 121160 
							
						 
						
							2010-12-07 18:41:59 +00:00  
				
					
						
							
							
								 
						
							
								f616b218c8 
								
							 
						 
						
							
							
								
								Support/PathV2: Change most functions in the path namespace to return their work  
							
							... 
							
							
							
							via their return value instead of an out parameter.
llvm-svn: 121149 
							
						 
						
							2010-12-07 17:04:04 +00:00  
				
					
						
							
							
								 
						
							
								1e090f0b8f 
								
							 
						 
						
							
							
								
								Support/PathV2: Remove the error_code return type from all functions in the path  
							
							... 
							
							
							
							namespace. None of them return anything except for success anyway. These will be
converted to returning their result soon.
llvm-svn: 121109 
							
						 
						
							2010-12-07 03:57:37 +00:00  
				
					
						
							
							
								 
						
							
								20daa28344 
								
							 
						 
						
							
							
								
								Support/PathV2: Move current_path from path to fs and fix the Unix implementation.  
							
							... 
							
							
							
							Unix bug spotted by Dan Gohman.
llvm-svn: 121090 
							
						 
						
							2010-12-07 01:22:31 +00:00  
				
					
						
							
							
								 
						
							
								0d025b6b42 
								
							 
						 
						
							
							
								
								Support/Windows: Make MinGW happy.  
							
							... 
							
							
							
							llvm-svn: 120991 
							
						 
						
							2010-12-06 06:02:07 +00:00  
				
					
						
							
							
								 
						
							
								7ecd94cc0b 
								
							 
						 
						
							
							
								
								Support/FileSystem: Add directory_iterator implementation.  
							
							... 
							
							
							
							llvm-svn: 120989 
							
						 
						
							2010-12-06 04:28:42 +00:00  
				
					
						
							
							
								 
						
							
								39c4621f42 
								
							 
						 
						
							
							
								
								Support/Windows: Add ScopedHandle and move some clients over to it.  
							
							... 
							
							
							
							llvm-svn: 120987 
							
						 
						
							2010-12-06 04:28:13 +00:00  
				
					
						
							
							
								 
						
							
								66a1f86f7a 
								
							 
						 
						
							
							
								
								Support/PathV2: Remove redundant calls to make_error_code.  
							
							... 
							
							
							
							llvm-svn: 120913 
							
						 
						
							2010-12-04 18:45:32 +00:00  
				
					
						
							
							
								 
						
							
								db5576a185 
								
							 
						 
						
							
							
								
								Support/FileSystem: Add status implementation.  
							
							... 
							
							
							
							llvm-svn: 120870 
							
						 
						
							2010-12-04 00:32:40 +00:00  
				
					
						
							
							
								 
						
							
								962fbc42b5 
								
							 
						 
						
							
							
								
								Support/Windows/FileSystem: Fix MinGW warnings.  
							
							... 
							
							
							
							llvm-svn: 120868 
							
						 
						
							2010-12-04 00:32:14 +00:00  
				
					
						
							
							
								 
						
							
								818ab4aad4 
								
							 
						 
						
							
							
								
								Support/FileSystem: Add file_size implementation.  
							
							... 
							
							
							
							llvm-svn: 120867 
							
						 
						
							2010-12-04 00:31:48 +00:00  
				
					
						
							
							
								 
						
							
								376d38753d 
								
							 
						 
						
							
							
								
								Support/FileSystem: Add equivalent implementation.  
							
							... 
							
							
							
							llvm-svn: 120827 
							
						 
						
							2010-12-03 18:49:13 +00:00  
				
					
						
							
							
								 
						
							
								ca242f2c36 
								
							 
						 
						
							
							
								
								Support/FileSystem: Fix MinGW build. It doesn't have _chsize_s.  
							
							... 
							
							
							
							llvm-svn: 120826 
							
						 
						
							2010-12-03 18:48:56 +00:00  
				
					
						
							
							
								 
						
							
								521c321d7c 
								
							 
						 
						
							
							
								
								And I really hate line endings.  
							
							... 
							
							
							
							llvm-svn: 120821 
							
						 
						
							2010-12-03 18:04:11 +00:00  
				
					
						
							
							
								 
						
							
								6025247132 
								
							 
						 
						
							
							
								
								Support/Windows/FileSystem: Fix MinGW build.  
							
							... 
							
							
							
							llvm-svn: 120820 
							
						 
						
							2010-12-03 18:03:28 +00:00  
				
					
						
							
							
								 
						
							
								c20a0325f3 
								
							 
						 
						
							
							
								
								Support/FileSystem: Add resize_file implementation.  
							
							... 
							
							
							
							llvm-svn: 120819 
							
						 
						
							2010-12-03 17:54:07 +00:00  
				
					
						
							
							
								 
						
							
								409f556a2f 
								
							 
						 
						
							
							
								
								Support/FileSystem: Add rename implementation.  
							
							... 
							
							
							
							llvm-svn: 120818 
							
						 
						
							2010-12-03 17:53:55 +00:00  
				
					
						
							
							
								 
						
							
								6e74e11c85 
								
							 
						 
						
							
							
								
								Support/FileSystem: Add remove implementation.  
							
							... 
							
							
							
							llvm-svn: 120817 
							
						 
						
							2010-12-03 17:53:43 +00:00  
				
					
						
							
							
								 
						
							
								772caff532 
								
							 
						 
						
							
							
								
								Fix line endings.  
							
							... 
							
							
							
							llvm-svn: 120816 
							
						 
						
							2010-12-03 17:53:23 +00:00  
				
					
						
							
							
								 
						
							
								7ee6d5d6a1 
								
							 
						 
						
							
							
								
								Support/FileSystem: Add create_symlink implementation.  
							
							... 
							
							
							
							llvm-svn: 120800 
							
						 
						
							2010-12-03 07:41:25 +00:00  
				
					
						
							
							
								 
						
							
								e0c4560b50 
								
							 
						 
						
							
							
								
								Support/FileSystem: Add create_hard_link implementation.  
							
							... 
							
							
							
							llvm-svn: 120792 
							
						 
						
							2010-12-03 05:58:41 +00:00  
				
					
						
							
							
								 
						
							
								31e310cda0 
								
							 
						 
						
							
							
								
								Support/FileSystem: Add create_director{y,ies} implementations.  
							
							... 
							
							
							
							llvm-svn: 120790 
							
						 
						
							2010-12-03 05:42:11 +00:00  
				
					
						
							
							
								 
						
							
								a41772aa0f 
								
							 
						 
						
							
							
								
								Support/Windows/FileSystem: Remove unneeded toNullTerminatedStringRef.  
							
							... 
							
							
							
							llvm-svn: 120777 
							
						 
						
							2010-12-03 01:21:38 +00:00  
				
					
						
							
							
								 
						
							
								4571040ea1 
								
							 
						 
						
							
							
								
								Support/FileSystem: Add unique_file and exists implementations.  
							
							... 
							
							
							
							llvm-svn: 120776 
							
						 
						
							2010-12-03 01:21:28 +00:00  
				
					
						
							
							
								 
						
							
								795adf5061 
								
							 
						 
						
							
							
								
								Support/FileSystem: Fix copy_file implementation to use toNullTerminatedStringRef  
							
							... 
							
							
							
							instead of toStringRef. The file system APIs need c strings.
llvm-svn: 120601 
							
						 
						
							2010-12-01 20:37:42 +00:00  
				
					
						
							
							
								 
						
							
								9fc1d9dcc3 
								
							 
						 
						
							
							
								
								Support/FileSystem: Add copy_file implementation. Not tests yet because the  
							
							... 
							
							
							
							file creation APIs aren't implemented.
llvm-svn: 120593 
							
						 
						
							2010-12-01 19:32:01 +00:00  
				
					
						
							
							
								 
						
							
								ebad2f9d36 
								
							 
						 
						
							
							
								
								Support: Add PathV2 implementation.  
							
							... 
							
							
							
							llvm-svn: 120329 
							
						 
						
							2010-11-29 22:28:51 +00:00  
				
					
						
							
							
								 
						
							
								54c9eb6fff 
								
							 
						 
						
							
							
								
								Now to chant the magical incantation that will exorcise the System library  
							
							... 
							
							
							
							from LLVM forever:
grep -lR "llvm/System" * | grep -v .svn | xargs sed -ie 's#llvm/System#llvm/Support#g'
llvm-svn: 120314 
							
						 
						
							2010-11-29 19:44:50 +00:00  
				
					
						
							
							
								 
						
							
								447762da85 
								
							 
						 
						
							
							
								
								Merge System into Support.  
							
							... 
							
							
							
							llvm-svn: 120298 
							
						 
						
							2010-11-29 18:16:10 +00:00