1. 05 Oct, 2015 1 commit
  2. 04 Oct, 2015 8 commits
    • Implement N4514, C++ Extensions for Transactional Memory. · b8fd7909
      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
      Jason Merrill committed
    • re PR rtl-optimization/67447 (ICE in extract_constrain_insn… · bd841941
      re PR rtl-optimization/67447 (ICE in extract_constrain_insn (reload_cse_simplify_operands): insn does not satisfy its constraints)
      
      	PR rtl-optimization/67447
      	* gcc.target/i386/pr67447.c: New test.
      
      From-SVN: r228461
      Uros Bizjak committed
    • i386.c (ix86_nsaved_regs): Use GENERAL_REGNO_P to check for general register. · beabed99
      	* config/i386/i386.c (ix86_nsaved_regs): Use GENERAL_REGNO_P to
      	check for general register.
      	(ix86_emit_save_regs): Ditto.
      	(ix86_emit_save_regs_using_mov): Ditto.
      	(ix86_emit_restore_regs_using_pop): Ditto.
      	(ix86_emit_restore_regs_using_mov): Ditto.
      
      From-SVN: r228460
      Uros Bizjak committed
    • vect-pack-trunc-1.c: Require avx512bw effective target. · 51daf358
      	* gcc.target/i386/vect-pack-trunc-1.c: Require avx512bw
      	effective target.
      	* gcc.target/i386/vect-pack-trunc-2.c: Ditto.
      	* gcc.target/i386/vect-perm-even-1.c: Ditto.
      	* gcc.target/i386/vect-perm-odd-1.c: Ditto.
      	* gcc.target/i386/vect-unpack-1.c: Ditto.
      	* gcc.target/i386/vect-unpack-2.c: Ditto.
      
      From-SVN: r228459
      Uros Bizjak committed
    • Remove dead code · 2018f53e
      gcc/fortran/
      	* match.c (gfc_match_common): Remove dead variable old_blank_common.
      
      From-SVN: r228458
      Mikael Morin committed
    • Fix fortran common-related error recovery ICE. · 2b3f52a2
      Upon reverting a symbol in a common block (after throwing an error),
      the compiler was ICEing because the symbol's common_block field was set,
      but the symbol was not in the common block's list of symbols.
      
      Fixed by both adding the symbol to the common block list and setting
      the symbol's common_block field at the same time.
      Furthermore, the gfc_add_in_common call is delayed and its result is
      ignored, so that its error messages are ignored and the compiler has
      the opportunity to give a better error message.
      Another gfc_add_in_common call is added later during resolution
      to emit again the missing errors.
      
      	PR fortran/67758
      gcc/fortran/
      	* match.c (gfc_match_common): Delay the common_block pointer
      	assignment after error checking.
      	Delay the call to gfc_add_in_common attribute after the handling
      	of array specs.
      	* resolve.c (resolve_common_vars): Call gfc_add_in_common again.
      gcc/testsuite/
      	* gfortran.dg/common_24.f: New.
      
      From-SVN: r228457
      Mikael Morin committed
    • Factor access to the common block head symbol · 6dcab507
      	* resolve.c (resolve_common_vars): Move access to the common
      	block's head symbol inside the function.
      	(resolve_common_blocks, resolve_types): Update callers.
      
      From-SVN: r228456
      Mikael Morin committed
    • Daily bump. · 18696c74
      From-SVN: r228454
      GCC Administrator committed
  3. 03 Oct, 2015 7 commits
  4. 02 Oct, 2015 24 commits