aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorDan Gohman <sunfish@mozilla.com>2019-11-25 09:50:58 -0800
committerDan Gohman <sunfish@mozilla.com>2020-02-27 07:55:36 -0800
commit00072c08c75050ae2c835b7bb0e505475dbcd7b9 (patch)
treef6ea954da28498b216233acac4507efe27ff1eea /clang/lib/Frontend/CompilerInvocation.cpp
parent197bda587b4bb5e7603ad05fc1106332edc6afbd (diff)
downloadllvm-00072c08c75050ae2c835b7bb0e505475dbcd7b9.zip
llvm-00072c08c75050ae2c835b7bb0e505475dbcd7b9.tar.gz
llvm-00072c08c75050ae2c835b7bb0e505475dbcd7b9.tar.bz2
[WebAssembly] Mangle the argc/argv `main` as `__wasm_argc_argv`.
WebAssembly enforces a rule that caller and callee signatures must match. This means that the traditional technique of passing `main` `argc` and `argv` even when it doesn't need them doesn't work. Currently the backend renames `main` to `__original_main`, however this doesn't interact well with LTO'ing libc, and the name isn't intuitive. This patch allows us to transition to `__main_argc_argv` instead. This implements the proposal in https://github.com/WebAssembly/tool-conventions/pull/134 with a flag to disable it when targeting Emscripten, though this is expected to be temporary, as discussed in the proposal comments. Differential Revision: https://reviews.llvm.org/D70700
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions