diff options
Diffstat (limited to 'gcc/cp/cp-tree.h')
-rw-r--r-- | gcc/cp/cp-tree.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h index 80d6c4e4a2f..5acb065aba0 100644 --- a/gcc/cp/cp-tree.h +++ b/gcc/cp/cp-tree.h @@ -5317,6 +5317,8 @@ struct cp_declarator { cp_virt_specifiers virt_specifiers; /* The ref-qualifier for the function. */ cp_ref_qualifier ref_qualifier; + /* The transaction-safety qualifier for the function. */ + tree tx_qualifier; /* The exception-specification for the function. */ tree exception_specification; /* The late-specified return type, if any. */ @@ -5604,6 +5606,9 @@ extern tree convert_force (tree, tree, int, extern tree build_expr_type_conversion (int, tree, bool); extern tree type_promotes_to (tree); extern tree perform_qualification_conversions (tree, tree); +extern bool tx_safe_fn_type_p (tree); +extern tree tx_unsafe_fn_variant (tree); +extern bool can_convert_tx_safety (tree, tree); /* in name-lookup.c */ extern tree pushdecl (tree); @@ -6218,9 +6223,11 @@ extern void finish_cleanup (tree, tree); extern bool is_this_parameter (tree); enum { + BCS_NORMAL = 0, BCS_NO_SCOPE = 1, BCS_TRY_BLOCK = 2, - BCS_FN_BODY = 4 + BCS_FN_BODY = 4, + BCS_TRANSACTION = 8 }; extern tree begin_compound_stmt (unsigned int); |