- 31 Oct, 2017 15 commits
-
-
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 -
From-SVN: r254265
Henry Linjamäki committed -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
PR target/82772 * config/alpha/sync.md (fetchop_constr) <and>: Change to "rINM". From-SVN: r254253
Uros Bizjak committed -
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 -
2017-10-31 Olivier Hainque <hainque@adacore.com> * gcc/Makefile.in (FLAGS_TO_PASS): Pass libsubdir as well. From-SVN: r254251
Olivier Hainque committed -
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 -
From-SVN: r254249
GCC Administrator committed
-
- 30 Oct, 2017 25 commits
-
-
From-SVN: r254246
Eric Botcazou committed -
2017-10-30 Paolo Carlini <paolo.carlini@oracle.com> PR c++/67595 * g++.dg/concepts/pr67595.C: New. From-SVN: r254245
Paolo Carlini committed -
2017-10-30 Paul Thomas <pault@gcc.gnu.org> PR fortran/80850 * trans_expr.c (gfc_conv_procedure_call): When passing a class argument to an unlimited polymorphic dummy, it is wrong to cast the passed expression as unlimited, unless it is unlimited. The correct way is to assign to each of the fields and set the _len field to zero. 2017-10-30 Paul Thomas <pault@gcc.gnu.org> PR fortran/80850 * gfortran.dg/class_64_f90 : New test. From-SVN: r254244
Paul Thomas committed -
* g++.dg/pr82725.C: Move to ... * g++.dg/cpp0x/pr82725.C: ... here. Add c++11 target directive. From-SVN: r254242
Uros Bizjak committed -
2017-10-30 Steven G. Kargl <kargl@gcc.gnu.org> * resolve.c (resolve_transfer): Set derived to correct symbol for BT_CLASS. 2017-10-30 Steven G. Kargl <kargl@gcc.gnu.org> * gfortran.dg/dtio_13.f90: Remove TODO comment and dg-error test. From-SVN: r254241
Steven G. Kargl committed -
/cp 2017-10-30 Paolo Carlini <paolo.carlini@oracle.com> PR c++/82085 * pt.c (tsubst_copy_and_build, [INDIRECT_REF]): For a REFERENCE_REF_P, unconditionally call convert_from_reference. /testsuite 2017-10-30 Paolo Carlini <paolo.carlini@oracle.com> PR c++/82085 * g++.dg/cpp1y/var-templ56.C: New. From-SVN: r254239
Paolo Carlini committed -
https://gcc.gnu.org/ml/gcc-patches/2017-10/msg02240.html cp/ * call.c (build_op_call_1): Test for FUNCTION_DECL in same manner as a few lines earlier. * cp-tree.h (PACK_EXPANSION_PATTERN): Fix white space. * decl.c (grokfndecl): Fix indentation. (compute_array_index_type): Use processing_template_decl_sentinel. (grok_op_properties): Move warnings to end. Reorder other checks to group similar entities. Tweak diagnostics. * lex.c (unqualified_name_lookup_error): No need to check name is not ERROR_MARK operator. * parser.c (cp_parser_operator): Select operator code before looking it up. * typeck.c (check_return_expr): Fix indentation and line wrapping. testsuite/ * g++.dg/other/operator2.C: Adjust diagnostic. * g++.old-deja/g++.jason/operator.C: Likewise. From-SVN: r254238
Nathan Sidwell committed -
A left shift of 1 can always be done using an add, so slightly adjust rtx cost for DImode left shift by 1 so that adddi3 is preferred in all cases, and the arm_ashldi3_1bit is redundant. DImode right shifts of 1 are rarely used (6 in total in the GCC binary), so there is little benefit of the arm_ashrdi3_1bit and arm_lshrdi3_1bit patterns. The generated code is better and faster without these shifts as it allows early expansion, optimization and better register allocation. gcc/ * config/arm/arm.md (ashldi3): Remove shift by 1 expansion. (arm_ashldi3_1bit): Remove pattern. (ashrdi3): Remove shift by 1 expansion. (arm_ashrdi3_1bit): Remove pattern. (lshrdi3): Remove shift by 1 expansion. (arm_lshrdi3_1bit): Remove pattern. * config/arm/arm.c (arm_rtx_costs_internal): Slightly increase cost of ashldi3 by 1. * config/arm/neon.md (ashldi3_neon): Remove shift by 1 expansion. (<shift>di3_neon): Likewise. From-SVN: r254237
Wilco Dijkstra committed -
Fix the type attributes of the integer stores in aarch64_simd_mov. gcc/ * config/aarch64/aarch64-simd.md (*aarch64_simd_mov): Rename both identically named patterns to (*aarch64_simd_mov<VD:mode>) and (*aarch64_simd_mov<VQ:mode>). (*aarch64_simd_mov<VD:mode>): Change type attribute to match pattern alternative. (*aarch64_simd_mov<VQ:mode>): Re-order and change type attributes to match pattern alternative. From-SVN: r254236
Dominik Infuehr committed -
This patch includes testsuite/gcc.target tests for the intrinsics in emmintrin.h. For these tests I added -Wno-psabi to dg-options to suppress warnings associated with the vector ABI change in GCC5. From-SVN: r254235
Steven Munroe committed -
Part 1/2 for contributing PPC64LE support for X86 SSE2 instrisics. This patch includes the new (for PPC) emmintrin.h, changes x86intrin.h to include xmmintrin.h, and associated config.gcc changes. From-SVN: r254234
Steven Munroe committed -
backport: unnecessary duplication and repeating bugs like PR78439 due to changes being applied only to one of the duplicates. Merge the movdi_vfp_cortexa8 pattern into movdi_vfp and remove it to avoid unnecessary duplication and repeating bugs like PR78439 due to changes being applied only to one of the duplicates. gcc/ * config/arm/vfp.md (movdi_vfp): Merge changes from movdi_vfp_cortexa8. * (movdi_vfp_cortexa8): Remove pattern. From-SVN: r254233
Wilco Dijkstra committed -
* doc/install.texi (Specific, alpha*-*-*): Remove DEC OSF/1 etc. reference. (Specific, alpha*-dec-osf5.1): Remove. (Specific, mips-sgi-irix5): Remove. (Specific, mips-sgi-irix6): Remove. From-SVN: r254230
Rainer Orth committed -
* include/Makefile.am (stamp-bits-sup): Do not create broken symlink to stamp-bits. * include/Makefile.in: Regenerate. From-SVN: r254229
Jonathan Wakely committed -
PR middle-end/22141 * gimple-ssa-store-merging.c (merged_store_group::apply_stores): Fix arguments to clear_bit_region_be. From-SVN: r254228
Jakub Jelinek committed -
gcc/ * gimplify.c: Include memmodel.h. From-SVN: r254227
James E Wilson committed -
* include/std/fstream (basic_ifstream, basic_ofstream, basic_fstream): Remove outdated comments about calling c_str() to create a file stream from a std::string. (basic_ofstream::basic_ofstream, basic_ofstream::open): Remove redundant ios_mode::trunc bits from default arguments and comments. From-SVN: r254226
Jonathan Wakely committed -
2017-10-30 Martin Jambor <mjambor@suse.cz> * omp-grid.c (grid_attempt_target_gridification): Also insert a condition whether loop should be executed at all. From-SVN: r254225
Martin Jambor committed -
* doc/xml/faq.xml: Adjust "What is libstdc++?" answer slightly. From-SVN: r254224
Jonathan Wakely committed -
* include/bits/hashtable_policy.h: Include <tuple>. * include/std/unordered_map: Only include <bits/stl_pair.h> instead of <utility> and <tuple>. * include/std/unordered_set: Likewise. From-SVN: r254223
Jonathan Wakely committed -
* include/debug/array (get(const array<_Tp, _Nm>&&)): New. * include/std/array (get(const array<_Tp, _Nm>&&)): Likewise. * include/std/tuple (get(const tuple<_Elements...>&&)): Likewise. (get(const tuple<_Types...>&&)): Likewise. * include/std/utility (__pair_get::__const_move_get(const std::pair<_Tp1, _Tp2>&&)): Likewise. (get(const std::pair<_Tp1, _Tp2>&&)): Likewise. (get(const pair<_Tp, _Up>&&)): Likewise. (get(const pair<_Up, _Tp>&&)): Likewise. * testsuite/20_util/pair/astuple/get.cc: Add tests for new overloads. * testsuite/20_util/pair/astuple/get_by_type.cc: Likewise. * testsuite/20_util/tuple/element_access/get2.cc: Likewise. * testsuite/20_util/tuple/element_access/get2_by_type.cc: Likewise. * testsuite/23_containers/array/tuple_interface/get.cc: Likewise. * testsuite/23_containers/array/tuple_interface/tuple_element_debug_neg.cc: Adjust. * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc: Likewise. From-SVN: r254222
Ville Voutilainen committed -
[gcc] 2017-10-30 Will Schmidt <will_schmidt@vnet.ibm.com> * config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add support for gimple folding of vec_madd() intrinsics. * config/rs6000/altivec.md (mulv8hi3): Rename altivec_vmladduhm to fmav8hi4. (altivec_vmladduhm): Rename to fmav8hi4. * config/rs6000/rs6000-builtin.def: Rename vmladduhm to fmav8hi4 From-SVN: r254221
Will Schmidt committed -
2017-10-30 Will Schmidt <will_schmidt@vnet.ibm.com> * gcc.target/powerpc/fold-vec-perm-longlong.c: Update to use long long types for testcase arguments. From-SVN: r254220
Will Schmidt committed -
2017-10-30 Richard Biener <rguenther@suse.de> PR lto/82757 * simple-object-elf.c (simple_object_elf_copy_lto_debug_sections): Strip two leading _s from the __gnu_lto_* symbols. From-SVN: r254219
Richard Biener committed -
2017-10-30 Richard Biener <rguenther@suse.de> PR tree-optimization/82762 Revert 2017-10-23 Richard Biener <rguenther@suse.de> PR tree-optimization/82129 Revert 2017-08-01 Richard Biener <rguenther@suse.de> PR tree-optimization/81181 * tree-ssa-pre.c (compute_antic_aux): Defer clean() to ... (compute_antic): ... end of iteration here. * gcc.dg/torture/pr82762.c: New testcase. From-SVN: r254218
Richard Biener committed
-