gcc/libstdc++-v3/libsupc++
Jason Merrill b8fd7909c0 Implement N4514, C++ Extensions for Transactional Memory.
gcc/
	* builtins.def (BUILT_IN_ABORT): Add transaction_pure attribute.
gcc/c-family/
	* c-common.c (c_common_reswords): Add C++ TM TS keywords.
	(c_common_attribute_table): Add transaction_safe_dynamic.
	transaction_safe now affects type identity.
	(handle_tm_attribute): Handle transaction_safe_dynamic.
	* c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
	RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
	(OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
	(D_TRANSMEM): New.
	* c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
	* c-pretty-print.c (pp_c_attributes_display): Don't print
	transaction_safe in C++.
gcc/c/
	* c-parser.c (c_lex_one_token): Handle @synchronized.
	* c-decl.c (match_builtin_function_types): A declaration of a built-in
	can change whether the function is transaction_safe.
gcc/cp/
	* cp-tree.h (struct cp_declarator): Add tx_qualifier field.
	(BCS_NORMAL, BCS_TRANSACTION): New enumerators.
	* lex.c (init_reswords): Limit TM kewords to -fgnu-tm.
	* parser.c (cp_lexer_get_preprocessor_token): Fix @synchronized.
	(make_call_declarator): Take tx_qualifier.
	(cp_parser_tx_qualifier_opt): New.
	(cp_parser_lambda_declarator_opt): Use it.
	(cp_parser_direct_declarator): Likewise.
	(cp_parser_statement): Handle atomic_noexcept, atomic_cancel.
	(cp_parser_compound_statement): Change in_try parameter to bcs_flags.
	(cp_parser_std_attribute): Map optimize_for_synchronized to
	transaction_callable.
	(cp_parser_transaction): Take the token.  Handle atomic_noexcept.
	* lambda.c (maybe_add_lambda_conv_op): Handle transaction-safety.
	* call.c (enum conversion_kind): Add ck_tsafe.
	(standard_conversion): Handle transaction-safety conversion.
	(convert_like_real, resolve_address_of_overloaded_function): Likewise.
	(check_methods): Diagnose transaction_safe_dynamic on non-virtual
	function.
	(look_for_tm_attr_overrides): Don't inherit transaction_safe_dynamic.
	* cvt.c (tx_safe_fn_type_p, tx_unsafe_fn_variant)
	(can_convert_tx_safety): New.
	* typeck.c (composite_pointer_type): Handle transaction-safety.
	* name-lookup.h (enum scope_kind): Add sk_transaction.
	* name-lookup.c (begin_scope): Handle it.
	* semantics.c (begin_compound_stmt): Pass it.
	* decl.c (check_previous_goto_1): Check it.
	(struct named_label_entry): Add in_transaction_scope.
	(poplevel_named_label_1): Set it.
	(check_goto): Check it.
	(duplicate_decls): A specialization can be transaction_safe
	independently of its template.
	(grokdeclarator): Handle tx-qualifier.
	* rtti.c (ptr_initializer): Handle transaction-safe.
	* search.c (check_final_overrider): Check transaction_safe_dynamic.
	Don't check transaction_safe.
	* mangle.c (write_function_type): Mangle transaction_safe here.
	(write_CV_qualifiers_for_type): Not here.
	(write_type): Preserve transaction_safe when stripping attributes.
	* error.c (dump_type_suffix): Print transaction_safe.
libiberty/
	* cp-demangle.c (d_cv_qualifiers): Dx means transaction_safe.
	(cplus_demangle_type): Let d_cv_qualifiers handle it.
	(d_dump, d_make_comp, has_return_type, d_encoding)
	(d_count_templates_scopes, d_print_comp_inner)
	(d_print_mod_list, d_print_mod, d_print_function_type)
	(is_ctor_or_dtor): Handle DEMANGLE_COMPONENT_TRANSACTION_SAFE.

From-SVN: r228462
2015-10-04 15:17:19 -04:00
..
array_type_info.cc Update copyright years. 2015-01-05 13:33:28 +01:00
atexit_arm.cc Update copyright years. 2015-01-05 13:33:28 +01:00
atexit_thread.cc Update copyright years. 2015-01-05 13:33:28 +01:00
atomic_lockfree_defines.h Update copyright years. 2015-01-05 13:33:28 +01:00
bad_alloc.cc Update copyright years. 2015-01-05 13:33:28 +01:00
bad_array_length.cc Update copyright years. 2015-01-05 13:33:28 +01:00
bad_array_new.cc Update copyright years. 2015-01-05 13:33:28 +01:00
bad_cast.cc Update copyright years. 2015-01-05 13:33:28 +01:00
bad_typeid.cc Update copyright years. 2015-01-05 13:33:28 +01:00
class_type_info.cc Update copyright years. 2015-01-05 13:33:28 +01:00
cxxabi_forced.h Update copyright years. 2015-01-05 13:33:28 +01:00
cxxabi.h Implement N4514, C++ Extensions for Transactional Memory. 2015-10-04 15:17:19 -04:00
del_op.cc del_opv.cc: Suppress -Wsized-deallocation. 2015-05-21 11:12:40 -04:00
del_opnt.cc Update copyright years. 2015-01-05 13:33:28 +01:00
del_ops.cc Update copyright years. 2015-01-05 13:33:28 +01:00
del_opv.cc del_opv.cc: Suppress -Wsized-deallocation. 2015-05-21 11:12:40 -04:00
del_opvnt.cc Update copyright years. 2015-01-05 13:33:28 +01:00
del_opvs.cc Update copyright years. 2015-01-05 13:33:28 +01:00
dyncast.cc Update copyright years. 2015-01-05 13:33:28 +01:00
eh_alloc.cc re PR libstdc++/64798 (g++.old-deja/g++.eh/badalloc1.C FAILs) 2015-01-28 09:53:39 +00:00
eh_arm.cc Update copyright years. 2015-01-05 13:33:28 +01:00
eh_aux_runtime.cc Update copyright years. 2015-01-05 13:33:28 +01:00
eh_call.cc Update copyright years. 2015-01-05 13:33:28 +01:00
eh_catch.cc eh_catch.cc (uncaught_exception, [...]): Return false or zero if the library is built without exceptions. 2015-04-27 22:06:17 +01:00
eh_exception.cc Update copyright years. 2015-01-05 13:33:28 +01:00
eh_globals.cc Update copyright years. 2015-01-05 13:33:28 +01:00
eh_personality.cc sjlj.m4: New file. 2015-05-13 21:15:31 +00:00
eh_ptr.cc sjlj.m4: New file. 2015-05-13 21:15:31 +00:00
eh_term_handler.cc eh_catch.cc (uncaught_exception, [...]): Return false or zero if the library is built without exceptions. 2015-04-27 22:06:17 +01:00
eh_terminate.cc Update copyright years. 2015-01-05 13:33:28 +01:00
eh_throw.cc sjlj.m4: New file. 2015-05-13 21:15:31 +00:00
eh_tm.cc Update copyright years. 2015-01-05 13:33:28 +01:00
eh_type.cc Update copyright years. 2015-01-05 13:33:28 +01:00
eh_unex_handler.cc Update copyright years. 2015-01-05 13:33:28 +01:00
enum_type_info.cc Update copyright years. 2015-01-05 13:33:28 +01:00
exception exception (uncaught_exceptions): Add comment. 2015-04-28 13:07:40 +01:00
exception_defines.h Update copyright years. 2015-01-05 13:33:28 +01:00
exception_ptr.h Update copyright years. 2015-01-05 13:33:28 +01:00
function_type_info.cc Update copyright years. 2015-01-05 13:33:28 +01:00
fundamental_type_info.cc Update copyright years. 2015-01-05 13:33:28 +01:00
guard_error.cc Update copyright years. 2015-01-05 13:33:28 +01:00
guard.cc guard.cc (__test_and_acquire): Use __p after __atomic_load to avoid unused variable warning. 2015-07-02 07:58:12 +02:00
hash_bytes.cc Update copyright years. 2015-01-05 13:33:28 +01:00
hash_bytes.h Update copyright years. 2015-01-05 13:33:28 +01:00
initializer_list Update copyright years. 2015-01-05 13:33:28 +01:00
Makefile.am Committing VTV Cygwin patch for Patrick Wollgast 2015-01-29 00:03:56 -08:00
Makefile.in libstdc++-v3/fragment.am (AM_CPPFLAGS): Add CPPFLAGS 2015-07-24 07:05:19 +00:00
nested_exception.cc Update copyright years. 2015-01-05 13:33:28 +01:00
nested_exception.h nested_exception.h: Do not try to derive from final classes. 2015-03-17 14:24:55 +00:00
new Update copyright years. 2015-01-05 13:33:28 +01:00
new_handler.cc Update copyright years. 2015-01-05 13:33:28 +01:00
new_op.cc Update copyright years. 2015-01-05 13:33:28 +01:00
new_opnt.cc Update copyright years. 2015-01-05 13:33:28 +01:00
new_opv.cc Update copyright years. 2015-01-05 13:33:28 +01:00
new_opvnt.cc Update copyright years. 2015-01-05 13:33:28 +01:00
pbase_type_info.cc Implement N4514, C++ Extensions for Transactional Memory. 2015-10-04 15:17:19 -04:00
pmem_type_info.cc Update copyright years. 2015-01-05 13:33:28 +01:00
pointer_type_info.cc Update copyright years. 2015-01-05 13:33:28 +01:00
pure.cc Update copyright years. 2015-01-05 13:33:28 +01:00
si_class_type_info.cc Update copyright years. 2015-01-05 13:33:28 +01:00
tinfo2.cc Update copyright years. 2015-01-05 13:33:28 +01:00
tinfo.cc Update copyright years. 2015-01-05 13:33:28 +01:00
tinfo.h Update copyright years. 2015-01-05 13:33:28 +01:00
typeinfo Update copyright years. 2015-01-05 13:33:28 +01:00
unwind-cxx.h unwind-arm-common.h: Revert previous commit. 2015-01-09 15:22:19 +01:00
vec.cc Update copyright years. 2015-01-05 13:33:28 +01:00
vmi_class_type_info.cc Update copyright years. 2015-01-05 13:33:28 +01:00
vterminate.cc Update copyright years. 2015-01-05 13:33:28 +01:00
vtv_stubs.cc Committing VTV Cygwin patch for Patrick Wollgast 2015-01-29 00:03:56 -08:00