ADTarm-ehast-experimentalenumforall-pointer-decayjacob/cs343-translationnew-ast-unique-exprpthread-emulationqualifiedEnum
Last change
on this file since e6cfb4e2 was
1c01c58,
checked in by Andrew Beach <ajbeach@…>, 4 years ago
|
Rather large commit to get coroutine cancellation working.
This includes what you would expect, like new code in exceptions and a new
test, but it also includes a bunch of other things.
New coroutine state, currently just marks that the stack was cancelled. New
helpers for checking code structure and generating vtables. Changes to the
coroutine interface so resume may throw exceptions on cancellation, plus the
exception type that is thrown. Changes to the coroutine keyword generation to
generate exception code for each type of coroutine.
|
-
Property mode set to
100644
|
File size:
829 bytes
|
Line | |
---|
1 | // |
---|
2 | // Cforall Version 1.0.0 Copyright (C) 2016 University of Waterloo |
---|
3 | // |
---|
4 | // The contents of this file are covered under the licence agreement in the |
---|
5 | // file "LICENCE" distributed with Cforall. |
---|
6 | // |
---|
7 | // exception.hfa -- Exceptions in a concurrent environment. |
---|
8 | // |
---|
9 | // Author : Andrew Beach |
---|
10 | // Created On : Mon Aug 24 10:41:00 2020 |
---|
11 | // Last Modified By : Andrew Beach |
---|
12 | // Last Modified On : Mon Aug 24 14:27:00 2020 |
---|
13 | // Update Count : 0 |
---|
14 | // |
---|
15 | |
---|
16 | #pragma once |
---|
17 | |
---|
18 | #include "bits/defs.hfa" |
---|
19 | #include "invoke.h" |
---|
20 | |
---|
21 | #ifdef __cforall |
---|
22 | extern "C" { |
---|
23 | |
---|
24 | #define HIDE_EXPORTS |
---|
25 | #endif |
---|
26 | #include "unwind.h" |
---|
27 | |
---|
28 | struct exception_context_t * this_exception_context(void) OPTIONAL_THREAD; |
---|
29 | |
---|
30 | _Unwind_Reason_Code __cfaehm_cancellation_unwind( |
---|
31 | struct _Unwind_Exception * unwind_exception ) OPTIONAL_THREAD; |
---|
32 | |
---|
33 | #ifdef __cforall |
---|
34 | #undef HIDE_EXPORTS |
---|
35 | } |
---|
36 | #endif |
---|
Note: See
TracBrowser
for help on using the repository browser.