- 02 Sep, 2016 5 commits
-
-
This patch adds foreach, max and min methods to class typed_splay_tree, along with the start of a selftest suite. gcc/ChangeLog: * Makefile.in (OBJS): Add typed-splay-tree.o. * selftest-run-tests.c (selftest::run_tests): Call typed_splay_tree_c_tests. * selftest.h (typed_splay_tree_c_tests): New decl. * typed-splay-tree.c: New file. * typed-splay-tree.h (typed_splay_tree::foreach_fn): New typedef. (typed_splay_tree::max): New method. (typed_splay_tree::min): New method. (typed_splay_tree::foreach): New method. (typed_splay_tree::closure): New struct. (typed_splay_tree::inner_foreach_fn): New function. From-SVN: r239958
David Malcolm committed -
* acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Check for presence of setrlimit on both native and cross targets. * configure: Regenerate. From-SVN: r239955
Maxim Kuvyrkov committed -
2016-09-02 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> * ipa-cp.c (ipcp_store_bits_results): Change option name from -fipa-cp-bit to -fipa-bit-cp. From-SVN: r239954
Prathamesh Kulkarni committed -
PR tree-optimization/71831 - __builtin_object_size poor results with no optimization gcc/testsuite/ChangeLog: PR tree-optimization/71831 * gcc.dg/builtin-object-size-16.c: New test. * gcc.dg/builtin-object-size-17.c: New test. gcc/ChangeLog: PR tree-optimization/71831 * tree-object-size.h: Return bool instead of the size and add argument for the size. * tree-object-size.c (compute_object_offset): Update signature. (addr_object_size): Same. (compute_builtin_object_size): Return bool instead of the size and add argument for the size. Handle POINTER_PLUS_EXPR when optimization is disabled. (expr_object_size): Adjust. (plus_stmt_object_size): Adjust. (pass_object_sizes::execute): Adjust. * builtins.c (fold_builtin_object_size): Adjust. * doc/extend.texi (Object Size Checking): Update. * ubsan.c (instrument_object_size): Adjust. From-SVN: r239953
Martin Sebor committed -
From-SVN: r239952
GCC Administrator committed
-
- 01 Sep, 2016 21 commits
-
-
c-ada-spec.c (dump_ada_function_declaration): Increase buffer size to guarantee it fits the output of the formatted function... gcc/c-family/ChangeLog: * c-ada-spec.c (dump_ada_function_declaration): Increase buffer size to guarantee it fits the output of the formatted function regardless of its arguments. gcc/cp/ChangeLog: * mangle.c: Increase buffer size to guarantee it fits the output of the formatted function regardless of its arguments. gcc/go/ChangeLog: * gofrontend/expressions.cc: Increase buffer size to guarantee it fits the output of the formatted function regardless of its arguments. gcc/java/ChangeLog: * decl.c (give_name_to_locals): Increase buffer size to guarantee it fits the output of the formatted function regardless of its arguments. * mangle_name.c (append_unicode_mangled_name): Same. gcc/ChangeLog: * genmatch.c (parser::parse_expr): Increase buffer size to guarantee it fits the output of the formatted function regardless of its arguments. * gcc/genmodes.c (parser::parse_expr): Same. * gimplify.c (gimplify_asm_expr): Same. * passes.c (pass_manager::register_one_dump_file): Same. * print-tree.c (print_node): Same. From-SVN: r239949
Martin Sebor committed -
* config/rs6000/altivec.md: Use VSCR_REGNO instead of 110 throughout. From-SVN: r239948
Segher Boessenkool committed -
* config/rs6000/altivec.md: Use VRSAVE_REGNO instead of 109 throughout. From-SVN: r239947
Segher Boessenkool committed -
* config/rs6000/altivec.md: Use CR6_REGNO instead of 74 throughout. * config/rs6000/vector.md: Ditto. * config/rs6000/vsx.md: Ditto. From-SVN: r239946
Segher Boessenkool committed -
2016-09-01 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/77393 * gfortran.dg/fmt_f0_2.f90: Update tests for available kinds. From-SVN: r239945
Jerry DeLisle committed -
* gcc.dg/torture/float128-builtin.c, gcc.dg/torture/float128-floath.c, gcc.dg/torture/float128-ieee-nan.c, gcc.dg/torture/float128-tg-2.c, gcc.dg/torture/float128-tg.c, gcc.dg/torture/float128x-builtin.c, gcc.dg/torture/float128x-floath.c, gcc.dg/torture/float128x-nan.c, gcc.dg/torture/float128x-tg-2.c, gcc.dg/torture/float128x-tg.c, gcc.dg/torture/float16-builtin.c, gcc.dg/torture/float16-floath.c, gcc.dg/torture/float16-nan.c, gcc.dg/torture/float16-tg-2.c, gcc.dg/torture/float16-tg.c, gcc.dg/torture/float32-builtin.c, gcc.dg/torture/float32-floath.c, gcc.dg/torture/float32-nan.c, gcc.dg/torture/float32-tg-2.c, gcc.dg/torture/float32-tg.c, gcc.dg/torture/float32x-builtin.c, gcc.dg/torture/float32x-floath.c, gcc.dg/torture/float32x-nan.c, gcc.dg/torture/float32x-tg-2.c, gcc.dg/torture/float32x-tg.c, gcc.dg/torture/float64-builtin.c, gcc.dg/torture/float64-floath.c, gcc.dg/torture/float64-nan.c, gcc.dg/torture/float64-tg-2.c, gcc.dg/torture/float64-tg.c, gcc.dg/torture/float64x-builtin.c, gcc.dg/torture/float64x-floath.c, gcc.dg/torture/float64x-nan.c, gcc.dg/torture/float64x-tg-2.c, gcc.dg/torture/float64x-tg.c: Use dg-add-options ieee. From-SVN: r239944
Uros Bizjak committed -
* ipa-inline-analysis.c (param_change_prob): Get to the base object first in all cases. From-SVN: r239943
Eric Botcazou committed -
Various patterns use "register_operand" "l" (or "=l") although those patterns are only created refering to LR_REGNO directly. This patch changes those patterns to use the hard regs as well. * config/rs6000/rs6000.md (*restore_gpregs_<mode>_r11, *restore_gpregs_<mode>_r12, *restore_gpregs_<mode>_r1, *return_and_restore_gpregs_<mode>_r11, *return_and_restore_gpregs_<mode>_r12, *return_and_restore_gpregs_<mode>_r1, *return_and_restore_fpregs_<mode>_r11, *return_and_restore_fpregs_<mode>_r12, *return_and_restore_fpregs_<mode>_r1): Use the hard register LR_REGNO directly instead of via the "l" constraint. Renumber operands. Fix whitespace. From-SVN: r239942
Segher Boessenkool committed -
Many places still use 65 instead of the symbolic constant LR_REGNO. This fixes them all (I looked for the string "65" only, in config/rs6000/ only, I didn't read all code :-) ) I left it in *restore_world because Iain will remove it there soon. * config/rs6000/altivec.md (*save_world, *save_vregs_<mode>_r11, save_vregs_<mode>_r12, *restore_vregs_<mode>_r11, *restore_vregs_<mode>_r12): Use LR_REGNO instead of 65. * config/rs6000/darwin.md (load_macho_picbase, load_macho_picbase_si, load_macho_picbase_di, *call_indirect_nonlocal_darwin64, *call_nonlocal_darwin64, *call_value_indirect_nonlocal_darwin64, *call_value_nonlocal_darwin64, reload_macho_picbase, reload_macho_picbase_si, reload_macho_picbase_di): Ditto. * config/rs6000/rs6000.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Ditto. * config/rs6000/rs6000.md (*save_gpregs_<mode>_r11, *save_gpregs_<mode>_r12, *save_gpregs_<mode>_r1, *save_fpregs_<mode>_r11, *save_fpregs_<mode>_r12, *save_fpregs_<mode>_r1): Ditto. * config/rs6000/spe.md (*save_gpregs_spe, *restore_gpregs_spe, *return_and_restore_gpregs_spe): Ditto. From-SVN: r239941
Segher Boessenkool committed -
This should fix r239866 for AIX. I missed two patterns that refer to LR as "register_operand" "l" instead of as reg:P LR_REGNO. * config/rs6000/rs6000.md (define_insn "*return_and_restore_fpregs_aix_<mode>_r11"): Delete the use of the link register. (define_insn "*return_and_restore_fpregs_aix_<mode>_r1"): Ditto. From-SVN: r239940
Segher Boessenkool committed -
PR c/7652 gcc/c-family/ * c-common.c (resolve_overloaded_builtin): Fix formatting. Add FALLTHRU comments. gcc/c/ * c-typeck.c (composite_type): Add FALLTHRU comment. gcc/gcc/cp/ * error.c (dump_type): Fix falls through comment. (dump_decl): Likewise. (dump_expr): Likewise. From-SVN: r239939
Marek Polacek committed -
2016-09-01 Bill Schmidt <wschmidt@linux.vnet.ibm.com> Michael Meissner <meissner@linux.vnet.ibm.com> PR target/72827 * config/rs6000/rs6000.c (rs6000_legitimize_address): Avoid reg+reg addressing for TImode. (rs6000_legitimate_address_p): Only allow register indirect addressing for TImode, even without TARGET_QUAD_MEMORY. Co-Authored-By: Michael Meissner <meissner@linux.vnet.ibm.com> From-SVN: r239938
Bill Schmidt committed -
2016-09-01 Richard Biener <rguenther@suse.de> PR middle-end/77436 * tree-chrec.c (tree_fold_binomial): Use widest_int, properly check whether the result fits the desired result type. * gcc.dg/torture/pr77436.c: New testcase. From-SVN: r239937
Richard Biener committed -
From-SVN: r239934
Nathan Sidwell committed -
This patch adds legitimize_address_displacement hook so that stack accesses with large offsets are split into a more efficient sequence. Unaligned and TI/TFmode use a 256-byte range, byte and halfword accesses use a 4KB range, wider accesses use a 16KB range to maximise the available addressing range and increase opportunities to share the base address. int f(int x) { int arr[8192]; arr[4096] = 0; arr[6000] = 0; arr[7000] = 0; arr[8191] = 0; return arr[x]; } Now generates: sub sp, sp, #32768 add x1, sp, 16384 str wzr, [x1] str wzr, [x1, 7616] str wzr, [x1, 11616] str wzr, [x1, 16380] ldr w0, [sp, w0, sxtw 2] add sp, sp, 32768 ret gcc/ * config/aarch64/aarch64.c (aarch64_legitimize_address_displacement): New function. (TARGET_LEGITIMIZE_ADDRESS_DISPLACEMENT): Define. From-SVN: r239923
Wilco Dijkstra committed -
gcc/testsuite/ 2016-09-01 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> * gcc.dg/pr64252.c: Require int32plus. * gcc.dg/pr66299-1.c: Likewise. * gcc.dg/pr66299-2.c: Likewise. * gcc.dg/torture/20131115-1.c: Skip for avr. From-SVN: r239921
Senthil Kumar Selvaraj committed -
* config/aarch64/aarch64.md (*ands<mode>_compare0): New pattern. * config/aarch64/aarch64.c (aarch64_select_cc_mode): Return CC_NZmode for comparisons of integer ZERO_EXTEND against zero. * gcc.target/aarch64/ands_3.c: New test. From-SVN: r239919
Kyrylo Tkachov committed -
* config/i386/i386.c (ix86_option_override_internal): Also disable the STV pass if -mstackrealign is enabled. From-SVN: r239916
Eric Botcazou committed -
* g++.dg/cpp0x/explicit12.C: Add -save-temps. From-SVN: r239913
Jason Merrill committed -
In r237714 I added fix-it hints to the C frontend for missing "struct" keywords e.g.: spellcheck-typenames.c:69:1: error: unknown type name ‘foo_t’; use ‘struct’ keyword to refer to the type foo_t *foo_ptr; ^~~~~ struct However when using the (not yet in trunk) option -fdiagnostics-generate-patch, the generated patch is nonsensical: -foo_t *foo_ptr; +structfoo_t *foo_ptr; Fix the fix-its by adding a trailing space to each one, giving: -foo_t *foo_ptr; +struct foo_t *foo_ptr; gcc/c/ChangeLog: * c-parser.c (c_parser_declaration_or_fndef): Add trailing space to the insertion fixits for "struct", "union", and "enum". From-SVN: r239912
David Malcolm committed -
From-SVN: r239911
GCC Administrator committed
-
- 31 Aug, 2016 14 commits
-
-
gcc/ * config/i386/driver-i386.c (host_detect_local_cpu): Fix detection of AVX512IFMA. From-SVN: r239908
Ilya Verbin committed -
The diagnostic_show_locus implementation determines the set of line spans that need printing based on the ranges within the rich_location (in layout::calculate_line_spans). Currently this doesn't take into account fix-it hints, and hence we fail to print fix-it hints that are on lines outside of those ranges. This patch updates the implementation to take fix-it hints into account when calculating the pertinent line spans, so that such fix-it hints do get printed. It also adds some validation, to ensure that we don't attempt to print fix-its hints affecting a different source file. gcc/ChangeLog: * diagnostic-show-locus.c (class layout): Add field m_fixit_hints. (layout_range::intersects_line_p): New method. (test_range_contains_point_for_single_point): Rename to... (test_layout_range_for_single_point): ...this, and add testing for layout_range::intersects_line_p. (test_range_contains_point_for_single_line): Rename to... (test_layout_range_for_single_line): ...this, and add testing for layout_range::intersects_line_p. (test_range_contains_point_for_multiple_lines): Rename to... (test_layout_range_for_multiple_lines): ...this, and add testing for layout_range::intersects_line_p. (layout::layout): Populate m_fixit_hints. (layout::get_expanded_location): Handle the case of a line-span for a fix-it hint. (layout::validate_fixit_hint_p): New method. (get_line_span_for_fixit_hint): New function. (layout::calculate_line_spans): Add spans for fixit-hints. (layout::should_print_annotation_line_p): New method. (layout::print_any_fixits): Drop param "richloc", instead using validated fixits in m_fixit_hints. Add "const" to hint pointers. (diagnostic_show_locus): Avoid printing blank annotation lines. (selftest::test_diagnostic_context::test_diagnostic_context): Initialize show_column and start_span. (selftest::test_diagnostic_context::start_span_cb): New static function. (selftest::test_diagnostic_show_locus_fixit_lines): New function. (selftest::diagnostic_show_locus_c_tests): Update for function renamings. Call test_diagnostic_show_locus_fixit_lines. libcpp/ChangeLog: * include/line-map.h (class fixit_remove): Remove stray decl. (fixit_hint::affects_line_p): Make const. (fixit_insert::affects_line_p): Likewise. (fixit_replace::affects_line_p): Likewise. * line-map.c (fixit_insert::affects_line_p): Likewise. (fixit_replace::affects_line_p): Likewise. From-SVN: r239906
David Malcolm committed -
PR fortran/77352 * trans-openmp.c (gfc_trans_omp_parallel_workshare): Always add a BIND_EXPR with BLOCK around what gfc_trans_omp_workshare returns. * gfortran.dg/gomp/pr77352.f90: New test. From-SVN: r239904
Jakub Jelinek committed -
PR fortran/77374 * parse.c (parse_omp_oacc_atomic): Copy over cp->ext.omp_atomic to cp->block->ext.omp_atomic. * resolve.c (gfc_resolve_blocks): Assert block with one or two EXEC_ASSIGNs for EXEC_*_ATOMIC. * openmp.c (resolve_omp_atomic): Don't assert one or two EXEC_ASSIGNs, instead return quietly for EXEC_NOPs and otherwise error unexpected statements. * gfortran.dg/gomp/pr77374.f08: New test. From-SVN: r239903
Jakub Jelinek committed -
2016-08-31 Marc Glisse <marc.glisse@inria.fr> PR tree-optimization/73714 gcc/ * match.pd (a * (1 << b)): Revert change from 2016-05-23. gcc/testsuite/ * gcc.dg/tree-ssa/pr73714.c: New test. From-SVN: r239902
Marc Glisse committed -
2016-08-31 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/77393 * gfortran.dg/fmt_f0_2.f90: New test. From-SVN: r239901
Jerry DeLisle committed -
2016-08-31 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/77393 * io/write.c (kind_from_size): New function to calculate required buffer size based on kind type. (select_buffer, select_string): Use new function. (write_float_0, write_real, write_real_g0, write_complex): Adjust calls to pass parameters needed by new function. From-SVN: r239900
Jerry DeLisle committed -
* include/bits/shared_ptr.h (_Assignable): New alias template. (shared_ptr::operator=(const shared_ptr<_Tp1>&)) (shared_ptr::operator=(shared_ptr<_Tp1>&&)) (shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with _Assignable. * include/bits/shared_ptr_base.h (_Assignable): New alias template. (__shared_ptr::operator=(const __shared_ptr<_Tp1>&)) (__shared_ptr::operator=(__shared_ptr<_Tp1>&&)) (__shared_ptr::operator=(unique_ptr<_Tp1>&&)): Constrain with _Assignable. (__shared_ptr::reset(_Tp1*), __shared_ptr::reset(_Tp1*, _Deleter)) (__shared_ptr::reset(_Tp1*, _Deleter, _Alloc)): Constrain with _Convertible. * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Change dg-error to match on any line. * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise. * testsuite/20_util/shared_ptr/assign/sfinae.cc: New test. * testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc: Update expected errors. Remove unnecessary code. * testsuite/20_util/shared_ptr/modifiers/reset_sfinae.cc: New test. From-SVN: r239898
Jonathan Wakely committed -
* include/bits/stl_tree.h (_Rb_tree::operator=(_Rb_tree&&)): Move comparison object. * testsuite/23_containers/set/move_comparison.cc: New test. From-SVN: r239897
Jonathan Wakely committed -
* testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc: New test. From-SVN: r239896
Jonathan Wakely committed -
The default stack size for the gsignal goroutine, 32K, is not enough on ia64. Make sure that the stack size is at least SIGSTKSZ. Reviewed-on: https://go-review.googlesource.com/28224 From-SVN: r239894
Ian Lance Taylor committed -
gcc/ChangeLog: * selftest.c: Move "namespace selftest {" to top of file, removing explicit "selftest::" qualifiers throughout. From-SVN: r239892
David Malcolm committed -
2016-08-31 Marc Glisse <marc.glisse@inria.fr> gcc/ * config/i386/avx512fintrin.h (__m512_u, __m512i_u, __m512d_u): New types. (_mm512_loadu_pd, _mm512_storeu_pd, _mm512_loadu_ps, _mm512_storeu_ps, _mm512_loadu_si512, _mm512_storeu_si512): Replace builtin with vector extension. * config/i386/avxintrin.h (__m256_u, __m256i_u, __m256d_u): New types. (_mm256_loadu_pd, _mm256_storeu_pd, _mm256_loadu_ps, _mm256_storeu_ps, _mm256_loadu_si256, _mm256_storeu_si256): Replace builtin with vector extension. * config/i386/emmintrin.h (__m128i_u, __m128d_u): New types. (_mm_loadu_pd, _mm_storeu_pd, _mm_loadu_si128, _mm_storeu_si128): Replace builtin with vector extension. * config/i386/xmmintrin.h (__m128_u): New type. (_mm_loadu_ps, _mm_storeu_ps): Replace builtin with vector extension. (_mm_load_ps, _mm_store_ps): Simplify. gcc/testsuite/ * gcc.target/i386/pr59539-2.c: Adapt options. * gcc.target/i386/avx512f-vmovdqu32-1.c: Relax expected asm. From-SVN: r239889
Marc Glisse committed -
From-SVN: r239888
Eric Botcazou committed
-