Heejin Ahn
01f5818544
Fix __clang_call_termiante's argument for foreign exceptions
...
Summary:
When exceptions are repeatedly thrown in the middle of handling another
exception, we call `__clang_call_terminate` with the exception pointer
(i32) as an argument. But in case of foreign exceptions, we don't have
the pointer, so we call the function with 0. (This requires
`__clang_call_terminate` can deal with 0 argument, which will be done
later)
But previously the 0 argument was not added as a `i32.const 0` but an
immediate by mistake, causing the `call` instruction to take not an i32
but rather an exnref, because an `exnref` is left on top of the value
stack if `br_on_exn` is not taken.
```
block i32
br_on_exn 0, __cpp_exception
;; exnref is on top of stack now
i32.const 0 ;; This was missing!
call __clang_call_terminate
unreachable
end
call __clang_call_terminate ;; This takes i32 extracted by br_on_exn
```
Reviewers: dschuff
Subscribers: sbc100, jgravelle-google, hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D65475
llvm-svn: 368527
2019-08-11 06:24:07 +00:00
..
2019-07-09 01:21:04 +00:00
2019-07-09 02:10:33 +00:00
2019-06-05 20:01:01 +00:00
2019-05-28 22:09:12 +00:00
2019-02-28 18:39:08 +00:00
2019-02-28 18:39:08 +00:00
2019-02-13 22:11:16 +00:00
2019-03-09 04:31:37 +00:00
2019-02-23 00:07:39 +00:00
2019-06-05 20:01:01 +00:00
2019-06-26 16:17:15 +00:00
2019-03-30 09:29:57 +00:00
2019-03-29 19:36:51 +00:00
2019-03-30 11:04:48 +00:00
2019-04-23 21:30:30 +00:00
2018-08-27 15:45:51 +00:00
2019-07-11 05:55:47 +00:00
2019-01-08 06:25:55 +00:00
2019-01-08 06:25:55 +00:00
2019-01-14 22:03:43 +00:00
2019-01-14 22:03:43 +00:00
2019-03-05 20:35:34 +00:00
2019-01-08 06:25:55 +00:00
2019-01-08 06:25:55 +00:00
2018-05-10 17:49:11 +00:00
2019-01-18 02:47:48 +00:00
2018-05-10 17:49:11 +00:00
2018-11-19 17:10:36 +00:00
2018-08-27 15:45:51 +00:00
2019-03-13 00:37:31 +00:00
2018-10-25 23:55:10 +00:00
2019-08-11 06:24:07 +00:00
2018-08-27 15:45:51 +00:00
2019-04-30 19:17:59 +00:00
2019-07-01 11:00:23 +00:00
2019-02-23 00:07:39 +00:00
2018-08-27 15:45:51 +00:00
2019-01-08 06:25:55 +00:00
2018-11-19 17:10:36 +00:00
2019-02-23 00:07:39 +00:00
2019-01-08 06:25:55 +00:00
2019-02-23 00:07:39 +00:00
2018-11-19 17:10:36 +00:00
2019-02-23 00:07:39 +00:00
2019-02-23 00:07:39 +00:00
2019-03-26 17:46:14 +00:00
2019-03-01 00:12:13 +00:00
2019-02-28 18:39:08 +00:00
2018-05-10 17:49:11 +00:00
2019-01-09 14:20:20 +00:00
2019-01-08 06:25:55 +00:00
2019-01-09 14:20:20 +00:00
2019-01-08 06:25:55 +00:00
2018-11-19 17:10:36 +00:00
2019-02-23 00:07:39 +00:00
2018-08-27 15:45:51 +00:00
2018-11-19 17:10:36 +00:00
2019-03-05 20:35:34 +00:00
2019-02-01 22:27:34 +00:00
2019-02-23 00:07:39 +00:00
2019-07-03 23:54:06 +00:00
2018-08-27 15:45:51 +00:00
2019-01-08 06:25:55 +00:00
2019-01-08 06:25:55 +00:00
2019-04-26 18:45:04 +00:00
2019-03-19 05:10:39 +00:00
2019-03-30 01:31:11 +00:00
2019-03-30 01:31:11 +00:00
2019-01-08 06:25:55 +00:00
2019-05-24 00:15:04 +00:00
2019-05-21 23:06:34 +00:00
2019-01-08 06:25:55 +00:00
2018-08-27 15:45:51 +00:00
2018-08-27 15:45:51 +00:00
2019-06-05 20:01:01 +00:00
2019-01-08 06:25:55 +00:00
2019-02-23 00:07:39 +00:00
2019-08-05 21:36:09 +00:00
2019-08-05 21:36:09 +00:00
2018-11-08 22:56:26 +00:00
2019-08-05 21:36:09 +00:00
2019-08-05 21:36:09 +00:00
2019-03-05 20:35:34 +00:00
2019-02-23 00:07:39 +00:00
2019-02-23 00:07:39 +00:00
2019-01-29 10:53:42 +00:00
2019-01-29 10:53:42 +00:00
2019-02-23 00:07:39 +00:00
2019-01-14 18:25:29 +00:00
2019-02-23 00:07:39 +00:00
2019-05-23 17:26:47 +00:00
2019-03-29 22:00:18 +00:00
2019-01-08 06:25:55 +00:00
2018-05-10 17:49:11 +00:00
2018-11-18 11:58:47 +00:00
2019-01-08 06:25:55 +00:00
2019-01-08 06:25:55 +00:00
2018-11-19 17:10:36 +00:00
2018-11-19 17:10:36 +00:00
2019-04-23 21:17:03 +00:00
2019-01-14 22:03:43 +00:00
2019-01-31 00:35:37 +00:00
2019-03-21 11:18:54 +00:00
2019-05-13 19:40:18 +00:00
2019-07-15 23:04:00 +00:00
2019-07-15 23:04:00 +00:00
2019-08-01 18:08:26 +00:00
2019-05-23 01:24:01 +00:00
2019-05-23 01:24:01 +00:00
2019-01-08 06:25:55 +00:00
2018-11-19 17:10:36 +00:00
2019-02-23 00:07:39 +00:00
2019-02-23 18:59:01 +00:00
2019-02-23 00:07:39 +00:00
2019-01-08 06:25:55 +00:00
2019-02-23 00:07:39 +00:00
2019-08-08 10:37:03 +00:00
2019-01-10 22:32:11 +00:00
2019-01-28 23:44:31 +00:00
2019-01-31 23:22:39 +00:00
2019-03-19 00:55:34 +00:00
2019-01-10 22:32:11 +00:00
2019-01-10 22:32:11 +00:00
2019-08-08 10:37:03 +00:00
2019-05-23 18:09:26 +00:00
2019-01-10 22:32:11 +00:00
2019-01-10 22:32:11 +00:00
2018-12-21 06:58:15 +00:00
2019-01-02 20:43:08 +00:00
2019-01-10 22:32:11 +00:00
2019-06-19 00:02:13 +00:00
2019-01-29 23:44:48 +00:00
2019-02-23 18:59:01 +00:00
2019-01-10 22:32:11 +00:00
2019-05-24 00:15:04 +00:00
2019-02-23 00:07:39 +00:00
2019-02-23 00:07:39 +00:00
2018-12-17 22:04:44 +00:00
2019-04-29 21:09:44 +00:00
2018-08-27 15:45:51 +00:00
2018-08-27 15:45:51 +00:00
2019-01-08 06:25:55 +00:00
2019-04-23 21:17:03 +00:00
2019-07-30 18:08:39 +00:00
2019-07-16 22:00:45 +00:00
2019-06-03 16:21:58 +00:00
2019-07-19 23:34:16 +00:00
2019-07-16 22:22:08 +00:00
2019-02-23 00:07:39 +00:00
2019-02-23 00:07:39 +00:00
2019-02-23 00:07:39 +00:00
2019-02-23 00:07:39 +00:00
2019-02-23 00:07:39 +00:00
2019-02-23 00:07:39 +00:00
2019-02-26 05:20:19 +00:00
2018-07-02 16:03:49 +00:00
2019-02-28 18:39:08 +00:00
2019-03-19 05:02:30 +00:00