- 27 Aug, 2016 5 commits
-
-
* doc/extend.texi (SPU Built-in Functions): Remove stale references to material formerly at IBM and Sony. From-SVN: r239797
Gerald Pfeifer committed -
2016-08-27 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/77380 * dependency.c (gfc_check_dependency): Do not assert with -fcoarray=lib. 2016-08-27 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/77380 * gfortran.dg/pr77380.f90: New test. From-SVN: r239796
Steven G. Kargl committed -
2016-08-27 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/77372 simplify.c (simplify_ieee_selected_real_kind): Check for NULL pointers. 2016-08-27 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/77372 gfortran.dg/pr77372.f90: New test. From-SVN: r239795
Steven G. Kargl committed -
PR libstdc++/77356 * include/bits/regex_compiler.tcc(_M_insert_bracket_matcher, _M_expression_term): Modify to support dash literal. * include/bits/regex_scanner.h: Add dash as a token type to make a different from the mandated dash literal by escaping. * include/bits/regex_scanner.tcc(_M_scan_in_bracket): Emit dash token in bracket expression parsing. * testsuite/28_regex/regression.cc: Add new testcases. From-SVN: r239794
Tim Shen committed -
From-SVN: r239793
GCC Administrator committed
-
- 26 Aug, 2016 20 commits
-
-
PR target/77349 * config/rs6000/xcoff.h (DWARF_OFFSET_SIZE): Define as PTR_SIZE. From-SVN: r239790
David Edelsohn committed -
The first aspect of this patch is to add some checking of fix-it hints. The idea is to put this checking within the rich_location machinery, rather than requiring every diagnostic to implement it for itself. The fixits within a rich_location are "atomic": all must be valid for any to be applicable. We reject any fixits involving locations above LINE_MAP_MAX_LOCATION_WITH_COLS. There's no guarantee that it's sane to modify a macro, so we reject any fix-its that touch them. For example, note the attempt to provide a fix-it for the definition of the macro FIELD: spellcheck-fields-2.c: In function ‘test_macro’: spellcheck-fields-2.c:26:15: error: ‘union u’ has no member named ‘colour’; did you mean ‘color’? #define FIELD colour ^ color spellcheck-fields-2.c:27:15: note: in expansion of macro ‘FIELD’ return ptr->FIELD; ^~~~~ After this patch, the fixit is not displayed: spellcheck-fields-2.c: In function ‘test_macro’: spellcheck-fields-2.c:26:15: error: ‘union u’ has no member named ‘colour’; did you mean ‘color’? #define FIELD colour ^ spellcheck-fields-2.c:27:15: note: in expansion of macro ‘FIELD’ return ptr->FIELD; ^~~~~ We might want some way for a diagnostic to opt-in to fix-its that affect macros, but for now it's simplest to reject them. The other aspect of this patch is fix-it consolidation: in some cases neighboring fix-its can be merged. For example, in a diagnostic to modernize old-style struct initializers from: struct s example = { - foo: 1, + .foo = 1, }; one approach would be to replace the "foo" with ".foo" and the ":" with " =". This would give two "replace" fix-its: foo: 1, --- FIXIT 1 .foo - FIXIT 2 = This patch allows them to be consolidated into a single "replace" fix-it: foo: 1, ---- .foo = gcc/ChangeLog: * diagnostic-show-locus.c (selftest::test_fixit_consolidation): New function. (selftest::diagnostic_show_locus_c_tests): Call it. * gcc-rich-location.h (gcc_rich_location): Eliminate unused constructor based on source_range. gcc/testsuite/ChangeLog: * gcc.dg/spellcheck-fields-2.c (test): Move dg-begin/end-multiline-output within function body. (test_macro): New function. libcpp/ChangeLog: * include/line-map.h (rich_location): Eliminate unimplemented constructor based on source_range. (rich_location::get_last_fixit_hint): New method. (rich_location::reject_impossible_fixit): New method. (rich_location): Add fields m_line_table and m_seen_impossible_fixit. (fixit_hint::maybe_append_replace): New pure virtual function. (fixit_insert::maybe_append_replace): New function. (fixit_replace::maybe_append_replace): New function. * line-map.c (rich_location::rich_location): Initialize m_line_table and m_seen_impossible_fixit. (rich_location::add_fixit_insert): Call reject_impossible_fixit and bail out if true. (column_before_p): New function. (rich_location::add_fixit_replace): Call reject_impossible_fixit and bail out if true. Attempt to consolidate with neighboring fixits. (rich_location::get_last_fixit_hint): New method. (rich_location::reject_impossible_fixit): New method. (fixit_insert::maybe_append_replace): New method. (fixit_replace::maybe_append_replace): New method. From-SVN: r239789
David Malcolm committed -
Previous, fix-it hints were printed using the color of the severity of the diagnostic (magenta for warnings, red for errors, cyan for notes). This patch updates fix-it hints so that replacement text is printed in green, to better distinguish the suggested improvement from the current code. For example: spellcheck-fields.cc:52:13: error: 'struct s' has no member named 'colour'; did you mean 'color'? return ptr->colour; <<< RED ^~~~~~ <<< RED color <<< GREEN It makes sense for the underlinings that indicate deletions to be printed in red, so the patch changes that also. For example: diagnostic-test-show-locus-color.c:179:9: warning: example of a removal hint int a;; <<< MAGENTA ^ <<< MAGENTA - <<< RED gcc/ChangeLog: * diagnostic-color.c (color_dict): Add "fixit-insert" and "fixit-delete". (parse_gcc_colors): Update description of default GCC_COLORS. * diagnostic-show-locus.c (colorizer::set_fixit_hint): Delete. (colorizer::set_fixit_insert): New method. (colorizer::set_fixit_delete): New method. (colorizer::get_color_by_name): New method. (colorizer::STATE_FIXIT_INSERT): New constant. (colorizer::STATE_FIXIT_DELETE): New constant. (class colorizer): Drop "_cs" suffix from fields. Delete "_ce" fields in favor of new field "m_stop_color". Add fields "m_fixit_insert" and "m_fixit_delete". (colorizer::colorizer): Update for above changes. Replace colorize_start calls with calls to get_color_by_name. (colorizer::begin_state): Handle STATE_FIXIT_INSERT and STATE_FIXIT_DELETE. Update for field renamings. (colorizer::finish_state): Simplify by using m_stop_color, rather than multiple identical "*_ce" fields. (colorizer::get_color_by_name): New method. (layout::print_any_fixits): Print insertions and replacements using the "fixit-insert" color, and deletions using the "fixit-delete" color. * doc/invoke.texi (-fdiagnostics-color): Update description of default GCC_COLORS, and of the supported capabilities. gcc/testsuite/ChangeLog: * gcc.dg/plugin/diagnostic-test-show-locus-color.c (test_fixit_insert): Update expected output. (test_fixit_remove): Likewise. (test_fixit_replace): Likewise. From-SVN: r239787
David Malcolm committed -
* gcc.dg/ipa/propbits-2.c: Add -fdump-tree-optimized to dg-options. Fix typo. From-SVN: r239786
Rainer Orth committed -
This enables options -fstack-usage and -Wstack-usage. 2016-08-26 Max Filippov <jcmvbkbc@gmail.com> gcc/ * config/xtensa/xtensa.c (xtensa_expand_prologue): Update current_function_static_stack_size variable with the static stack frame size of the current function when flag_stack_usage_info is enabled. From-SVN: r239785
Max Filippov committed -
* class.c (default_ctor_p): New. (in_class_defaulted_default_constructor): Use it. (type_has_non_user_provided_default_constructor): Use it. * call.c (build_over_call): Handle trivial default constructor. * cp-tree.h: Declare default_ctor_p. From-SVN: r239783
Jason Merrill committed -
* pt.c (do_type_instantiation): Don't mess with non-user-provided member functions. From-SVN: r239782
Jason Merrill committed -
PR libstdc++/51960 * doc/xml/manual/intro.xml: Document DR 2127 change. * doc/html/*: Regenerate. * include/bits/stl_raw_storage_iter.h (operator=(_Tp&&)): Add. (operator++(), operator++(int)): Use injected class name. * testsuite/20_util/raw_storage_iterator/dr2127.cc: New test. From-SVN: r239781
Jonathan Wakely committed -
* ipa-inline-analysis.c (inline_write_summary): Remove unnecessary assignment inside if condition. From-SVN: r239779
Nathan Sidwell committed -
2016-08-26 Richard Biener <rguenther@suse.de> PR tree-optimization/69047 * tree-ssa.c (maybe_rewrite_mem_ref_base): Handle general bitfield extracts similar to what FRE does. (non_rewritable_mem_ref_base): Likewise. * gcc.dg/pr69047.c: New testcase. From-SVN: r239778
Richard Biener committed -
* testsuite/*: Use { target c++11 } or { target c++14 } instead of using -std in dg-options. From-SVN: r239777
Jonathan Wakely committed -
2016-08-26 Jonathan Wakely <jwakely@redhat.com> Pedro Alves <palves@redhat.com> * testsuite/lib/gdb-test.exp (gdb-dg-runtest): Define wrapper to save and restore dg-interpreter-batch-mode. * testsuite/libstdc++-prettyprinters/prettyprinters.exp: Use gdb-dg-runtest instead of dg-runtest. * testsuite/libstdc++-xmethods/xmethods.exp: Likewise. Co-Authored-By: Pedro Alves <palves@redhat.com> From-SVN: r239776
Jonathan Wakely committed -
In <https://gcc.gnu.org/ml/gcc-bugs/2016-08/msg03233.html>, Nick reported i386-elf and ia64-elf failing to build because of float128_type_node being NULL, but being used by the back end for __float128. The global float128_type_node is only available conditionally, if target hooks indicate TFmode is not only available as a scalar mode and of the right format, but also supported in libgcc. The back-end support, however, expects the type always to be available for __float128 even if the libgcc support is missing. Although a target-specific node could be restored in the case where libgcc support is missing, it seems better to address the missing libgcc support. Thus, this patch enables TFmode soft-fp in libgcc globally for all x86 targets - the only special cases needed being for targets that use soft-fp for SFmode and DFmode, one of which already had the support for TFmode as well (so I based the i[34567]86-*-rtems* configuration on that present for i[34567]86-*-elfiamcu). The i386 implementation of TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P is then removed as no longer needed. I can provide such a patch for ia64 if useful, but am not in a position to test it (and while I'm reasonably confident that enabling this support would be right for ia64-elf and ia64-freebsd, I've no real idea if enabling libgcc support for TFmode, with or without also enabling it for XFmode, would be safe for ia64-vms). Bootstrapped with no regressions on x86_64-pc-linux-gnu. gcc: * config/i386/i386.c (ix86_libgcc_floating_mode_supported_p) (TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P): Remove. * config/i386/i386elf.h (IX86_MAYBE_NO_LIBGCC_TFMODE): Likewise. * config/i386/lynx.h (IX86_MAYBE_NO_LIBGCC_TFMODE): Likewise. * config/i386/netbsd-elf.h (IX86_MAYBE_NO_LIBGCC_TFMODE): Likewise. * config/i386/netbsd64.h (IX86_MAYBE_NO_LIBGCC_TFMODE): Likewise. * config/i386/nto.h (IX86_MAYBE_NO_LIBGCC_TFMODE): Likewise. * config/i386/openbsd.h (IX86_MAYBE_NO_LIBGCC_TFMODE): Likewise. * config/i386/rtemself.h (IX86_NO_LIBGCC_TFMODE): Likewise. * config/i386/vxworks.h (IX86_MAYBE_NO_LIBGCC_TFMODE): Likewise. libgcc: * config.host (i[34567]86-*-* | x86_64-*-*): Enable TFmode soft-fp where not already enabled. From-SVN: r239775
Joseph Myers committed -
2016-08-26 Richard Biener <rguenther@suse.de> java/ * mangle.c (java_mangle_decl): Re-sync with lhd_set_decl_assembler_name. From-SVN: r239774
Richard Biener committed -
* config/abi/pre/gnu.ver (GLIBCXX_3.4, GLIBCXX_3.4.21): Use more precise patterns for basic_string constructors. (GLIBCXX_3.4.23): Export new constructors. * doc/xml/manual/intro.xml: Document LWG 2583 status. * doc/html/*: Regenerate. * include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (basic_string(const basic_string&, size_type, const Alloc&)): Add new constructor for LWG 2583. (basic_string(const basic_string&, size_type, size_type)): Remove default argument. [!_GLIBCXX_USE_CXX11_ABI]: Likewise. * include/bits/basic_string.tcc [!_GLIBCXX_USE_CXX11_ABI]: Define it. * testsuite/21_strings/basic_string/cons/char/8.cc: New test. * testsuite/21_strings/basic_string/cons/wchar_t/8.cc: New test. From-SVN: r239773
Jonathan Wakely committed -
PR target/70473 * config/arm/cortex-a8-neon.md (cortex_a8_vfp_muld): Reduce reservation duration to 15 cycles. (cortex_a8_vfp_macs): Likewise. (cortex_a8_vfp_macd): Likewise. (cortex_a8_vfp_divs): Likewise. (cortex_a8_vfp_divd): Likewise. From-SVN: r239772
Kyrylo Tkachov committed -
* config/arm/arm.c (arm_sets_movw_movt_fusible_p): New function. (aarch_macro_fusion_pair_p): Use above to avoid early return. From-SVN: r239771
Kyrylo Tkachov committed -
2016-08-26 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> Martin Jambhor <mjambor@suse.cz> * common.opt: New option -fipa-bit-cp. * doc/invoke.texi: Document -fipa-bit-cp. * opts.c (default_options_table): Add entry for -fipa-bit-cp. (enable_fdo_optimizations): Check for flag_ipa_bit_cp. * tree-ssa-ccp.h: New header file. * tree-ssa-ccp.c: Include tree-ssa-ccp.h (bit_value_binop_1): Change to bit_value_binop_1 and export it. Replace all occurences of tree parameter by two new params: signop, int. (bit_value_unop_1): Change to bit_value_unop and export it. Replace all occurences of tree parameter by two new params: signop, int. (bit_value_binop): Change call from bit_value_binop_1 to bit_value_binop. (bit_value_assume_aligned): Likewise. (bit_value_unop): Change call from bit_value_unop_1 to bit_value_unop. (do_ssa_ccp): Pass nonzero_p || flag_ipa_cp_bit instead of nonzero_p to ccp_finalize. (ccp_finalize): Skip processing if val->mask == 0. * ipa-cp.c: Include tree-ssa-ccp.h (ipcp_bits_lattice): New class. (ipcp_param_lattice (bits_lattice): New member. (print_all_lattices): Call ipcp_bits_lattice::print. (set_all_contains_variable): Call ipcp_bits_lattice::set_to_bottom. (initialize_node_lattices): Likewise. (propagate_bits_accross_jump_function): New function. (propagate_constants_accross_call): Call propagate_bits_accross_jump_function. (ipcp_propagate_stage): Store parameter types when in_lto_p is true. (ipcp_store_bits_results): New function. (ipcp_driver): Call ipcp_store_bits_results. * ipa-prop.h (ipa_bits): New struct. (ipa_jump_func): Add new member bits of type ipa_bits. (ipa_param_descriptor): Change decl to decl_or_type. (ipa_get_param): Change decl to decl_or_type and assert on PARM_DECL. (ipa_get_type): New function. (ipcp_transformation_summary): New member bits. * ipa-prop.c (ipa_get_param_decl_index_1): s/decl/decl_or_type. (ipa_populate_param_decls): Likewise. (ipa_dump_param): Likewise. (ipa_print_node_jump_functions_for_edge): Pretty-print ipa_bits jump function. (ipa_set_jf_unknown): Set ipa_bits::known to false. (ipa_compute_jump_functions_for_edge): Compute jump function for bits propagation. (ipa_node_params_t::duplicate): Copy src->bits into dst->bits. (ipa_write_jump_function): Add streaming for ipa_bits. (ipa_read_jump_function): Add support for reading streamed ipa_bits. (write_ipcp_transformation_info): Add streaming for ipa_bits summary for ltrans. (read_ipcp_transfomration_info): Add support for reading streamed ipa_bits. (ipcp_update_bits): New function. (ipcp_transform_function): Call ipcp_update_bits. testsuite/ * gcc.dg/ipa/propbits-1.c: New test-case. * gcc.dg/ipa/propbits-2.c: Likewise. * gcc.dg/ipa/propbits-3.c: Likewise. Co-Authored-By: Martin Jambor <mjambor@suse.cz> From-SVN: r239769
Prathamesh Kulkarni committed -
* be.po, da.po, de.po, el.po, es.po, fi.po, fr.po, hr.po, id.po, ja.po, nl.po, ru.po, sr.po, sv.po, tr.po, uk.po, vi.po, zh_CN.po, zh_TW.po: Update. From-SVN: r239767
Joseph Myers committed -
From-SVN: r239766
GCC Administrator committed
-
- 25 Aug, 2016 8 commits
-
-
2016-08-25 Steven g. Kargl <kargl@gcc.gnu.org> PR fortran/77351 * frontend-passes.c (remove_trim,combine_array_constructor): Check for NULL pointer. 2016-08-25 Steven g. Kargl <kargl@gcc.gnu.org> PR fortran/77351 * gfortran.dg/pr77351.f90: New test. From-SVN: r239763
Steven G. Kargl committed -
gcc/ * config/mips/linux.h (MUSL_DYNAMIC_LINKER32): Update. (MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERN32): Update. From-SVN: r239760
Szabolcs Nagy committed -
libgcc/ * config/mips/linux-unwind.h: Use sys/syscall.h. From-SVN: r239759
Szabolcs Nagy committed -
* c-common.c (warn_logical_not_parentheses): Print fixit hints. * c-common.h (warn_logical_not_parentheses): Update declaration. * c-typeck.c (parser_build_binary_op): Pass LHS to warn_logical_not_parentheses. * parser.c (cp_parser_binary_expression): Pass LHS to warn_logical_not_parentheses. * c-c++-common/Wlogical-not-parentheses-2.c: New test. Co-Authored-By: David Malcolm <dmalcolm@redhat.com> From-SVN: r239756
Marek Polacek committed -
From-SVN: r239755
David Edelsohn committed -
2016-08-25 Richard Biener <rguenther@suse.de> * dwarf2out.c (gen_remaining_tmpl_value_param_die_attributes): Only add locations in late dwarf. (gen_scheduled_generic_parms_dies): Do not set early dwarf here. (dwarf2out_early_finish): But do it here. From-SVN: r239753
Richard Biener committed -
PR c/77323 * c-decl.c (declspecs_add_type): Set typespec_word even when __intN or _FloatN or _FloatNx is not supported. (finish_declspecs): Set type to integer_type_node when _FloatN or _FloatNx is not supported. * gcc.dg/pr77323.c: New test. From-SVN: r239752
Marek Polacek committed -
From-SVN: r239751
GCC Administrator committed
-
- 24 Aug, 2016 7 commits
-
-
2016-08-24 Paul Thomas <pault@gcc.gnu.org> PR fortran/77358 * resolve.c (resolve_fl_procedure): Use the correct gfc_charlen for deferred character length module procedures. 2016-08-24 Paul Thomas <pault@gcc.gnu.org> PR fortran/77358 * gfortran.dg/submodule_17.f08: New test. From-SVN: r239740
Paul Thomas committed -
2016-08-24 Michael Collison <michael.collison@linaro.org> Michael Collison <michael.collison@arm.com> * config/arm/arm-modes.def: Add new condition code mode CC_V to represent the overflow bit. * config/arm/arm.c (maybe_get_arm_condition_code): Add support for CC_Vmode. (arm_gen_unlikely_cbranch): New function to generate common rtl conditional branches for overflow patterns. * config/arm/arm-protos.h: Add prototype for arm_gen_unlikely_cbranch. * config/arm/arm.md (addv<mode>4, add<mode>3_compareV, addsi3_compareV_upper): New patterns to support signed builtin overflow add operations. (uaddv<mode>4, add<mode>3_compareC, addsi3_compareV_upper): New patterns to support unsigned builtin add overflow operations. (subv<mode>4, sub<mode>3_compare1): New patterns to support signed builtin overflow subtract operations, (usubv<mode>4): New patterns to support unsigned builtin subtract overflow operations. (negvsi3, negvdi3, negdi2_compare, negsi2_carryin_compare): New patterns to support builtin overflow negate operations. * gcc.target/arm/builtin_saddl.c: New testcase. * gcc.target/arm/builtin_saddll.c: New testcase. * gcc.target/arm/builtin_uaddl.c: New testcase. * gcc.target/arm/builtin_uaddll.c: New testcase. * gcc.target/arm/builtin_ssubl.c: New testcase. * gcc.target/arm/builtin_ssubll.c: New testcase. * gcc.target/arm/builtin_usubl.c: New testcase. * gcc.target/arm/builtin_usubll.c: New testcase. Co-Authored-By: Michael Collison <michael.collison@arm.com> From-SVN: r239739
Michael Collison committed -
PR target/77270 * gcc.dg/tree-ssa/loop-28.c: Also compile on 32bit x86 targets. (dg-options): Use -march=amdfam10 instead of -march=athlon. * gcc.dg/tree-ssa/update-unroll-1.c: Ditto. * gcc.dg/tree-ssa/prefetch-3.c: Ditto. * gcc.dg/tree-ssa/prefetch-4.c: Ditto. * gcc.dg/tree-ssa/prefetch-5.c: Ditto. * gcc.dg/tree-ssa/prefetch-6.c: Ditto. Do not require sse2 effective target. Remove scan-assembler-times directives. * gcc.dg/tree-ssa/prefetch-7.c: Ditto. * gcc.dg/tree-ssa/prefetch-8.c: Ditto. * gcc.dg/tree-ssa/prefetch-9.c: Ditto. From-SVN: r239737
Uros Bizjak committed -
This patch caused a bootstrap failure on AIX. 2016-08-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> Revert 2016-08-23 Dominik Vogt <vogt@linux.vnet.ibm.com> * explow.c (get_dynamic_stack_size): Take known alignment of stack pointer + STACK_DYNAMIC_OFFSET into account when calculating the size needed. From-SVN: r239735
Andreas Krebbel committed -
2016-08-24 Thomas Preud'homme <thomas.preudhomme@arm.com> * doc/fragments.texi (MULTILIB_REUSE): Mention that only options in MULTILIB_OPTIONS should be used. Small wording fixes. * genmultilib: Memorize set of all option combinations in combination_space. Detect if RHS of MULTILIB_REUSE uses an option not found in MULTILIB_OPTIONS by checking if option set is listed in combination_space. Output new and existing error message to stderr. From-SVN: r239734
Thomas Preud'homme committed -
t-aprofile (MULTILIB_MATCHES): Add mapping for -mcpu=cortex-a7, -mfpu=neon-fp16, -mfpu=fpv5-d16 and -mfpu=fp-armv8. 2016-08-24 Thomas Preud'homme <thomas.preudhomme@arm.com> * config/arm/t-aprofile (MULTILIB_MATCHES): Add mapping for -mcpu=cortex-a7, -mfpu=neon-fp16, -mfpu=fpv5-d16 and -mfpu=fp-armv8. Fix typo in -mfpu=vfpv3-d16-fp16 mapping. (MULTILIB_REUSE): Remove reuse rules for option set including -mfpu=fp-armv8 and -mfpu=vfpv4 From-SVN: r239733
Thomas Preud'homme committed -
gcc/testsuite/ 2016-08-24 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> * gcc.c-torture/execute/pr71083.c: Use UINT32_TYPE instead of unsigned int. * gcc.dg/zero_sign_ext_test.c: Require int32plus. From-SVN: r239732
Senthil Kumar Selvaraj committed
-