- 14 Oct, 2018 2 commits
-
-
This patch adjusts one of the c-torture tests to account for the possible lack of divide-by-zero exceptions on certain moxie targets. From-SVN: r265147
Anthony Green committed -
From-SVN: r265146
GCC Administrator committed
-
- 13 Oct, 2018 3 commits
-
-
* dwarf2cfi.c (struct dw_trace_info): Add args_size_defined_for_eh. (notice_args_size): Set it in the current trace if no insn that can throw internally has been seen yet. (connect_traces): When connecting args_size between traces, allow the incoming values not to match if there is an insn setting it before the first insn that can throw internally; in that case, force the creation of a CFI note on this latter insn. From-SVN: r265142
Eric Botcazou committed -
* opt-problem.h (opt_wrapper): Use template-argument-list when naming the base class, because using the injected-class-name was not clearly specified until DR 176. From-SVN: r265140
Jonathan Wakely committed -
From-SVN: r265139
GCC Administrator committed
-
- 12 Oct, 2018 19 commits
-
-
2018-10-12 Olivier Hainque <hainque@adacore.com> * config/rs6000/ibm-ldouble.c: Augment the toplevel guard with defined (__FLOAT128_TYPE__) || defined (__LONG_DOUBLE_128__). From-SVN: r265135
Olivier Hainque committed -
* config/pdp11/pdp11.md (doloop_end): New expander. (doloop_end_insn): renamed from "doloop_end". (addqi3): New pattern. (subqi3): New pattern. * config/pdp11/predicates.md (incdec_operand): New predicate. From-SVN: r265132
Paul Koning committed -
PR middle-end/81376 gcc/ * real.c (format_helper::can_represent_integral_type_p): New function * real.h (format_helper::can_represent_integral_type_p): Ditto. * match.pd: New pattern. gcc/testsuite/ * c-c++-common/pr81376.c: New test. * gcc.target/i386/387-ficom-2.c: Update test. * gcc.target/i386/387-ficom-2.c: Ditto. From-SVN: r265131
Yury Gribov committed -
Add a configure knob for mingw32 and 64 toolchains to default passing --large-address-aware to the linker, when creating 32-bit binaries. -Wl,--disable-large-address-aware can still reverse its effects. for gcc/ChangeLog * configure.ac: Introduce --enable-large-address-aware to define MINGW_DEFAULT_LARGE_ADDR_AWARE. * doc/install.texi: Document it. * configure, config.in: Rebuilt. * config/i386/mingw32.h (LINK_SPEC_LARGE_ADDR_AWARE): Define, based on MINGW_DEFAULT_LARGE_ADDR_AWARE. (LINK_SPEC): Insert it. * config/i386/mingw-264.h: Likewise. From-SVN: r265130
Alexandre Oliva committed -
HAVE_GAS_ALIGNED_COMM is referenced in an initializer in cygming.opt, but it's not guaranteed to be defined by configure, so define it to zero in a cygming-specific header if it's not defined. for gcc/ChangeLog * cygming.h (HAVE_GAS_ALIGNED_COMM): Fallback-define. From-SVN: r265129
Alexandre Oliva committed -
https://gcc.gnu.org/ml/gcc-patches/2018-10/msg00788.html * parser.h (struct cp_parser): Drop implicit_extern_c. * parser.c (cp_debug_parser): Drop implicit_extern_c. (cp_parser_new): Likewise. (cp_parser_translation_unit): Handle implicit extern c here. Call cp_parser_toplevel_declaration. (cp_parser_toplevel_declaration): New, broken out of ... (cp_parser_declaration_seq_opt): ... here. Call it. Drop implicit extern C handling. From-SVN: r265127
Nathan Sidwell committed -
PR fortran/87597 * expr.c (gfc_simplify_expr): Avoid simplifying the 'array' argument to lbound/ubound/lcobound/ ucobound. PR fortran/87597 * gfortran.dg/inline_matmul_24.f90: New. From-SVN: r265126
Tobias Burnus committed -
PR fortran/58787 * decl.c (get_proc_name): Return with error before creating sym_tree. PR fortran/58787 * gfortran.dg/goacc/pr77765.f90: Modify dg-error. * gfortran.dg/interface_42.f90: Ditto. * gfortran.dg/internal_references_1.f90: Ditto. * gfortran.dg/invalid_procedure_name.f90: Ditto. * gfortran.dg/pr65453.f90: Ditto. * gfortran.dg/pr77414.f90: Ditto. * gfortran.dg/pr78741.f90: Ditto. * gfortran.dg/same_name_2.f90: Ditto. From-SVN: r265125
Tobias Burnus committed -
PR rtl-optimization/87600 * ira-lives (non_conflicting_reg_copy_p): Disable for non LRA targets. From-SVN: r265113
Peter Bergner committed -
* doc/md.texi (doloop_end): Document that the pattern code may need to check operand mode. From-SVN: r265102
Paul Koning committed -
* include/Makefile.am: Add new headers. * include/Makefile.in: Regenerate. * include/experimental/bits/net.h: New header for common implementation details of Networking TS. * include/experimental/buffer: New header. * include/experimental/executor: New header. * include/experimental/internet: New header. * include/experimental/io_context: New header. * include/experimental/net: New header. * include/experimental/netfwd: New header. * include/experimental/socket: New header. * include/experimental/timer: New header. * testsuite/experimental/net/buffer/arithmetic.cc: New test. * testsuite/experimental/net/buffer/const.cc: New test. * testsuite/experimental/net/buffer/creation.cc: New test. * testsuite/experimental/net/buffer/mutable.cc: New test. * testsuite/experimental/net/buffer/size.cc: New test. * testsuite/experimental/net/buffer/traits.cc: New test. * testsuite/experimental/net/execution_context/use_service.cc: New test. * testsuite/experimental/net/headers.cc: New test. * testsuite/experimental/net/internet/address/v4/comparisons.cc: New test. * testsuite/experimental/net/internet/address/v4/cons.cc: New test. * testsuite/experimental/net/internet/address/v4/creation.cc: New test. * testsuite/experimental/net/internet/address/v4/members.cc: New test. * testsuite/experimental/net/internet/resolver/base.cc: New test. * testsuite/experimental/net/internet/resolver/ops/lookup.cc: New test. * testsuite/experimental/net/internet/resolver/ops/reverse.cc: New test. * testsuite/experimental/net/timer/waitable/cons.cc: New test. * testsuite/experimental/net/timer/waitable/dest.cc: New test. * testsuite/experimental/net/timer/waitable/ops.cc: New test. From-SVN: r265080
Jonathan Wakely committed -
The popcount expansion uses SIMD instructions acting on 64-bit values. As a result a popcount of a 32-bit integer requires zero-extension before moving the zero-extended value into an FP register. This patch adds support for zero-extended int->FP moves to avoid the redundant uxtw. Similarly, add support for 32-bit zero-extending load->FP register and 32-bit zero-extending FP->FP and FP->int moves. Add a missing 'fp' arch attribute to the related 8/16-bit pattern and fix an incorrect type attribute. To complete zero-extended load support, add a new alternative to load_pair_zero_extendsidi2_aarch64 to support LDP into FP registers too. int f (int a) { return __builtin_popcount (a); } Before: uxtw x0, w0 fmov d0, x0 cnt v0.8b, v0.8b addv b0, v0.8b fmov w0, s0 ret After: fmov s0, w0 cnt v0.8b, v0.8b addv b0, v0.8b fmov w0, s0 ret Passes regress & bootstrap on AArch64. gcc/ * config/aarch64/aarch64.md (zero_extendsidi2_aarch64): Add alternatives to zero-extend between int and floating-point registers. (load_pair_zero_extendsidi2_aarch64): Add alternative for zero-extended ldp into floating-point registers. Add type and arch attributes. (zero_extend<SHORT:mode><GPI:mode>2_aarch64): Add arch attribute. Use f_loads for type attribute. testsuite/ * gcc.target/aarch64/popcnt.c: Test zero-extended popcount. * gcc.target/aarch64/vec_zeroextend.c: Test zero-extended vectors. From-SVN: r265079
Wilco Dijkstra committed -
2018-10-12 Christophe Lyon <christophe.lyon@linaro.org> PR c++/87364 * c-pretty-print.c (c_pretty_printer::constant): Fix typo. From-SVN: r265078
Christophe Lyon committed -
re PR c++/87364 (Pretty print of enumerator never prints the id, always falls back to C-style cast output) PR c++/87364 * c-pretty-print.h (pp_c_type_cast): Prototype. (pp_c_integer_constant): Likewise. * c-pretty-print.c (pp_c_type_cast): No longer static. (pp_c_integer_constant): Likewise. (pp_c_enumeration_constant): Fix loop termination when finding name of constant. No longer returns a value. Call pp_c_integer_constant. (c_pretty_printer::constant): Update for changes to pp_c_enumeration_constant. PR c++/87364 * cxx-pretty-print.c (pp_cxx_enumeration_constant): New function. (cxx_pretty_printer::constant): Use it. From-SVN: r265077
Will Wray committed -
gcc/ChangeLog: * doc/extend.texi (attribute packed): Correct typos. From-SVN: r265076
Martin Sebor committed -
gcc/ChangeLog: * doc/extend.texi (attribute flatten): Mention interaction with noinline. From-SVN: r265075
Martin Sebor committed -
PR target/87156 * cgraphclones.c (cgraph_node::create_version_clone_with_body): Set new_decl virtual flag to zero. From-SVN: r265074
Jan Hubicka committed -
gcc/ChangeLog: * doc/extend.texi (attribute format_arg): Discuss using multiple attributes on a single function. From-SVN: r265073
Martin Sebor committed -
From-SVN: r265072
GCC Administrator committed
-
- 11 Oct, 2018 16 commits
-
-
It's not safe to assume that malloc(n) returns memory aligned to more than n, so when relying on the guaranteed alignment of malloc ensure that the number of bytes allocated is at least as large as the alignment. PR libstdc++/77691 * include/experimental/memory_resource (__resource_adaptor_imp): Do not allocate sizes smaller than alignment when relying on guaranteed alignment. * testsuite/experimental/memory_resource/new_delete_resource.cc: Adjust expected number of bytes allocated for alignof(max_align_t). From-SVN: r265068
Jonathan Wakely committed -
[testsuite] 2018-10-10 Will Schmidt <will_schmidt@vnet.ibm.com> * gcc.target/powerpc/fold-vec-insert-char-p8.c: New. * gcc.target/powerpc/fold-vec-insert-char-p9.c: New. * gcc.target/powerpc/fold-vec-insert-double.c: New. * gcc.target/powerpc/fold-vec-insert-float-p8.c: New. * gcc.target/powerpc/fold-vec-insert-float-p9.c: New. * gcc.target/powerpc/fold-vec-insert-int-p8.c: New. * gcc.target/powerpc/fold-vec-insert-int-p9.c: New. * gcc.target/powerpc/fold-vec-insert-longlong.c: New. * gcc.target/powerpc/fold-vec-insert-short-p8.c: New. * gcc.target/powerpc/fold-vec-insert-short-p9.c: New. From-SVN: r265067
Will Schmidt committed -
[testsuite] * gcc.target/powerpc/fold-vec-extract-char.p7.c: New. * gcc.target/powerpc/fold-vec-extract-char.p8.c: New. * gcc.target/powerpc/fold-vec-extract-char.p9.c: New. * gcc.target/powerpc/fold-vec-extract-double.p7.c: New. * gcc.target/powerpc/fold-vec-extract-double.p8.c: New. * gcc.target/powerpc/fold-vec-extract-double.p9.c: New. * gcc.target/powerpc/fold-vec-extract-float.p7.c: New. * gcc.target/powerpc/fold-vec-extract-float.p8.c: New. * gcc.target/powerpc/fold-vec-extract-float.p9.c: New. * gcc.target/powerpc/fold-vec-extract-int.p7.c: New. * gcc.target/powerpc/fold-vec-extract-int.p8.c: New. * gcc.target/powerpc/fold-vec-extract-int.p9.c: New. * gcc.target/powerpc/fold-vec-extract-longlong.p7.c: New. * gcc.target/powerpc/fold-vec-extract-longlong.p8.c: New. * gcc.target/powerpc/fold-vec-extract-longlong.p9.c: New. * gcc.target/powerpc/fold-vec-extract-short.p7.c: New. * gcc.target/powerpc/fold-vec-extract-short.p8.c: New. * gcc.target/powerpc/fold-vec-extract-short.p9.c: New. From-SVN: r265066
Will Schmidt committed -
[testsuite] 2018-10-11 Will Schmidt <will_schmidt@vnet.ibm.com> * gcc.target/powerpc/fold-vec-select-char.c: New. * gcc.target/powerpc/fold-vec-select-double.c: New. * gcc.target/powerpc/fold-vec-select-float.c: New. * gcc.target/powerpc/fold-vec-select-int.c: New. * gcc.target/powerpc/fold-vec-select-longlong.c: New. * gcc.target/powerpc/fold-vec-select-short.c: New. From-SVN: r265065
Will Schmidt committed -
PR tree-optimization/86829 * match.pd (sin (atan (x))): New simplification rules. (cos (atan (x))): Likewise. * real.c (build_sinatan_real): New function. * real.h (build_sinatan_real): Prototype. PR tree-optimization/86829 * gcc.dg/sinatan-1.c: New test. * gcc.dg/sinatan-2.c: New test. * gcc.dg/sinatan-3.c: New test. From-SVN: r265064
Giuliano Belinassi committed -
[gcc] 2018-10-09 Will Schmidt <will_schmidt@vnet.ibm.com> * config/rs6000/rs6000.c (map_to_integral_tree_type): New helper function. (fold_mergeeo_helper): New helper function. (rs6000_gimple_fold_builtin): Add hooks for vec_mergee and vec_mergeo intrinsics. Correct some whitespace indentation issues. From-SVN: r265063
Will Schmidt committed -
[testsuite] 2018-10-09 Will Schmidt <will_schmidt@vnet.ibm.com> * gcc.target/powerpc/fold-vec-mergeeo-floatdouble.c: New. * gcc.target/powerpc/fold-vec-mergeeo-int.c: New. * gcc.target/powerpc/fold-vec-mergeeo-longlong.c: New. From-SVN: r265062
Will Schmidt committed -
* include/debug/forward_list (forward_list<>::before_begin()): Use C++11 direct initialization. (forward_list<>::begin()): Likewise. (forward_list<>::end()): Likewise. (forward_list<>::cbefore_begin()): Likewise. (forward_list<>::cbegin()): Likewise. (forward_list<>::cend()): Likewise. (forward_list<>::emplace_after<>(const_iterator, _Args&&...)): Likewise. (forward_list<>::insert_after(const_iterator, const _Tp&)): Likewise. (forward_list<>::insert_after(const_iterator, _Tp&&)): Likewise. (forward_list<>::insert_after(const_iterator, size_type, const _Tp&)): Likewise. (forward_list<>::insert_after(const_iterator, initializer_list<>)): Likewise. (forward_list<>::erase_after(const_iterator)): Likewise. (forward_list<>::erase_after(const_iterator, const_iterator)): Likewise and ensure consistent iterator comparison. From-SVN: r265061
François Dumont committed -
* include/bits/forward_list.h (_Fwd_list_iterator<>::operator==): Replace member function with inline friend. (_Fwd_list_iterator<>::operator!=): Likewise. (_Fwd_list_const_iterator<>::operator==): Likewise. (_Fwd_list_const_iterator<>::operator!=): Likewise. (operator==(const _Fwd_list_iterator<>&, const _Fwd_list_const_iterator<>&)): Remove. (operator!=(const _Fwd_list_iterator<>&, const _Fwd_list_const_iterator<>&)): Remove. (forward_list<>::_Node): Take typedef from base type. (forward_list<>::iterator): Likewise. (forward_list<>::const_iterator): Likewise. From-SVN: r265060
François Dumont committed -
2018-10-11 Tobias Burnus <burnus@net-b.de> Revert: 2018-10-09 Tobias Burnus <burnus@net-b.de> PR fortran/83522 * resolve.c (resolve_ref): Reject nonscalar substring references. 2018-10-11 Tobias Burnus <burnus@net-b.de> Revert: 2018-10-09 Tobias Burnus <burnus@net-b.de> PR fortran/83522 * gfortran.dg/actual_array_substr_1.f90: Add dg-error, change to dg-do compile. * gfortran.dg/actual_array_substr_2.f90: Ditto. * gfortran.dg/array_initializer_1.f90: Use array element not size-one section. * gfortran.dg/array_substring.f90: New. From-SVN: r265059
Tobias Burnus committed -
As mentioned in PR87511, the shift used in aarch64_mask_and_shift_for_ubfiz_p should be evaluated as a HOST_WIDE_INT rather than int. Passes bootstrap & regress. gcc/ PR target/87511 * config/aarch64/aarch64.c (aarch64_mask_and_shift_for_ubfiz_p): Use HOST_WIDE_INT_1U for shift. testsuite/ PR target/87511 * gcc.target/aarch64/pr87511.c: Add new test. From-SVN: r265058
Wilco Dijkstra committed -
PR c++/84993 identifies a problem with our suggestions for misspelled member names in the C++ FE for the case where the member is private. For example, given: class foo { public: double get_ratio() const { return m_ratio; } private: double m_ratio; }; void test(foo *ptr) { if (ptr->ratio >= 0.5) ;// etc } ...we currently emit this suggestion: <source>: In function 'void test(foo*)': <source>:12:12: error: 'class foo' has no member named 'ratio'; did you mean 'm_ratio'? if (ptr->ratio >= 0.5) ^~~~~ m_ratio ...but if the user follows this suggestion, they get: <source>: In function 'void test(foo*)': <source>:12:12: error: 'double foo::m_ratio' is private within this context if (ptr->m_ratio >= 0.5) ^~~~~~~ <source>:7:10: note: declared private here double m_ratio; ^~~~~~~ <source>:12:12: note: field 'double foo::m_ratio' can be accessed via 'double foo::get_ratio() const' if (ptr->m_ratio >= 0.5) ^~~~~~~ get_ratio() It feels wrong to be emitting a fix-it hint that doesn't compile, so this patch adds the accessor fix-it hint logic to this case, so that we directly offer a valid suggestion: <source>: In function 'void test(foo*)': <source>:12:12: error: 'class foo' has no member named 'ratio'; did you mean 'double foo::m_ratio'? (accessible via 'double foo::get_ratio() const') if (ptr->ratio >= 0.5) ^~~~~ get_ratio() gcc/cp/ChangeLog: PR c++/84993 * call.c (enforce_access): Move diagnostics to... (complain_about_access): ...this new function. * cp-tree.h (class access_failure_info): Rename split out field "m_field_decl" into "m_decl" and "m_diag_decl". (access_failure_info::record_access_failure): Add tree param. (access_failure_info::was_inaccessible_p): New accessor. (access_failure_info::get_decl): New accessor. (access_failure_info::get_diag_decl): New accessor. (access_failure_info::get_any_accessor): New member function. (access_failure_info::add_fixit_hint): New static member function. (complain_about_access): New decl. * typeck.c (access_failure_info::record_access_failure): Update for change to fields. (access_failure_info::maybe_suggest_accessor): Split out into... (access_failure_info::get_any_accessor): ...this new function... (access_failure_info::add_fixit_hint): ...and this new function. (finish_class_member_access_expr): Split out "has no member named" error-handling into... (complain_about_unrecognized_member): ...this new function, and check that the guessed name is accessible along the access path. Only provide a spell-correction fix-it hint if it is; otherwise, attempt to issue an accessor fix-it hint. gcc/testsuite/ChangeLog: PR c++/84993 * g++.dg/torture/accessor-fixits-9.C: New test. From-SVN: r265056
David Malcolm committed -
https://gcc.gnu.org/ml/gcc-patches/2018-10/msg00689.html cp/ * parser.c (cp_parser_translation_unit): Return void. Don't fail at first extra }, simplify logic. (c_parse_file): Call finish_translation_unit here. testsuite/ * g++.dg/parse/close-brace.C: New. * g++.dg/cpp0x/noexcept16.C: Avoid warning. * g++.old-deja/g++.other/crash32.C: Add another error From-SVN: r265055
Nathan Sidwell committed -
2018-10-11 Doug Rupp <rupp@adacore.com> Olivier Hainque <hainque@adacore.com> * config/rs6000/vxworks.h (VXWORKS_RELAX_LINK_SPEC): New macro. Pass --relax to the linker for RTPs. (LINK_SPEC): Append VXWORKS_RELAX_LINK_SPEC. Co-Authored-By: Olivier Hainque <hainque@adacore.com> From-SVN: r265054
Doug Rupp committed -
PR c++/85070 * g++.dg/cpp0x/pr85070.C: Change effective target for diagnostics from c++14_only to c++14. From-SVN: r265052
Jakub Jelinek committed -
Mismatched dg-{begin|end}-multiline-output directives are currently silently ignored, leading to difficult-to-diagnose test failures involving excess output. This patch makes multiline.exp complain about them. gcc/testsuite/ChangeLog: * lib/multiline.exp (dg-begin-multiline-output): Issue an error if there hasn't been a dg-end-multiline-output since the last dg-begin-multiline-output. (dg-end-multiline-output): Issue an error if there hasn't been a dg-begin-multiline-output. Reset _multiline_last_beginning_line as soon possible. Rename "line" to "last_line". From-SVN: r265046
David Malcolm committed
-