- 03 Sep, 2018 16 commits
-
-
* tree-loop-distribution.c (offset_cmp): Convert to C-qsort-style tri-state comparator. (fuse_memset_builtins): Change std::stable_sort to gcc_stablesort. From-SVN: r264067
Alexander Monakov committed -
* sort.cc (struct sort_ctx): New field 'nlim'. Use it... (mergesort): ... here as maximum count for using netsort. (gcc_qsort): Set nlim to 3 if stable sort is requested. (gcc_stablesort): New. * system.h (gcc_stablesort): Declare. From-SVN: r264066
Alexander Monakov committed -
* sort.cc (gcc_qsort) [CHECKING_P]: Call qsort_chk. * system.h (qsort): Always redirect to gcc_qsort. Update comment. * vec.c (qsort_chk): Do not call gcc_qsort. Update comment. From-SVN: r264065
Alexander Monakov committed -
Our md files refer to {l,st}xsd%U<n>x, but no {l,st}xsdux insns exist. This patch removes the update forms. All these use constraint "Z" which does not allow update form, so there is no practical difference. * config/rs6000/rs6000.md (*mov<mode>_hardfloat32): Remove %U from the lxsdx and stxsdx alternatives. (*mov<mode>_hardfloat64): Ditto. * config/rs6000/vsx.md (*vsx_extract_<mode>_store): Ditto. From-SVN: r264064
Segher Boessenkool committed -
Split the long double testing into a separate file, so that we can XFAIL targets where the long double precision doesn't meet the expected tolerances. The float and double tests are still expefted to PASS for all targets. PR libstdc++/78179 * testsuite/26_numerics/headers/cmath/hypot-long-double.cc: New test that runs the long double part of hypot.cc. * testsuite/26_numerics/headers/cmath/hypot.cc: Disable long double tests unless TEST_HYPOT_LONG_DOUBLE is defined. From-SVN: r264063
Jonathan Wakely committed -
2018-09-03 Richard Biener <rguenther@suse.de> PR tree-optimization/87200 * tree-ssa-sccvn.c (vn_nary_build_or_lookup_1): Valueize a simplify result. * gcc.dg/torture/pr87200.c: New testcase. From-SVN: r264062
Richard Biener committed -
The pointer argument to allocator_traits::construct and allocator_traits::destroy should be a raw pointer, not the allocator's pointer type. _Temporary_value::_M_ptr was returning the wrong type. * include/bits/stl_vector.h (vector::_Temporary_value::_M_ptr): Return raw pointer not allocator's pointer type. (vector::_Temporary_value::_M_val): Use _M_ptr. From-SVN: r264061
Jonathan Wakely committed -
Since C++11 range insertion and construction of maps and sets from a pair of iterators only requires that the iterator's value_type is convertible to the container's value_type (previously it had to be the same). This fixes the implementation to meet that relaxed requirement, by defining a pair of overloads that either insert or emplace, depending on the iterator's value_type. Instead of adding yet another overload of _M_insert_unique and _M_insert_equal, the overloads taking iterators are renamed to _M_insert_range_unique and _M_insert_range_equal. PR libstdc++/87194 * include/bits/stl_map.h (map::map(initializer_list<value_type>, const Compare&, const Alloc&)) (map::map(initializer_list<value_type>, const Alloc&)) (map::map(InputIterator, InputIterator, const Alloc&)) (map::map(InputIterator, InputIterator)) (map::map(InputIterator, InputIterator, const Compare&, const Alloc&)) (map::insert(InputIterator, InputIterator)): Call _M_insert_range_unique instead of _M_insert_unique. * include/bits/stl_multimap.h (multimap::multimap(initializer_list<value_type>, const C&, const A&)) (multimap::multimap(initializer_list<value_type>, const A&)) (multimap::multimap(InputIterator, InputIterator, const A&)) (multimap::multimap(InputIterator, InputIterator)) (multimap::multimap(InputIterator, InputIterator, const C&, const A&)) (multimap::insert(InputIterator, InputIterator)): Call _M_insert_range_equal instead of _M_insert_equal. * include/bits/stl_multiset.h (multiset::multiset(InputIterator, InputIterator)) (multiset::multiset(InputIterator, InputIterator, const C&, const A&)) (multiset::multiset(initializer_list<value_type>, const C&, const A&)) (multiset::multiset(initializer_list<value_type>, const A&)) (multiset::multiset(InputIterator, InputIterator, const A&)) (multiset::insert(InputIterator, InputIterator)): Call _M_insert_range_equal instead of _M_insert_equal. * include/bits/stl_set.h (set::set(InputIterator, InputIterator)) (set::set(InputIterator, InputIterator, const Compare&, const Alloc&)) (set::set(initializer_list<value_type>, const Compare&, const Alloc&)) (set::set(initializer_list<value_type>, const Alloc&)) (set::set(InputIterator, InputIterator, const Alloc&)) (set::insert(InputIterator, InputIterator)): Call _M_insert_range_unique instead of _M_insert_unique. * include/bits/stl_tree.h [__cplusplus >= 201103L] (_Rb_tree::__same_value_type): New alias template for SFINAE constraints. [__cplusplus >= 201103L] (_Rb_tree::_M_insert_range_unique): Pair of constrained overloads that either insert or emplace, depending on iterator's value_type. [__cplusplus >= 201103L] (_Rb_tree::_M_insert_range_equal): Likewise. [__cplusplus < 201103L] (_Rb_tree::_M_insert_range_unique) (_Rb_tree::_M_insert_range_equal): New functions replacing range versions of _M_insert_unique and _M_insert_equal. (_Rb_tree::_M_insert_unique(_InputIterator, _InputIterator)) (_Rb_tree::_M_insert_equal(_InputIterator, _InputIterator)): Remove. * testsuite/23_containers/map/modifiers/insert/87194.cc: New test. * testsuite/23_containers/multimap/modifiers/insert/87194.cc: New test. * testsuite/23_containers/multiset/modifiers/insert/87194.cc: New test. * testsuite/23_containers/set/modifiers/insert/87194.cc: New test. From-SVN: r264060
Jonathan Wakely committed -
C++14 simplified the specification of the generic insert function templates to be equivalent to calling emplace (or emplace_hint). Defining them in terms of emplace takes care of the problems described in PR 78595, ensuring a single conversion to value_type is done at the right time. PR libstdc++/78595 * include/bits/stl_map.h (map::insert(_Pair&&)) (map::insert(const_iterator, _Pair&&)): Do emplace instead of insert. * include/bits/stl_multimap.h (multimap::insert(_Pair&&)) (multimap::insert(const_iterator, _Pair&&)): Likewise. * include/bits/unordered_map.h (unordered_map::insert(_Pair&&)) (unordered_map::insert(const_iterator, _Pair&&)) (unordered_multimap::insert(_Pair&&)) (unordered_multimap::insert(const_iterator, _Pair&&)): Likewise. * testsuite/23_containers/map/modifiers/insert/78595.cc: New test. * testsuite/23_containers/multimap/modifiers/insert/78595.cc: New test. * testsuite/23_containers/unordered_map/modifiers/78595.cc: New test. * testsuite/23_containers/unordered_multimap/modifiers/78595.cc: New test. From-SVN: r264059
Jonathan Wakely committed -
2018-09-03 Martin Liska <mliska@suse.cz> PR tree-optimization/87201 * tree-switch-conversion.c (switch_decision_tree::balance_case_nodes): Fix parenthesis in an expression. From-SVN: r264058
Martin Liska committed -
2018-09-03 Richard Biener <rguenther@suse.de> PR tree-optimization/87197 * tree-ssa-sccvn.c (vn_nary_build_or_lookup_1): Mark the new def visited. CSE the VN_INFO hashtable lookup. * gcc.dg/torture/pr87197.c: New testcase. PR tree-optimization/87169 * tree-ssa-sccvn.c (do_rpo_vn): When marking loops for not iterating make sure there's no extra backedges from irreducible regions feeding the header. Mark the destination block executable. * gcc.dg/torture/pr87169.c: New testcase. From-SVN: r264057
Richard Biener committed -
The rationale for the fixinclude ioctl macro wrapper is, as far as I can tell (https://gcc.gnu.org/ml/gcc-patches/2012-09/msg01619.html) Fix 2: Add hack for ioctl() on VxWorks. ioctl() is supposed to be variadic, but VxWorks only has a three argument version with the third argument of type int. This messes up when the third argument is not implicitly convertible to int. This adds a macro which wraps around ioctl() and explicitly casts the third argument to an int. This way, the most common use case of ioctl (with a const char * for the third argument) will compile in C++, where pointers must be explicitly casted to int. However, we have existing C++ code that calls the ioctl function via ::ioctl(foo, bar, baz) and obviously this breaks when it gets expanded to ::(ioctl)(foo, bar, (int)(baz)) Since the GNU C preprocessor already prevents recursive expansion of function-like macros, the parentheses around ioctl are unnecessary. Incidentally, there is also a macro sioIoctl() in the vxworks sioLib.h header that expands to ((pSioChan)->pDrvFuncs->ioctl (pSioChan, cmd, arg)) which also breaks when that gets further expanded to ((pSioChan)->pDrvFuncs->(ioctl) (pSioChan, cmd, (int)(arg))) This patch partly fixes that issue as well, but the third argument to the pDrvFuncs->ioctl method should be void*, so the cast to (int) is slightly annoying. Internally, we've simply patched the sioIoctl macro: (((pSioChan)->pDrvFuncs->ioctl) (pSioChan, cmd, arg)) From-SVN: r264056
Rasmus Villemoes committed -
2018-09-03 Martin Liska <mliska@suse.cz> PR driver/83193 * common/common-target.def: Add TARGET_GET_VALID_OPTION_VALUES. * common/common-targhooks.c (default_get_valid_option_values): New function. * common/common-targhooks.h (default_get_valid_option_values): Likewise. * common/config/i386/i386-common.c: Move processor_target_table from i386.c. (ix86_get_valid_option_values): New function. (TARGET_GET_VALID_OPTION_VALUES): New macro. * config/i386/i386.c (struct ptt): Move to i386-common.c. (PTA_*): Move all defined masks into i386-common.c. (ix86_function_specific_restore): Use new processor_cost_table. * config/i386/i386.h (struct ptt): Moved from i386.c. (struct pta): Likewise. * doc/tm.texi: Document new TARGET_GET_VALID_OPTION_VALUES. * doc/tm.texi.in: Likewise. * opt-suggestions.c (option_proposer::suggest_option): Pass prefix to build_option_suggestions. (option_proposer::get_completions): Likewise. (option_proposer::build_option_suggestions): Use the new target hook. * opts.c (struct option_help_tuple): New struct. (print_filtered_help): Use the new target hook. 2018-09-03 Martin Liska <mliska@suse.cz> PR driver/83193 * gcc.dg/completion-4.c: New test. From-SVN: r264052
Martin Liska committed -
/cp 2018-09-03 Paolo Carlini <paolo.carlini@oracle.com> PR c++/84980 * constraint.cc (finish_shorthand_constraint): Early return if the constraint is erroneous. /testsuite 2018-09-03 Paolo Carlini <paolo.carlini@oracle.com> PR c++/84980 * g++.dg/concepts/pr84980.C: New. From-SVN: r264051
Paolo Carlini committed -
2018-09-03 Martin Liska <mliska@suse.cz> PR middle-end/59521 * predict.c (set_even_probabilities): Add likely_edges argument and handle cases where we have precisely one likely edge. (combine_predictions_for_bb): Catch also likely_edges. (tree_predict_by_opcode): Handle gswitch statements. * tree-cfg.h (find_case_label_for_value): New declaration. (find_taken_edge_switch_expr): Likewise. * tree-switch-conversion.c (switch_decision_tree::balance_case_nodes): Find pivot in decision tree based on probabily, not by number of nodes. 2018-09-03 Martin Liska <mliska@suse.cz> PR middle-end/59521 * c-c++-common/pr59521-1.c: New test. * c-c++-common/pr59521-2.c: New test. * gcc.dg/tree-prof/pr59521-3.c: New test. From-SVN: r264050
Martin Liska committed -
From-SVN: r264049
GCC Administrator committed
-
- 02 Sep, 2018 5 commits
-
-
2018-09-01 Jerry DeLisle <jvdelisle@gcc.gnu.org> * io/io.h: Change declaration of vlist type to gfc_full_array_i4 to eliminate warning for mismatched type. * io/format.c ((parse_format_list): Use gfc_full_array_i4. * io/io.h: Use gfc_full_array_i4. From-SVN: r264043
Jerry DeLisle committed -
* c-common.c (braced_list_to_string): Remove eval parameter. Add some more checks. Always create zero-terminated STRING_CST. * c-common.h (braced_list_to_string): Adjust prototype. * c-decl.c (finish_decl): Call braced_list_to_string here ... * c-parser.c (c_parser_declaration_or_fndef): ... instead of here. * decl.c (eval_check_narrowing): Remove. (check_initializer): Move call to braced_list_to_string from here ... * typeck2.c (store_init_value): ... to here. (digest_init_r): Remove handing of signed/unsigned char strings. * c-c++-common/array-init.c: New test. * g++.dg/init/string2.C: Remove xfail. From-SVN: r264042
Bernd Edlinger committed -
* include/debug/safe_iterator.h (_Safe_iterator<_It, _Seq, _Cat>::_Self): New. (_Safe_iterator<_It, _Seq, std::random_access_iterator_tag>::_Self): New. (_Safe_iterator<_It, _Seq, std::random_access_iterator_tag> ::_OtherSelf): New. (_GLIBCXX_DEBUG_VERIFY_OPERANDS, _GLIBCXX_DEBUG_VERIFY_EQ_OPERANDS) (_GLIBCXX_DEBUG_VERIFY_REL_OPERANDS) (_GLIBCXX_DEBUG_VERIFY_DIST_OPERANDS): Define macros. (_Safe_iterator<_It, _Seq, std::random_access_iterator_tag> ::operator+(difference_type)): Use latters, inline as friend. (_Safe_iterator<_It, _Seq, std::random_access_iterator_tag> ::operator-(difference_type)): Likewise. (operator==(const _Safe_iterator<>&, const _Safe_iterator<>&)): Likewise. (operator!=(const _Safe_iterator<>&, const _Safe_iterator<>&)): Likewise. (operator<(const _Safe_iterator<>&, const _Safe_iterator<>&)): Likewise. (operator<=(const _Safe_iterator<>&, const _Safe_iterator<>&)): Likewise. (operator>(const _Safe_iterator<>&, const _Safe_iterator<>&)): Likewise. (operator>=(const _Safe_iterator<>&, const _Safe_iterator<>&)): Likewise. (operator-(const _Safe_iterator<>&, const _Safe_iterator<>&)): Likewise. (operator+(difference_type, const _Safe_iterator<>&)): Likewise. (operator-(const _Safe_iterator<>&, difference_type)): Likewise. * include/debug/safe_iterator.tcc (_Safe_iterator<>::_M_can_advance(difference_type)): Take parameter by copy. * include/debug/safe_local_iterator.h (_Safe_local_iterator<_It, _Seq>::_Self): New. (_Safe_local_iterator<_It, _Seq>::_OtherSelf): New. (_GLIBCXX_DEBUG_VERIFY_OPERANDS): Define macro. (operator==(const _Safe_local_iterator<>&, const _Safe_local_iterator<>&)): Use latter, inline as friend. (operator!=(const _Safe_local_iterator<>&, const _Safe_local_iterator<>&)): Likewise. * testsuite/util/testsuite_containers.h: Include utility. (struct forward_members_unordered<_Tp, bool>): Remove 2nd template parameter. (forward_members_unordered<>::forward_members_unordered(value_type&)): Add using namespace std::rel_ops. Add iterator_concept_checks on local_iterator and const_local_iterator. Add asserts on comparison between const_local_iterator and local_iterator. (struct forward_members_unordered<_Tp, false>): Remove partial specialization. * testsuite/23_containers/forward_list/types/1.cc: New. * testsuite/23_containers/list/types/1.cc: New. From-SVN: r264039
François Dumont committed -
From-SVN: r264038
Gerald Pfeifer committed -
From-SVN: r264037
GCC Administrator committed
-
- 01 Sep, 2018 6 commits
-
-
From-SVN: r264033
Gerald Pfeifer committed -
* doc/generic.texi (OpenMP): Adjust link to openmp.org. * doc/invoke.texi (C Dialect Options): Ditto. From-SVN: r264032
Gerald Pfeifer committed -
* doc/xml/manual/profile_mode.xml: Update three ieeexplore.ieee.org references. From-SVN: r264031
Gerald Pfeifer committed -
Fix PR87074 PR tree-optimization/87074 * gimple-loop-jam.c (unroll_jam_possible_p): Check loop exit PHIs for outer-loop uses. testsuite/ * gcc.dg/pr87074.c: New test. From-SVN: r264029
Michael Matz committed -
From-SVN: r264028
Gerald Pfeifer committed -
From-SVN: r264026
GCC Administrator committed
-
- 31 Aug, 2018 13 commits
-
-
2018-08-31 Sandra Loosemore <sandra@codesourcery.com> libstdc++-v3/ * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/10.cc: Add dg-require-fileio. * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/11.cc: Likewise. * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/5.cc: Likewise. * testsuite/21_strings/basic_string_view/inserters/wchar_t/2.cc: Likewise. * testsuite/25_algorithms/copy/streambuf_iterators/wchar_t/4.cc: Likewise. * testsuite/25_algorithms/find/istreambuf_iterators/wchar_t/2.cc: Likewise. * testsuite/27_io/basic_filebuf/close/wchar_t/12790-1.cc: Likewise. * testsuite/27_io/basic_filebuf/close/wchar_t/12790-2.cc: Likewise. * testsuite/27_io/basic_filebuf/close/wchar_t/12790-3.cc: Likewise. * testsuite/27_io/basic_filebuf/close/wchar_t/12790-4.cc: Likewise. * testsuite/27_io/basic_filebuf/seekoff/wchar_t/11543.cc: Likewise. * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-1.cc: Likewise. * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-2.cc: Likewise. * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-3.cc: Likewise. * testsuite/27_io/basic_filebuf/seekoff/wchar_t/12790-4.cc: Likewise. * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-1.cc: Likewise. * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-2.cc: Likewise. * testsuite/27_io/basic_filebuf/seekpos/wchar_t/12790-4.cc: Likewise. * testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc: Likewise. * testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc: Likewise. * testsuite/27_io/basic_ifstream/cons/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_ifstream/open/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_istream/extractors_character/wchar_t/4.cc: Likewise. * testsuite/27_io/basic_istream/extractors_other/wchar_t/2.cc: Likewise. * testsuite/27_io/basic_istream/get/wchar_t/2.cc: Likewise. * testsuite/27_io/basic_istream/getline/wchar_t/5.cc: Likewise. * testsuite/27_io/basic_istream/ignore/wchar_t/2.cc: Likewise. * testsuite/27_io/basic_istream/ignore/wchar_t/3.cc: Likewise. * testsuite/27_io/basic_istream/seekg/wchar_t/sstream.cc: Likewise. * testsuite/27_io/basic_istream/tellg/wchar_t/sstream.cc: Likewise. * testsuite/27_io/basic_ofstream/cons/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_ofstream/open/wchar_t/1.cc: Likewise. * testsuite/27_io/basic_ostream/inserters_other/wchar_t/1.cc: Likewise. * testsuite/27_io/objects/wchar_t/10.cc: Likewise. * testsuite/27_io/objects/wchar_t/12048-1.cc: Likewise. * testsuite/27_io/objects/wchar_t/12048-2.cc: Likewise. * testsuite/27_io/objects/wchar_t/12048-3.cc: Likewise. * testsuite/27_io/objects/wchar_t/12048-4.cc: Likewise. * testsuite/27_io/objects/wchar_t/12048-5.cc: Likewise. * testsuite/experimental/string_view/inserters/wchar_t/2.cc: Likewise. * testsuite/ext/stdio_sync_filebuf/wchar_t/1.cc: Likewise. From-SVN: r264022
Sandra Loosemore committed -
re PR tree-optimization/87168 (ICE on valid code at -Os and above on x86_64-linux-gnu: verify_ssa failed) 2018-08-31 Richard Biener <rguenther@suse.de> PR tree-optimization/87168 * tree-ssa-sccvn.c (SSA_VAL): Add visited output parameter. (rpo_elim::eliminate_avail): When OP was not visited it must be available. * gcc.dg/torture/pr87168.c: New testcase. From-SVN: r264021
Richard Biener committed -
gcc/ChangeLog: * tree-vrp.c (copy_value_range): Convert param "from" from "value_range *" to "const value_range *". (range_is_null): Likewise for param "vr". (range_int_cst_p): Likewise. (range_int_cst_singleton_p): Likewise. (symbolic_range_p): Likewise. (value_ranges_intersect_p): Likewise for both params. (value_range_nonnegative_p): Likewise for param "vr". (value_range_constant_singleton): Likewise. (vrp_set_zero_nonzero_bits): Likewise for param "ar". (extract_range_into_wide_ints): Likewise for param "vr". (extract_range_from_multiplicative_op): Likewise for params "vr0" and "vr1". (vrp_can_optimize_bit_op): Likewise. (extract_range_from_binary_expr_1): Likewise for params "vr0_" and "vr1_". (extract_range_from_unary_expr): Likewise. (debug_value_range): Likewise for param "vr". (value_range::dump): Add "const" qualifier. (vrp_prop::check_array_ref): Convert local "vr" from "value_range *" to "const value_range *". (vrp_prop::check_mem_ref): Likewise. (vrp_prop::visit_stmt): Likewise for local "old_vr". (vrp_intersect_ranges_1): Likewise for param "vr_1". (vrp_intersect_ranges): Likewise. (simplify_stmt_for_jump_threading): Likewise for local "vr". (vrp_prop::vrp_finalize): Likewise. * tree-vrp.h (value_range::dump): Add "const" qualifier. (vrp_intersect_ranges): Add "const" qualifier to params as above. (extract_range_from_unary_expr): Likewise. (value_range_constant_singleton): Likewise. (symbolic_range_p): Likewise. (copy_value_range): Likewise. (extract_range_from_binary_expr_1): Likewise. (range_int_cst_p): Likewise. (vrp_set_zero_nonzero_bits): Likewise. (range_int_cst_singleton_p): Likewise. From-SVN: r264020
David Malcolm committed -
gcc/ 2018-08-31 Vlad Lazar <vlad.lazar@arm.com> * config/aarch64/arm_neon.h (vabsd_s64): New. (vnegd_s64): Likewise. gcc/testsuite/ 2018-08-31 Vlad Lazar <vlad.lazar@arm.com> * gcc.target/aarch64/scalar_intrinsics.c (test_vnegd_s64): New. * gcc.target/aarch64/vneg_s.c (RUN_TEST_SCALAR): New. (test_vnegd_s64): Likewise. * gcc.target/aarch64/vnegd_64.c: New. * gcc.target/aarch64/vabsd_64.c: New. * gcc.tartget/aarch64/vabs_intrinsic_3.c: New From-SVN: r264019
Vlad Lazar committed -
https://gcc.gnu.org/ml/gcc-patches/2018-08/msg02031.html PR c++/87155 PR c++/84707 cp/ * name-lookup.c (name_lookup::search_namespace): Don't look at inlines when searching for NULL names. testsuite/ * g++.dg/cpp0x/pr87155.C: New. * g++.dg/cpp0x/inline-ns10.C: Adjust. From-SVN: r264016
Nathan Sidwell committed -
2018-08-31 Martin Jambor <mjambor@suse.cz> * ipa-cp.c (estimate_local_effects): Replace wrong MAX with MIN. From-SVN: r264015
Martin Jambor committed -
2018-08-31 Martin Liska <mliska@suse.cz> * ipa-icf.c (sem_item::add_type): Use sem_item::m_type_hash_cache. * ipa-icf.h: Move the cache from sem_item_optimizer to sem_item. From-SVN: r264014
Martin Liska committed -
https://gcc.gnu.org/ml/gcc-patches/2018-08/msg01885.html gcc/ * doc/extend.texi (Backwards Compatibility): Remove implicit extern C leeway of () being (...). gcc/cp/ * decl.c (decls_match): Remove SYSTEM_IMPLICIT_EXTERN_C matching of return types and parms. * parser.c (cp_parser_parameter_declaration_clause): Likewise, '()' always means '(void)'. From-SVN: r264013
Nathan Sidwell committed -
* ipa-inline.c (can_inline_edge_by_limits_p): Fix typos in comment. From-SVN: r264012
Kyrylo Tkachov committed -
TARGET_FPRND should be on for everything ISA 2.04 and later, and TARGET_VSX implies ISA 2.06 or later; but it is possible to disable TARGET_FPRND (separately via -mno-fprnd, but also implicitly) currently, and then things fall down. This patch makes things not fall down. PR target/86684 PR target/87149 * config/rs6000/rs6000.md (lround<mode>di2): Gate on TARGET_FPRND. From-SVN: r264011
Segher Boessenkool committed -
re PR middle-end/87138 (wrong code with TI multiplication with -O -march=k8 -fno-tree-fre -mavx512bw) PR middle-end/87138 * expmed.c (expand_mult_const): Use immed_wide_int_const instead of gen_int_mode. Formatting fixes. * gcc.target/i386/avx512bw-pr87138.c: New test. From-SVN: r264009
Jakub Jelinek committed -
re PR fortran/86328 (Runtime segfault reading an allocatable class(*) object in allocate statements) 2018-08-31 Paul Thomas <pault@gcc.gnu.org> PR fortran/86328 PR fortran/86760 * trans-array.c (gfc_conv_scalarized_array_ref): Do not fix info->descriptor but pass it directly to gfc_build_array_ref. (gfc_conv_array_ref): Likewise for se->expr. * trans.c (gfc_build_array_ref): If 'decl' is a COMPONENT_REF obtain the span field directly from it. 2018-08-31 Paul Thomas <pault@gcc.gnu.org> PR fortran/86328 PR fortran/86760 * gfortran.dg/pr86328.f90 : New test. in comment 12 of the PR. * gfortran.dg/pr86760.f90 : New test. From-SVN: r264008
Paul Thomas committed -
From-SVN: r264007
Rainer Orth committed
-