History log of /external/llvm/lib/Support/Windows/Process.inc
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
4c5e43da7792f75567b693105cc53e3f1992ad98 08-Apr-2015 Pirama Arumuga Nainar <pirama@google.com> Update aosp/master llvm for rebase to r233350

Change-Id: I07d935f8793ee8ec6b7da003f6483046594bca49
/external/llvm/lib/Support/Windows/Process.inc
ebe69fe11e48d322045d5949c83283927a0d790b 23-Mar-2015 Stephen Hines <srhines@google.com> Update aosp/master LLVM for rebase to r230699.

Change-Id: I2b5be30509658cb8266be782de0ab24f9099f9b9
/external/llvm/lib/Support/Windows/Process.inc
37ed9c199ca639565f6ce88105f9e39e898d82d0 01-Dec-2014 Stephen Hines <srhines@google.com> Update aosp/master LLVM for rebase to r222494.

Change-Id: Ic787f5e0124df789bd26f3f24680f45e678eef2d
/external/llvm/lib/Support/Windows/Process.inc
c6a4f5e819217e1e12c458aed8e7b122e23a3a58 21-Jul-2014 Stephen Hines <srhines@google.com> Update LLVM for rebase to r212749.

Includes a cherry-pick of:
r212948 - fixes a small issue with atomic calls

Change-Id: Ib97bd980b59f18142a69506400911a6009d9df18
/external/llvm/lib/Support/Windows/Process.inc
dce4a407a24b04eebc6a376f8e62b41aaa7b071f 29-May-2014 Stephen Hines <srhines@google.com> Update LLVM for 3.5 rebase (r209712).

Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
/external/llvm/lib/Support/Windows/Process.inc
36b56886974eae4f9c5ebc96befd3e7bfe5de338 24-Apr-2014 Stephen Hines <srhines@google.com> Update to LLVM 3.5a.

Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/lib/Support/Windows/Process.inc
34e1444ebde9516422f08d8ddb4358b11b7e50c1 07-Oct-2013 David Majnemer <david.majnemer@gmail.com> Windows: Avoiding resizing, use uninitialized data() instead

This is ever-so faster but more importantly matches what we have elsewhere.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192137 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Windows/Process.inc
e11f460ee03dc80c977de97bdaabc6cc5e692fd9 07-Oct-2013 NAKAMURA Takumi <geek4civic@gmail.com> Windows/Process.inc: Fix for +Asserts. &Buf[0] is not guaranteed if size is zero.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192103 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Windows/Process.inc
6a971bb8f59f4e20c953a2cc360cab7bae8642e4 07-Oct-2013 David Majnemer <david.majnemer@gmail.com> Revert "Revert "Windows: Add support for unicode command lines""

This reverts commit r192070 which reverted r192069, I forgot to
regenerate the configure scripts.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192079 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Windows/Process.inc
b262556c45bb7b3add826bc3f050c99db6990c37 06-Oct-2013 David Majnemer <david.majnemer@gmail.com> Revert "Windows: Add support for unicode command lines"

This is causing MinGW bots to fail.
This reverts commit r192069.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192070 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Windows/Process.inc
5a1a1856a4dfa1335d937437fade5c0bbab06560 06-Oct-2013 David Majnemer <david.majnemer@gmail.com> Windows: Add support for unicode command lines

Summary:
The MSVCRT deliberately sends main() code-page specific characters.
This isn't too useful to LLVM as we end up converting the arguments to
UTF-16 and subsequently attempt to use the result as, for example, a
file name. Instead, we need to have the ability to access the Unicode
command line and transform it to UTF-8.

This has the distinct advantage over using the MSVC-specific wmain()
function as our entry point because:
- It doesn't work on cygwin.
- It only work on MinGW with caveats and only then on certain versions.
- We get to keep our entry point as main(). :)

N.B. This patch includes fixes to other parts of lib/Support/Windows
s.t. we would be able to take advantage of getting the Unicode paths.
E.G. clang spawning clang -cc1 would want to give it Unicode arguments.

Reviewers: aaron.ballman, Bigcheese, rnk, ruiu

Reviewed By: rnk

CC: llvm-commits, ygao

Differential Revision: http://llvm-reviews.chandlerc.com/D1834

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192069 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Windows/Process.inc
44a61bde15d456527156ee2080f0964344b939fe 11-Sep-2013 Nico Rieck <nico.rieck@gmail.com> Support ANSI escape code on Windows

In some cases (e.g. when a build system pipes stderr) the Windows console
API cannot be used to color output. For these, provide a way to switch to
ANSI escape codes. This is required for Clang's -fansi-escape-codes option.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190460 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Windows/Process.inc
f42d4247ae1138c6deed50f92dcd1a4f34e07dec 10-Sep-2013 Rui Ueyama <ruiu@google.com> Add getenv() wrapper that works on multibyte environment variable.

On Windows, character encoding of multibyte environment variable varies
depending on settings. The only reliable way to handle it I think is to use
GetEnvironmentVariableW().

