Guanzhong Chen 8a503e439d [WebAssembly] Make clang emit correct va_arg code for structs
Summary:
In the WebAssembly backend, when lowering variadic function calls, non-single
member aggregate type arguments are always passed by pointer.

However, when emitting va_arg code in clang, the arguments are instead read as
if they are passed directly. This results in the pointer being read as the
actual structure.

Fixes https://github.com/emscripten-core/emscripten/issues/9042.

Reviewers: tlively, sbc100, kripken, aheejin, dschuff

Reviewed By: dschuff

Subscribers: dschuff, jgravelle-google, sunfish, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D66168

llvm-svn: 368750
2019-08-13 21:41:11 +00:00
..
2019-08-09 08:52:54 +00:00
2018-02-23 19:30:48 +00:00
2018-02-15 19:12:41 +00:00
2018-03-27 17:17:39 +00:00
2016-04-04 23:14:14 +00:00
2018-04-06 15:14:32 +00:00
2016-06-14 21:02:05 +00:00
2016-04-28 14:13:28 +00:00
2018-02-23 19:30:48 +00:00
2019-03-17 23:16:31 +00:00
2018-02-23 19:30:48 +00:00
2018-03-20 20:42:55 +00:00
2018-02-23 19:30:48 +00:00
2018-02-23 19:30:48 +00:00
2018-02-23 19:30:48 +00:00
2018-02-23 19:30:48 +00:00
2018-03-29 16:35:52 +00:00
2017-04-04 21:18:36 +00:00
2017-03-31 13:48:18 +00:00
2016-04-11 07:48:59 +00:00
2018-02-23 19:30:48 +00:00
2018-05-25 06:34:42 +00:00
2019-05-24 21:49:27 +00:00
2019-05-24 21:49:27 +00:00
2018-02-23 19:30:48 +00:00
2018-02-23 19:30:48 +00:00
2018-02-07 22:15:33 +00:00
2018-02-07 22:15:33 +00:00
2016-05-04 23:37:40 +00:00
2019-07-15 20:02:23 +00:00
2018-02-23 19:30:48 +00:00
2017-08-11 11:03:54 +00:00
2018-02-07 22:15:33 +00:00
2018-02-23 19:30:48 +00:00
2018-02-23 19:30:48 +00:00
2018-02-23 19:30:48 +00:00
2018-02-23 19:30:48 +00:00
2018-02-23 19:30:48 +00:00
2018-02-23 19:30:48 +00:00
2018-02-23 19:30:48 +00:00
2018-02-23 19:30:48 +00:00
2018-02-23 19:30:48 +00:00
2016-05-19 17:47:47 +00:00
2018-02-23 19:30:48 +00:00
2016-06-14 21:02:05 +00:00
2017-05-23 00:35:09 +00:00
2018-04-06 15:14:32 +00:00
2018-02-23 19:30:48 +00:00
2018-08-23 04:09:49 +00:00
2018-02-23 19:30:48 +00:00
2018-02-07 22:15:33 +00:00
2016-06-24 13:11:15 +00:00
2018-02-23 19:30:48 +00:00
2018-02-23 19:30:48 +00:00
2018-12-10 23:02:40 +00:00
2018-02-23 19:30:48 +00:00
2018-02-23 19:30:48 +00:00
2018-02-23 19:30:48 +00:00
2018-02-23 19:30:48 +00:00
2018-02-23 19:30:48 +00:00
2016-06-14 21:02:05 +00:00