llvm-mirror/utils
David Majnemer 0d7d059b44 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

llvm-svn: 192069
2013-10-06 20:25:49 +00:00
..
bugpoint
buildit Build Apple's llvmCore with --disable-zlib. <rdar://problem/14182316> 2013-06-18 01:22:29 +00:00
count
crosstool
emacs
FileCheck Windows: Add support for unicode command lines 2013-10-06 20:25:49 +00:00
FileUpdate Windows: Add support for unicode command lines 2013-10-06 20:25:49 +00:00
fpcmp Don't use PathV1.h in FileUtilities.h. 2013-06-13 20:41:00 +00:00
git
git-svn
jedit
kate Add function attribute 'optnone'. 2013-08-23 11:53:55 +00:00
KillTheDoctor
lint
lit [lit] Add an --output option, for writing results in a machine readable form. 2013-09-14 01:19:17 +00:00
llvm-build [llvm-build] Make Py3 compatible. 2013-08-14 23:15:39 +00:00
llvm-lit Remove llvm-lit from the cmake install target. 2013-08-22 01:34:09 +00:00
Misc Patch that forces MergeFunctions pass for clang. 2013-09-24 20:06:31 +00:00
not Windows: Add support for unicode command lines 2013-10-06 20:25:49 +00:00
PerfectShuffle
release Correct comment. 2013-07-10 00:52:41 +00:00
TableGen Add OPC_CheckChildSame0-3 to the DAG isel matcher. This replaces sequences of MoveChild, CheckSame, MoveParent. Saves 846 bytes from the X86 DAG isel matcher, ~300 from ARM, ~840 from Hexagon. 2013-10-05 05:38:16 +00:00
Target/ARM
testgen
textmate
unittest
valgrind
vim Add function attribute 'optnone'. 2013-08-23 11:53:55 +00:00
yaml-bench
check-each-file
clang-parse-diagnostics-file
codegen-diff
countloc.sh
DSAclean.py
DSAextract.py
findmisopt
findoptdiff
findsym.pl
GenLibDeps.pl
GetRepositoryPath Fix the build for git repositories with multiple remotes. 2013-09-16 09:25:49 +00:00
GetSourceVersion
getsrcs.sh
lldbDataFormatters.py
llvm-compilers-check
llvm-native-gcc
llvm-native-gxx
llvm.grm
llvm.natvis
LLVMBuild.txt
llvmdo
llvmgrep
Makefile
makellvm
profile.pl
sort_includes.py
test_debuginfo.pl debuginfo-tests: Add support for an lldb wrapper script 2013-09-06 18:12:01 +00:00
UpdateCMakeLists.pl
wciia.py