GetEnvironmentVariableW() works on wchar_t string, which is on Windows UTF16
string. That's not ideal because we use UTF-8 as the internal encoding in LLVM.
This patch defines a wrapper function which takes and returns UTF-8 string for
GetEnvironmentVariableW().

The wrapper function does not do any conversion and just forwards the argument
to getenv() on Unix.

Differential Revision: http://llvm-reviews.chandlerc.com/D1612

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190423 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Windows/Process.inc
16eedf0ba03a751e98f4b57d528344c5fc83e6da 04-Sep-2013 NAKAMURA Takumi <geek4civic@gmail.com> Support/Process: Add comments about PageSize and AllocationGranularity on Cygwin and Win32.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189940 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Windows/Process.inc
0009850524f72183c49b506f3eb4c3bdc5f3a0d4 16-Aug-2013 Aaron Ballman <aaron@aaronballman.com> Removing unused functionality.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188565 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Windows/Process.inc
2328cf155a191b226aa5766ff6110c482bc08519 16-Aug-2013 Aaron Ballman <aaron@aaronballman.com> Updating function comments; no functional changes intended.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188554 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Windows/Process.inc
0c793018079803628b5aeee6bbc1e6464fbefd65 08-Jun-2013 Aaron Ballman <aaron@aaronballman.com> sys::process::get_id() now returns the process ID instead of a process handle on Windows. Patch thanks to Kim Gräsman!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183621 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Windows/Process.inc
6601485662f92bf5b8726c7de35f8d90b0539a3f 05-Jan-2013 Chandler Carruth <chandlerc@gmail.com> Fix an obvious typo spotted by Reid Kleckner, and breaking windows builds.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171559 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Windows/Process.inc
73c35d86b9d5236be5b3f49bc8df11008b96636e 05-Jan-2013 Chandler Carruth <chandlerc@gmail.com> 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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171551 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Windows/Process.inc
814afe91ccad0e5e1f767303d780fa0318fa5212 01-Jan-2013 Chandler Carruth <chandlerc@gmail.com> 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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171330 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Windows/Process.inc
e0e1985b3b71f21cd1d6c1e4924abf0f5b499a73 31-Dec-2012 Chandler Carruth <chandlerc@gmail.com> Remove an unused function in the old Process interface.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171327 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Windows/Process.inc
9b4aba85a89f9347212e00f80953f2a685ffeb36 31-Dec-2012 Chandler Carruth <chandlerc@gmail.com> 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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171292 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Windows/Process.inc
0184a841d3914bb78c7c6fa87ce9da86a2d5992a 31-Dec-2012 Chandler Carruth <chandlerc@gmail.com> 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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171289 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Windows/Process.inc
d04a8d4b33ff316ca4cf961e06c9e312eff8e64f 03-Dec-2012 Chandler Carruth <chandlerc@gmail.com> 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. =]

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169131 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Windows/Process.inc
bb3c4fab45689162ac319bb2eeeb2bafa035ae31 20-Jul-2012 Benjamin Kramer <benny.kra@googlemail.com> Try to unbreak the windows build.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160567 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Windows/Process.inc
7d83658140cb99871a43a08715a45c84aa66f3cc 20-Jul-2012 Daniel Dunbar <daniel@zuster.org> Process: Add sys::Process::FileDescriptorHasColors().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160557 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Windows/Process.inc
79223c3654451d14918ff1751b70c3eef1e4a874 19-Jul-2012 Bill Wendling <isanbard@gmail.com> Remove tabs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160476 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Windows/Process.inc
246de858e37a989a9cdf9b80d7434453b2c52e70 16-Apr-2012 Benjamin Kramer <benny.kra@googlemail.com> 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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154805 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Windows/Process.inc
c9413c745bec9707064211bc5fd02cdfb153c92d 16-Apr-2012 Argyrios Kyrtzidis <akyrtzi@gmail.com> Revert r154800 which breaks windows builders.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154802 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Windows/Process.inc
7d31d75a77bb7a5a47f21d4c311ba13be86caa6f 16-Apr-2012 Argyrios Kyrtzidis <akyrtzi@gmail.com> Add reverseColor to raw_ostream.

To be used in printing unprintable source in clang diagnostics.
Patch by Seth Cantrell!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154800 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Windows/Process.inc
4aab4ab340863d87f9c566b69099ce60dd8762be 15-Jan-2012 Chandler Carruth <chandlerc@gmail.com> 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...)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148211 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Windows/Process.inc
bb0a6126cf1372e3ba90f0f6ff16f7f4d0381105 24-Sep-2011 Daniel Dunbar <daniel@zuster.org> sys::Process: Add a SetWorkingDirectory method.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140433 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Windows/Process.inc
1f6efa3996dd1929fbc129203ce5009b620e6969 29-Nov-2010 Michael J. Spencer <bigcheesegs@gmail.com> Merge System into Support.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120298 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Support/Windows/Process.inc