- 02 Mar, 2017 4 commits
-
-
PR libstdc++/79789 * include/bits/hashtable_policy.h (__clp2): Use reserved names for parameters and local variables. * include/bits/ios_base.h (make_error_code, make_error_condition): Likewise. * include/bits/list.tcc (list::sort): Likewise. * include/bits/mask_array.h (mask_array): Likewise. * include/bits/regex.h (regex_token_iterator): Likewise. * include/bits/slice_array.h (slice_array): Likewise. * include/bits/stl_algo.h (__sample): Likewise. * include/std/memory (undeclare_no_pointers): Likewise. * include/std/type_traits (is_callable_v, is_nothrow_callable_v): Likewise. * libsupc++/exception_ptr.h (__dest_thunk): Likewise. * testsuite/17_intro/headers/names.cc: New test. From-SVN: r245828
Jonathan Wakely committed -
PR libstdc++/79798 * include/std/functional (bind::_Res_type_impl): Fix incorrect use of result_of that loses top-level cv-qualifiers. * testsuite/20_util/bind/79798.cc: New test. From-SVN: r245827
Jonathan Wakely committed -
Class template argument deduction in new-expression * init.c (build_new): Handle deduction from no initializer. * parser.c (cp_parser_new_expression): Don't require a single expression for class template deduction. * typeck2.c (cxx_incomplete_type_diagnostic): Fix diagnostic for class template placeholder. * pt.c (tsubst_copy) [TEMPLATE_DECL]: Handle dependent context. (tsubst_copy_and_build) [TEMPLATE_ID_EXPR]: Handle SCOPE_REF. (redeclare_class_template): Set TEMPLATE_TYPE_PARM_FOR_CLASS. From-SVN: r245826
Jason Merrill committed -
From-SVN: r245825
GCC Administrator committed
-
- 01 Mar, 2017 18 commits
-
-
gcc/ChangeLog: PR middle-end/79692 * gimple-ssa-sprintf.c (directive::known_width_and_precision): New function. (format_integer): Use it. (get_mpfr_format_length): Consider the full range of precision when computing %g output with the # flag. Set the likely byte count to 3 rather than 1 when precision is indeterminate. (format_floating): Correct the lower bound of precision. gcc/testsuite/ChangeLog: PR middle-end/79692 * gcc.dg/tree-ssa/builtin-sprintf-2.c: Add test cases. * gcc.dg/tree-ssa/builtin-sprintf-warn-10.c: Correct %#g. * gcc.dg/tree-ssa/builtin-sprintf-warn-15.c: New test. * gcc.dg/tree-ssa/builtin-snprintf-3.c: Ditto. From-SVN: r245822
Martin Sebor committed -
2017-03-01 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * doc/invoke.texi: Document default code model for 64-bit Linux. From-SVN: r245821
Bill Schmidt committed -
From-SVN: r245820
Joseph Myers committed -
2017-03-01 Aaron Sawdey <acsawdey@linux.vnet.ibm.com> PR target/79752 * config/rs6000/rs6000.md (peephole2 for udiv/umod): Should emit udiv rather than div since input pattern is unsigned. From-SVN: r245817
Aaron Sawdey committed -
* config/i386/i386.c (print_reg): Warn for values of unsupported size in integer register. testsuite/ChangeLog: * gcc.target/i386/invsize-2.c: New test. * gcc.target/i386/invsize-3.c: Ditto. * gcc.target/i386/invsize-4.c: Ditto. * gcc.target/i386/pr66274.c: Expect "unsuported size" warning. * gcc.target/i386/stackalign/asm-1.c: Ditto. From-SVN: r245815
Uros Bizjak committed -
This file was accidentally omitted from the update to the final Go 1.8. From-SVN: r245814
Ian Lance Taylor committed -
[gcc] 2017-03-01 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/79439 * config/rs6000/predicates.md (current_file_function_operand): Do not allow self calls to be local if the function is replaceable. [gcc/testsuite] 2017-03-01 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/79439 * gcc.target/powerpc/pr79439.c: New test. From-SVN: r245813
Michael Meissner committed -
* gcc.target/powerpc/pr79544.c: Add test for vec_vsrad and fix up scan string. From-SVN: r245812
Pat Haugen committed -
gcc/ChangeLog: 2017-03-01 Kelvin Nilsen <kelvin@gcc.gnu.org> PR target/79395 * config/rs6000/altivec.h (vec_ctz and others): Change the preprocessor macro that controls conditional compilation from _ARCH_PWR9 to __POWER9_VECTOR__. (vec_all_ne): Change parameterization of __altivec_scalar_pred macro expansion under preprocessor #ifdef __POWER9_VECTOR__ control (instead of _ARCH_PWR9 control) so that template definition uses power9-specific function. (vec_any_eq): Likewise. (vec_all_ne): Change macro definition to use a power9-specific expansion under #ifdef __POWER9_VECTOR__ control (instead of _ARCH_PWR9 control). (vec_any_eq) Likewise. * config/rs6000/rs6000-builtin.def (CMPNEF): Remove BU_P9V_AV_2 expansion for CMPNEF to remove support for xvcmpnesp instruction. (CMPNED): Remove BU_P9V_AV2 expansion for CMPNED to remove support for xvcmpnedp instruction. (VCMPNEB_P): Replace BU_P9V_AV_P macro expansion with BU_P9V_AV_2 macro expansion so that Power9 implementation of vec_all_ne does not use the AltiVec predicate framework. (VCMPNEH_P): Likewise. (VCMPNEW_P): Likewise. (VCMPNED_P): Likewise. (VCMPNEFP_P): Likewise. (VCMPNEDP_P): Likewise. (VCMPAEB_P): Add BU_P9V_AV_2 macro expansion to change implementation of vec_any_eq to not use AltiVec predicate framework. (VCMPAEH_P): Likewise. (VCMPAEW_P): Likewise. (VCMPAED_P): Likewise. (VCMPAEFP_P): Likewise. (VCMPAEDP_P): Likewise. (VCMPNE_P): Replace BU_P9V_OVERLOAD_P macro expansion with BU_P9V_OVERLOAD_2 so that Power9 implementation of vec_all_ne does not use the AltiVec predicate framework. (VCMPAE_P): Add BU_P9V_OVERLOAD_2 macro to change implementation of vec_any_eq to not use AltiVec predicate framework. * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Add support for predefined __POWER9_VECTOR__ macro to indicate that Power9 instruction selection is enabled. (altivec_overloaded_builtins): Remove extraneous ALTIVEC_BUILTIN_VEC_CMPNE entry for overloaded function argument types RS6000_BTI_bool_V16QI and RS6000_BTI_bool_V16QI. Remove erroneous ALTIVEC_BUILTIN_VEC_CMPNE entry for overloaded function argument types RS6000_BTI_bool_V4SI andRS6000_BTI_bool_V4SI, mapping to P9V_BUILTIN_CMPNEB. Remove two entries mapping to P9V_BUITIN_CMPNED and one entry mapping to P9V_BUILTIN_CMPNEF to force use of instructions not specific to Power9 for implementations of vec_cmpne. Change the signature for all definitions of the overloaded P9V_BUILTIN_VEC_CMPNE_P function (representing vec_all_ne) to remove the previously described first argument of type RS6000_BTI_INTSI, as this was an artifact of reliance on the AltiVec predicate framework, which is no longer used in the implementation of these functions. Add P9V_BUILTIN_VEC_VCMPAE_P entries (representing the vec_anyeq function) to match all of the P9V_BUILTIN_VEC_VCMNE_P entries since, unlike the AltiVec predicate framework implementation, we do not share function descriptors between vec_alle and vec_anyeq. (altivec_resolve_overloaded_builtin): Add SFmode and DFmode to the set of modes that receive special treatment even when TARGET_P9_VECTOR is true. The special treatment emits code that does not depend on Power9 instructions. * config/rs6000/vector.md (vector_ne_<mode>_p): Change this define_expand to not rely on AltiVec predicate framework. (vector_ae_<mode>p): New define_expand to represent vec_any_eq function. (vector_ne_v2di_p): Change this define_expand to not rely on AltiVec predicate framework. (vector_ae_v2di_p): New define_expand to represent vec_any_eq function. (vector_ne_<mode>_p): Change this define_expand to not rely on AltiVec predicate framework. (vector_ae_<mode>p): New define_expand to represent vec_any_eq function. * config/rs6000/vsx.md (*vsx_ne_<mode>_p): For modes VSX_EXTRACT_I (V16QI, V8HI, V4SI), correct a typo in the code emitted for this define_insn pattern. (*vsx_ne_<mode>_p): For modes VSX_F (V4SF and V2DF), remove this define_insn pattern because the xvcmpne<VSs>. instruction is not supported. (vcmpne<VSs>): Remove this define_insn because xvcmpne<VSs> instruction is not supported. gcc/testsuite/ChangeLog: 2017-03-01 Kelvin Nilsen <kelvin@gcc.gnu.org> PR target/79395 * gcc.target/powerpc/vsu/vec-all-ne-10.c: Change scan-assembler pattern to look for vcmpequd. instead of vcmpnew. * gcc.target/powerpc/vsu/vec-all-ne-14.c: Likewise. * gcc.target/powerpc/vsu/vec-all-ne-7.c: Change scan-assembler pattern to look for xvcmpeqsp. instead of xvcmpnesp. * gcc.target/powerpc/vsu/vec-all-ne-8.c: Change scan-assembler to look for xvcmpeqdp. instead of xvcmpnedp. * gcc.target/powerpc/vsu/vec-all-ne-9.c: Change scan-assembler to look for vcmpequd. instead of vcmpnew. * gcc.target/powerpc/vsu/vec-any-eq-10.c: Likewise. * gcc.target/powerpc/vsu/vec-any-eq-14.c: Likewise. * gcc.target/powerpc/vsu/vec-any-eq-7.c: Change scan-assembler to look for xvcmpeqsp. instead of xvcmpnesp. * gcc.target/powerpc/vsu/vec-any-eq-8.c: Change scan-assembler to look for xvcmpeqdp. instead of xvcmpnedp. * gcc.target/powerpc/vsu/vec-any-eq-9.c: Change scan-assembler to look for vcmpequd. instead of vcmpnew. * gcc.target/powerpc/vsu/vec-cmpne-8.c: Change scan-assembler to look for vcmpeqsp instead of xvcmpnesp. * gcc.target/powerpc/vsu/vec-cmpne-9.c: Change scan-assembler to look for xvcmpeqdp instead of xvcmpnedp. From-SVN: r245811
Kelvin Nilsen committed -
* doc/xml/manual/documentation_hacking.xml: Tweak link to doxygen.org. From-SVN: r245808
Gerald Pfeifer committed -
From-SVN: r245806
Jakub Jelinek committed -
2017-03-01 Martin Jambor <mjambor@suse.cz> PR lto/78140 * ipa-prop.h (ipa_bits): Removed field known. (ipa_jump_func): Removed field vr_known. Changed fields bits and m_vr to pointers. Adjusted their comments to warn about their sharing. (ipcp_transformation_summary): Change bits to a vector of pointers. (ipa_check_create_edge_args): Moved to ipa-prop.c, declare. (ipa_get_ipa_bits_for_value): Declare. * tree-vrp.h (value_range): Mark as GTY((for_user)). * ipa-prop.c (ipa_bit_ggc_hash_traits): New. (ipa_bits_hash_table): Likewise. (ipa_vr_ggc_hash_traits): Likewise. (ipa_vr_hash_table): Likewise. (ipa_print_node_jump_functions_for_edge): Adjust for bits and m_vr being pointers and vr_known being removed. (ipa_set_jf_unknown): Likewise. (ipa_get_ipa_bits_for_value): New function. (ipa_set_jfunc_bits): Likewise. (ipa_get_value_range): New overloaded functions. (ipa_set_jfunc_vr): Likewise. (ipa_compute_jump_functions_for_edge): Use the above functions to construct bits and vr parts of jump functions. (ipa_check_create_edge_args): Move here from ipa-prop.h, also allocate ipa_bits_hash_table and ipa_vr_hash_table if they do not already exist. (ipcp_grow_transformations_if_necessary): Also allocate ipa_bits_hash_table and ipa_vr_hash_table if they do not already exist. (ipa_node_params_t::duplicate): Do not copy bits, just pointers to them. Fix too long lines. (ipa_write_jump_function): Adjust for bits and m_vr being pointers and vr_known being removed. (ipa_read_jump_function): Use new setter functions to construct bits and vr parts of jump functions or set them to NULL. (write_ipcp_transformation_info): Adjust for bits being pointers. (read_ipcp_transformation_info): Likewise. (ipcp_update_bits): Likewise. Fix excessively long lines a trailing space. Include gt-ipa-prop.h. * ipa-cp.c (propagate_bits_across_jump_function): Adjust for bits being pointers. (ipcp_store_bits_results): Likewise. (propagate_vr_across_jump_function): Adjust for m_vr being a pointer. Do not write to existing jump functions but use a temporary instead. From-SVN: r245805
Martin Jambor committed -
PR c++/79681 * fold-const.c (make_bit_field_ref): If orig_inner is COMPONENT_REF, attempt to use its first operand as BIT_FIELD_REF base. * g++.dg/cpp1y/constexpr-79681-1.C: New test. * g++.dg/cpp1y/constexpr-79681-2.C: New test. From-SVN: r245804
Jakub Jelinek committed -
2017-03-01 Richard Biener <rguenther@suse.de> PR middle-end/79721 * tree-chrec.c (chrec_evaluate): Perform computation of Newtons interpolating formula in wrapping arithmetic. (chrec_apply): Convert chrec_evaluate return value to wanted type. * gcc.dg/torture/pr79721.c: New testcase. From-SVN: r245803
Richard Biener committed -
PR c++/79746 * init.c (emit_mem_initializers): When not constructing vbases of abstract classes, mark arguments as read for -Wunused-but-set-parameter. * g++.dg/warn/Wunused-parm-9.C: New test. From-SVN: r245802
Jakub Jelinek committed -
PR tree-optimization/79734 * tree-vect-generic.c (expand_vector_condition): Optimize AVX512 vector boolean VEC_COND_EXPRs into bitwise operations. Handle VEC_COND_EXPR where comparison has different inner width from type's inner width. * g++.dg/opt/pr79734.C: New test. From-SVN: r245801
Jakub Jelinek committed -
2017-02-28 Sandra Loosemore <sandra@codesourcery.com> gcc/ * doc/invoke.texi (ARC Options): Copy-edit to fix punctuation, markup, and similar issues. Remove @opindex entries for things that aren't options. Add missing -mmpy-option entries. From-SVN: r245800
Sandra Loosemore committed -
From-SVN: r245799
GCC Administrator committed
-
- 28 Feb, 2017 18 commits
-
-
* call.c (joust): Move deduction guide tiebreaker down. * decl.c (start_decl_1, cp_finish_decl, grokdeclarator): Allow class deduction with no initializer. * pt.c (build_deduction_guide): Handle implicit default/copy ctor. (do_class_deduction): Use that rather than special case. (do_auto_deduction): Handle null initializer. From-SVN: r245796
Jason Merrill committed -
re PR tree-optimization/79737 (wrong code at -O2 and -O3 on x86_64-linux-gnu (in both 32-bit and 64-bit modes)) PR tree-optimization/79737 * gimple-ssa-store-merging.c (encode_tree_to_bitpos): If bitlen is a multiple of BITS_PER_UNIT and !BYTES_BIG_ENDIAN, clear tmpbuf[byte_size - 1]. Call natice_encode_expr with byte_size - 1 instead of byte_size. Formatting fix. (shift_bytes_in_array_right): Formatting fix. * gcc.c-torture/execute/pr79737-1.c: New test. * gcc.c-torture/execute/pr79737-2.c: New test. From-SVN: r245795
Jakub Jelinek committed -
Fixes Solaris build. Patch by Rainer Orth. Reviewed-on: https://go-review.googlesource.com/37587 From-SVN: r245794
Ian Lance Taylor committed -
PR target/79749 * config/sparc/sparc.c (sparc_frame_pointer_required): Add missing condition on optimize for the leaf function test. From-SVN: r245791
Eric Botcazou committed -
2017-02-28 Martin Liska <mliska@suse.cz> PR lto/79625 * read-rtl-function.c (function_reader::handle_unknown_directive): Bail out when one uses -flto. From-SVN: r245790
Martin Liska committed -
2017-02-28 Martin Liska <mliska@suse.cz> * c.opt: Replace space with tabular for options of <number> type. 2017-02-28 Martin Liska <mliska@suse.cz> * common.opt: Replace space with tabular for options of <number> type. * config/i386/i386.opt: Show <number> value for -mlarge-data-threshold. * opts.c (print_filtered_help): Do not display number in hexadecimal format. From-SVN: r245789
Martin Liska committed -
2017-02-28 Martin Liska <mliska@suse.cz> * common.opt: Fix --help=option -Q for options which are of an enum type. 2017-02-28 Martin Liska <mliska@suse.cz> * c.opt: Fix --help=option -Q for options which are of an enum type. From-SVN: r245788
Martin Liska committed -
2017-02-28 Paul Thomas <pault@gcc.gnu.org> PR fortran/79739 * resolve.c (resolve_fl_procedure): Deal with the case where 'submodule_name' is NULL so that gfc_error does not ICE. Reformat the error message to make it more consistent. From-SVN: r245787
Paul Thomas committed -
* config/i386/i386.c (print_reg): Error out for values of 8-bit size in invalid integer register. testsuite/ChangeLog: * gcc.target/i386/invsize-1.c: New test. From-SVN: r245785
Uros Bizjak committed -
gcc/ChangeLog: PR tree-optimization/79691 * passes.def (pass_all_optimizations_g): Enable pass_sprintf_length. gcc/testsuite/ChangeLog: PR tree-optimization/79691 * gcc.dg/tree-ssa/pr79691.c: New test. From-SVN: r245782
Martin Sebor committed -
PR target/79729 * config/i386/i386.c (ix86_print_operand) <case 'R'>: Replace gcc_unreachable with output_operand_lossage. * gcc.target/i386/pr79729.c: New test. From-SVN: r245781
Jakub Jelinek committed -
re PR tree-optimization/79740 (ICE on -Os and above in both 32-bit and 64-bit modes on x86_64-linux-gnu (internal compiler error: in VN_INFO_GET, at tree-ssa-sccvn.c:407 })) 2017-02-28 Richard Biener <rguenther@suse.de> PR tree-optimization/79740 * tree-ssa-sccvn.c (vn_nary_op_insert_into): Allow redundant inserts. (visit_nary_op): Insert the nary into the hashtable if we pattern-matched sth. * tree-ssa-pre.c (eliminate_insert): Robustify. * gcc.dg/torture/pr79740.c: New testcase. From-SVN: r245780
Richard Biener committed -
2017-02-28 Richard Biener <rguenther@suse.de> PR middle-end/79731 * fold-const.c (decode_field_reference): Reject out-of-bound accesses. * c-c++-common/torture/pr79731.c: New testcase. From-SVN: r245779
Richard Biener committed -
* config/i386/i386.c: Include intl.h. (ix86_option_override_internal): Use cond ? G_("...") : G_("...") instead of just cond ? "..." : "...". * config/nvptx/nvptx.c (nvptx_goacc_validate_dims): Likewise. * coverage.c (read_counts_file): Likewise. * omp-offload.c: Include intl.h. (oacc_loop_fixed_partitions): Use cond ? G_("...") : G_("...") instead of just cond ? "..." : "...". * gcov.c (read_count_file): Use cond ? N_("...") : N_("...") instead of just cond ? "..." : "...". c/ * c-parser.c (c_parser_asm_statement): Use cond ? G_("...") : G_("...") instead of just cond ? "..." : "...". (c_parser_oacc_enter_exit_data): Use %s and ternary operator only for "enter"/"exit" keyword. (c_finish_oacc_routine): Don't use %s to supply portions of the message. cp/ * decl.c (find_decomp_class_base): Use cond ? G_("...") : G_("...") instead of just cond ? "..." : "...". (grokdeclarator): Likewise. (build_enumerator): Likewise. * init.c (build_new_1): Likewise. * call.c (build_new_method_call_1): Likewise. * parser.c: Include intl.h. (cp_parser_oacc_enter_exit_data): Use %s and ternary operator only for "enter"/"exit" keyword. (cp_finalize_oacc_routine): Don't use %s to supply portions of the message. fortran/ * parse.c (parse_critical_block): Use cond ? G_("...") : G_("...") instead of just cond ? "..." : "...". * scanner.c (gfc_next_char_literal): Likewise. * match.c (match_exit_cycle): Likewise. From-SVN: r245778
Jakub Jelinek committed -
The use of &[1]uintptr{fn} was causing sigfwd to allocate memory, even though it is being compiled for the runtime package. That is a bad idea for this function, which is invoked by a signal handler. Rewrite it to use only constructs that do not allocate memory when compiled for the runtime package. The test for this is misc/cgo/testcarchive in the main repo, which we don't yet test. Reviewed-on: https://go-review.googlesource.com/37454 From-SVN: r245777
Ian Lance Taylor committed -
The quoting was causing us to never add the system-specific signals. The test for this is misc/cgo/testcarchive in the master repo, which we don't yet run for gccgo. Reviewed-on: https://go-review.googlesource.com/37453 From-SVN: r245776
Ian Lance Taylor committed -
Due to an oversight, the changes to use the new CPU generation tables forgot to handle selecting a scheduler for a CPU other than the named CPU target. This meant that if, say, cortex-a12 was used, the null scheduler was chosen rather than cortex-a17's scheduler as intended. The fix is to correctly use the 'tune for' field when generating the target-specific data files. This revealed a spelling mistake in the name of the tune target in cortex-m0.small-multiply. PR target/79742 * config/arm/parsecpu.awk (gen_data): Set tuning target to 'tune for' entry, if present. * config/arm/arm-cpus.in (cortex-m0plus.small-multiply): Correct 'tune for' CPU name. * config/arm/arm-cpu-data.h: Regenerated. From-SVN: r245775
Richard Earnshaw committed -
* update_web_docs_svn: Remove a reference to GCC 3.1. Describe settings to tweak if running on a host different from gcc.gnu.org. (WWWBASE): Allow override via the environment. Also check for existance. From-SVN: r245774
Gerald Pfeifer committed
-