llvm-6502/include/llvm
David Majnemer 5a1a1856a4 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
2013-10-06 20:25:49 +00:00
..
ADT Undefine NetBSD, it may have been defined by an earlier include of 2013-09-25 17:49:57 +00:00
Analysis Rename DataLayout variables TD -> DL 2013-10-03 19:50:01 +00:00
Assembly
Bitcode Add function attribute 'optnone'. 2013-08-23 11:53:55 +00:00
CodeGen Implement aarch64 neon instruction set AdvSIMD (Across). 2013-10-05 08:22:10 +00:00
Config Windows: Add support for unicode command lines 2013-10-06 20:25:49 +00:00
DebugInfo Dump the normal dwarf pubtypes section as well. 2013-09-25 23:02:41 +00:00
ExecutionEngine Adding support and tests for multiple module handling in lli 2013-10-04 00:49:38 +00:00
IR AVX-512: added scalar convert instructions and intrinsics. 2013-10-06 13:11:09 +00:00
IRReader
LTO Optimize linkonce_odr unnamed_addr functions during LTO. 2013-10-03 18:29:09 +00:00
MC Remove some really nasty uses of hasRawTextSupport. 2013-10-05 16:42:21 +00:00
Object Object/COFF: Rename getXXX{Begin,End} -> xxx_{begin,end}. 2013-09-27 21:47:05 +00:00
Option Option parsing: support case-insensitive option matching. 2013-08-28 20:04:31 +00:00
Support Windows: Add support for unicode command lines 2013-10-06 20:25:49 +00:00
TableGen Move StringToOffsetTable into the TableGen include directory so I can use it in clang. 2013-08-29 05:09:55 +00:00
Target IfConverter: Use TargetSchedule for instruction latencies 2013-09-30 15:28:56 +00:00
Transforms Optimize linkonce_odr unnamed_addr functions during LTO. 2013-10-03 18:29:09 +00:00
AutoUpgrade.h AutoUpgrade: upgrade from scalar TBAA format to struct-path aware TBAA format. 2013-09-28 00:22:27 +00:00
CMakeLists.txt
DebugInfo.h Debug Info: In DIBuilder, the derived-from field of a DW_TAG_pointer_type 2013-10-05 01:43:03 +00:00
DIBuilder.h Revert r190269 to fix dragonegg failures. 2013-09-08 06:02:56 +00:00
GVMaterializer.h
InitializePasses.h Remove the very substantial, largely unmaintained legacy PGO 2013-10-02 15:42:23 +00:00
InstVisitor.h
LinkAllIR.h
LinkAllPasses.h Remove the very substantial, largely unmaintained legacy PGO 2013-10-02 15:42:23 +00:00
Linker.h
Pass.h
PassAnalysisSupport.h
PassManager.h Revert "Encapsulate PassManager debug flags to avoid static init and cxa_exit." 2013-09-19 06:02:43 +00:00
PassManagers.h
PassRegistry.h
PassSupport.h