summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Support/Windows/Windows.h
Commit message (Collapse)AuthorAgeFilesLines
* Rename Windows.h to WindowsSupport.h to avoid ambiguityReid Kleckner2014-02-121-169/+0
| | | | llvm-svn: 201258
* Undef'ing _WIN32_IE to silence an MSVC warning about redefining a macro value.Aaron Ballman2014-02-031-0/+1
| | | | | | No functional change intended. llvm-svn: 200704
* Checking for a return value with FormatMessage; if the call fails, there's ↵Aaron Ballman2013-11-181-4/+9
| | | | | | no guarantee that the buffer will be non-null. llvm-svn: 195019
* Revert "Revert "Windows: Add support for unicode command lines""David Majnemer2013-10-071-1/+0
| | | | | | | This reverts commit r192070 which reverted r192069, I forgot to regenerate the configure scripts. llvm-svn: 192079
* Revert "Windows: Add support for unicode command lines"David Majnemer2013-10-061-0/+1
| | | | | | | This is causing MinGW bots to fail. This reverts commit r192069. llvm-svn: 192070
* Windows: Add support for unicode command linesDavid Majnemer2013-10-061-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 llvm-svn: 192069
* Add getenv() wrapper that works on multibyte environment variable.Rui Ueyama2013-09-101-0/+13
| | | | | | | | | | | | | | | | | | 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 llvm-svn: 190423
* Fix build on WindowsTimur Iskhodzhanov2013-05-151-0/+1
| | | | llvm-svn: 181873
* Use only explicit bool conversion operatorsDavid Blaikie2013-05-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | BitVector/SmallBitVector::reference::operator bool remain implicit since they model more exactly a bool, rather than something else that can be boolean tested. The most common (non-buggy) case are where such objects are used as return expressions in bool-returning functions or as boolean function arguments. In those cases I've used (& added if necessary) a named function to provide the equivalent (or sometimes negative, depending on convenient wording) test. One behavior change (YAMLParser) was made, though no test case is included as I'm not sure how to reach that code path. Essentially any comparison of llvm::yaml::document_iterators would be invalid if neither iterator was at the end. This helped uncover a couple of bugs in Clang - test cases provided for those in a separate commit along with similar changes to `operator bool` instances in Clang. llvm-svn: 181868
* Revert r146363 to allow buildbots to make forward progress.Chad Rosier2011-12-121-20/+0
| | | | | | | Original commit message: Support/FileSystem: Implement canonicalize. llvm-svn: 146378
* Support/FileSystem: Implement canonicalize.Michael J. Spencer2011-12-121-0/+20
| | | | llvm-svn: 146363
* Support/Windows: Cleanup scoped handles.Michael J. Spencer2011-12-121-38/+68
| | | | llvm-svn: 146362
* lib/Support/Windows/Windows.h: Update required IE ver. 0x0600 should be ↵NAKAMURA Takumi2011-08-231-1/+1
| | | | | | enough for Windows XP. llvm-svn: 138319
* lib/Support/Windows/Windows.h: Require at least Windows XP(5.1) API. We will ↵NAKAMURA Takumi2011-08-201-2/+2
| | | | | | not support Windows 2000 any more. llvm-svn: 138198
* Windows/Windows.h: Redefine _WIN32_WINNT here. mingw-w64 tends to define it ↵NAKAMURA Takumi2011-02-091-0/+3
| | | | | | as 0x0502 in its headers. llvm-svn: 125171
* Make Win32's header file name lower for cross build on case-sensitive ↵NAKAMURA Takumi2011-02-041-2/+2
| | | | | | filesystem. llvm-svn: 124864
* Support: Move c_str from SmallVector back to SmallString and add a free standingMichael J. Spencer2010-12-091-0/+13
| | | | | | templated c_str in Windows.h to replace it. llvm-svn: 121381
* Support/Windows: Make MinGW happy.Michael J. Spencer2010-12-061-6/+6
| | | | llvm-svn: 120991
* Support/FileSystem: Add directory_iterator implementation.Michael J. Spencer2010-12-061-3/+7
| | | | llvm-svn: 120989
* Support/Windows: Add ScopedHandle and move some clients over to it.Michael J. Spencer2010-12-061-0/+40
| | | | llvm-svn: 120987
* Merge System into Support.Michael J. Spencer2010-11-291-0/+60
llvm-svn: 120298
OpenPOWER on IntegriCloud