1. 31 Oct, 2017 15 commits
    • [C++ PATCH] overloaded operator fns [2/N] · 88a819be
      https://gcc.gnu.org/ml/gcc-patches/2017-10/msg02326.html
      	gcc/cp/
      	* cp-tree.h (ovl_op_identifier): New.
      	(assign_op_identifier, call_op_identifier): Adjust.
      	(cp_operator_id, cp_assignment_operator_ide): Delete.
      	(SET_OVERLOADED_OPERATOR_CODE): Delete.
      	(OVL_OP_INFO): New.
      	* call.c (op_error): Use OVL_OP_INFO.
      	(build_conditional_expr_1): Use ovl_op_identifier.
      	(build_new_op_1): Use OVL_OP_INFO & ovl_op_identifier.
      	(build_op_delete_call): Likewise.
      	* class.c (type_requires_array_cookie): Use ovl_op_identifier.
      	* decl.c (duplicate_decls): Directly copy operator code.
      	(builtin_function_1): Do not set operator code.
      	(build_library_fn): Directly set operator code.
      	(push_cp_library_fn): Use ovl_op_identifier.
      	(grok_op_properties): Directly set operator code.
      	* decl2.c (maybe_warn_sized_delete): Use ovl_op_identifier.
      	* error.c (dump_expr): Use OVL_OP_INFO.
      	(op_to_string): Add assop arg. Use OVL_OP_INFO.
      	(assop_to_string): Delete.
      	(args_to_string): Adjust.
      	* init.c (build_new_1): Use ovl_op_identifier.
      	* mangle.c (write_unqualified_name): Use OVL_OP_INFO.
      	(write_expression): Likewise.
      	* method.c (synthesized_method_walk): Use ovl_op_identifier.
      	(implicitly_declare_fn): Use assign_op_identifier. Directly set
      	operator code.
      	* name-lookup.c (get_class_binding): Use assign_op_identifier.
      	* parser.c (cp_parser_operator): Use ovl_op_identifier.
      	(cp_parser_omp_clause_reduction): Likewise.
      	* semantics.c (omp_reduction_id): Likewise.
      	* typeck.c (cxx_sizeof_or_alignof_type): Use OVL_OP_INFO.
      
      	libcc1/
      	* libcp1plugin.cc (plugin_build_decl): Use ovl_op_identifier.
      	Directly set operator code.
      	(plugin_build_dependent_expr): Use ovl_op_identifier.
      
      From-SVN: r254267
      Nathan Sidwell committed
    • [BRIGFE] Fix PR 82771. · f6a35e89
      From-SVN: r254265
      Henry Linjamäki committed
    • Remove semicolon after do {} while (false) in HSA_LOG · 12e9c8ce
      2017-10-31  Tom de Vries  <tom@codesourcery.com>
      
      	* plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
      	"do {} while (false)".
      	(init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
      	after HSA_DEBUG call.
      
      From-SVN: r254264
      Tom de Vries committed
    • [C++ PATCH] overloaded operator fns [1/N] · 137073d3
      https://gcc.gnu.org/ml/gcc-patches/2017-10/msg02315.html
      	* cp-tree.h (assign_op_identifier, call_op_identifier): Define.
      	(LAMBDA_FUNCTION_P): Use DECL_OVERLOADED_OPERATOR_IS.
      	(DECL_OVERLOADED_OPERATOR_P): Just retuurn true/false.
      	(DECL_OVERLOADED_OPERATOR_CODE, DECL_OVERLOADED_OPERATOR_IS): Define.
      	* call.c (add_function_candidate): Use
      	DECL_OVERLOADED_OPERATOR_IS.
      	(build_op_call_1): Use call_op_identifier &
      	DECL_OVERLOADED_OPERATOR_IS.
      	(build_over_call): Likewise.
      	(has_trivial_copy_assign_p): Use assign_op_identifier.
      	(build_special_member_call): Likewise.
      	* class.c (dfs_declare_virt_assop_and_dtor): Likewise.
      	(vbase_has_user_provided_move_assign,
      	classtype_has_move_assign_or_move_ctor_p): Likewise.
      	* decl.c (duplicate_decls): Use DECL_OVERLOADED_OPERATOR_CODE.
      	(grok_special_member_properties): Use assign_op_identifier.
      	(start_preparsed_function): Use DECL_OVERLOADED_OPERATOR_IS.
      	* decl2.c (mark_used): Use DECL_CONV_FN_P.
      	* dump.c (dump_access): Delete prototype.
      	(dump_op): Delete.
      	(cp_dump_tree): Don't call it.
      	* lambda.c (lambda_function): Use call_op_identifier.
      	(maybe_add_lambda_conv_op): Not an overloaded operator.  Remove
      	unneeded braces.
      	* mangle.c (write_unqualified_name): Use DECL_OVERLOADED_OPERTOR_CODE.
      	* method.c (do_build_copy_assign): Use assign_op_identifier.
      	(synthesize_method): Use DECL_OVERLOADED_OPERATOR_IS.
      	(get_copy_assign): Use assign_op_identifier.
      	(synthesized_method_walk): Likewise.
      	(defaultable_fn_check): Use DECL_OVERLOADED_OPERATOR_IS.
      	* parser.c (cp_parser_lambda_declarator_opt): Use
      	call_op_identifier.
      	* semanitics.c (classtype_has_nothrow_assign_or_copy_p): Use
      	assign_op_identifier.
      	* tree.c (special_function_p):  Use DECL_OVERLOADED_OPERATOR_IS.
      	* typeck.c (check_return_expr): Use DECL_OVERLOADED_OPERATOR_CODE.
      	(check_return_expr): Use assign_op_identifier.
      
      From-SVN: r254263
      Nathan Sidwell committed
    • GCOV: std::vector refactoring III · 8a3f457f
      2017-10-31  Martin Liska  <mliska@suse.cz>
      
      	* gcov.c (struct name_map): do not use typedef.
      	Define operator== and operator<.
      	(name_search): Remove.
      	(name_sort): Remove.
      	(main): Do not allocate names.
      	(process_file): Add vertical space.
      	(generate_results): Use std::find.
      	(release_structures): Do not release memory.
      	(find_source): Use std::find.
      
      From-SVN: r254262
      Martin Liska committed
    • GCOV: Vector refactoring II · 4695d816
      2017-10-31  Martin Liska  <mliska@suse.cz>
      
      	* gcov.c (struct line_info): Remove it's typedef.
      	(line_info::line_info): Add proper ctor.
      	(line_info::has_block): Do not use a typedef.
      	(struct source_info): Do not use typedef.
      	(circuit): Likewise.
      	(get_cycles_count): Likewise.
      	(output_intermediate_file): Iterate via vector iterator.
      	(add_line_counts): Use std::vector methods.
      	(accumulate_line_counts): Likewise.
      	(output_lines): Likewise.
      
      From-SVN: r254261
      Martin Liska committed
    • GCOV: std::vector refactoring. · c7432e76
      2017-10-31  Martin Liska  <mliska@suse.cz>
      
      	* gcov.c (struct source_info): Remove typedef.
      	(source_info::source_info): Add proper ctor.
      	(accumulate_line_counts): Use struct, not it's typedef.
      	(output_gcov_file): Likewise.
      	(output_lines): Likewise.
      	(main): Do not allocate an array.
      	(output_intermediate_file): Use size of vector container.
      	(process_file): Resize the vector.
      	(generate_results): Do not preallocate, use newly added vector
      	lines.
      	(release_structures): Do not release sources.
      	(find_source): Use vector methods.
      	(add_line_counts): Do not use typedef.
      
      From-SVN: r254260
      Martin Liska committed
    • GCOV: add support for lines with an unexecuted lines. · cdb07de7
      2017-10-31  Martin Liska  <mliska@suse.cz>
      
      	* doc/gcov.texi: Document that.
      	* gcov.c (add_line_counts): Mark lines with a non-executed
      	statement.
      	(output_line_beginning): Handle such lines.
      	(output_lines): Pass new argument.
      	(output_intermediate_file): Print it in intermediate format.
      2017-10-31  Martin Liska  <mliska@suse.cz>
      
      	* g++.dg/gcov/ternary.C: New test.
      	* g++.dg/gcov/gcov-threads-1.C (main): Update expected line
      	count.
      	* lib/gcov.exp: Support new format for intermediate file format.
      
      From-SVN: r254259
      Martin Liska committed
    • GCOV: introduce usage of terminal colors. · 28f4a4a8
      2017-10-31  Martin Liska  <mliska@suse.cz>
      
      	* color-macros.h: New file.
      	* diagnostic-color.c: Factor out color related to macros to
      	color-macros.h.
      	* doc/gcov.texi: Document -k option.
      	* gcov.c (INCLUDE_STRING): Include string.h.
      	(print_usage): Add -k option.
      	(process_args): Parse it.
      	(pad_count_string): New function.
      	(output_line_beginning): Likewise.
      	(DEFAULT_LINE_START): New macro.
      	(output_lines): Support color output.
      
      From-SVN: r254258
      Martin Liska committed
    • GCOV: document behavior of -fkeep-{static,inline}-functions (PR gcov-profile/82633). · 00da60d4
      2017-10-31  Martin Liska  <mliska@suse.cz>
      
      	PR gcov-profile/82633
      	* doc/gcov.texi: Document -fkeep-{static,inline}-functions and
      	their interaction with GCOV infrastructure.
      	* configure.ac: Add -fkeep-{inline,static}-functions to
      	coverage_flags.
      	* configure: Regenerate.
      
      From-SVN: r254257
      Martin Liska committed
    • re PR target/82772 (GCC crashes as compiling ags_thread.c source file on alpha architecture) · 00ca3ed2
      	PR target/82772
      	* config/alpha/sync.md (fetchop_constr) <and>: Change to "rINM".
      
      From-SVN: r254253
      Uros Bizjak committed
    • Subject: [PATCH] rs6000: Fix crash with big stack clash interval (PR82674) · c705e5a3
      If the user asks for a stack clash probe interval of 64kB, we currently
      generate a "stdu rX,-65536(r1)" instruction.  That instruction does not
      exist (the offset is a 16-bit signed number).  If the offset is too big
      we should force it into a register and generate a "stdux rX,rY,r1"
      instruction, instead.
      
      
      	PR target/82674
      	* config/rs6000/rs6000.md (allocate_stack): Force update interval
      	into a register if it does not fit into an immediate offset field.
      
      From-SVN: r254252
      Segher Boessenkool committed
    • Makefile.in (FLAGS_TO_PASS): Pass libsubdir as well. · 4db58158
      2017-10-31  Olivier Hainque  <hainque@adacore.com>
      
              * gcc/Makefile.in (FLAGS_TO_PASS): Pass libsubdir as well.
      
      From-SVN: r254251
      Olivier Hainque committed
    • GFNI enabling [2/4] · 9d54607a
      gcc/
      	* config.gcc: Add gfniintrin.h.
      	* config/i386/gfniintrin.h: New.
      	* config/i386/i386-builtin-types.def (
      	__builtin_ia32_vgf2p8affineinvqb_v64qi,
      	__builtin_ia32_vgf2p8affineinvqb_v64qi_mask,
      	__builtin_ia32_vgf2p8affineinvqb_v32qi
      	__builtin_ia32_vgf2p8affineinvqb_v32qi_mask,
      	__builtin_ia32_vgf2p8affineinvqb_v16qi,
      	__builtin_ia32_vgf2p8affineinvqb_v16qi_mask): New builtins.
      	* config/i386/i386-builtin.def (V64QI_FTYPE_V64QI_V64QI_INT_V64QI_UDI,
      	V32QI_FTYPE_V32QI_V32QI_INT_V32QI_USI,
      	V16QI_FTYPE_V16QI_V16QI_INT_V16QI_UHI,
      	V64QI_FTYPE_V64QI_V64QI_INT): New types.
      	* config/i386/i386.c (ix86_expand_args_builtin): Handle new types.
      	* config/i386/immintrin.h: Include gfniintrin.h.
      	* config/i386/sse.md (vgf2p8affineinvqb_*) New pattern.
      
      gcc/testsuite/
      	* gcc.target/i386/avx-1.c: Handle new intrinsics.
      	* gcc.target/i386/avx512-check.h: Check GFNI bit.
      	* gcc.target/i386/avx512f-gf2p8affineinvqb-2.c: Runtime test.
      	* gcc.target/i386/avx512vl-gf2p8affineinvqb-2.c: Runtime test.
      	* gcc.target/i386/gfni-1.c: New.
      	* gcc.target/i386/gfni-2.c: New.
      	* gcc.target/i386/gfni-3.c: New.
      	* gcc.target/i386/gfni-4.c: New.
      	* gcc.target/i386/i386.exp: (check_effective_target_gfni): New.
      	* gcc.target/i386/sse-12.c: Handle new intrinsics.
      	* gcc.target/i386/sse-13.c: Ditto.
      	* gcc.target/i386/sse-14.c: Ditto.
      	* gcc.target/i386/sse-22.c: Ditto.
      	* gcc.target/i386/sse-23.c: Ditto.
      	* g++.dg/other/i386-2.C: Ditto.
      	* g++.dg/other/i386-3.C: Ditto.
      
      From-SVN: r254250
      Julia Koval committed
    • Daily bump. · 16e6821a
      From-SVN: r254249
      GCC Administrator committed
  2. 30 Oct, 2017 25 commits