diff options
Diffstat (limited to 'gcc/langhooks.h')
-rw-r--r-- | gcc/langhooks.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/gcc/langhooks.h b/gcc/langhooks.h index a83bf7b71ed..9539e7d5b7a 100644 --- a/gcc/langhooks.h +++ b/gcc/langhooks.h @@ -139,6 +139,23 @@ struct lang_hooks_for_types tree (*reconstruct_complex_type) (tree, tree); }; +/* Language hooks related to Cilk Plus. */ + +struct lang_hooks_for_cilkplus +{ + /* Returns true if the expression passed in has a spawned function call. */ + bool (*cilk_detect_spawn_and_unwrap) (tree *); + + /* Function to add the clean up functions after spawn. The reason why it is + language dependent is because in C++, it must handle exceptions. */ + void (*install_body_with_frame_cleanup) (tree, tree); + + /* Function to gimplify a spawned function call. Returns enum gimplify + status, but as mentioned in a previous comment, we can't see that type + here, so just return an int. */ + int (*gimplify_cilk_spawn) (tree *, gimple_seq *, gimple_seq *); +}; + /* Language hooks related to decls and the symbol table. */ struct lang_hooks_for_decls @@ -408,6 +425,8 @@ struct lang_hooks struct lang_hooks_for_types types; + struct lang_hooks_for_cilkplus cilkplus; + struct lang_hooks_for_lto lto; /* Returns a TREE_VEC of the generic parameters of an instantiation of |