- 05 Jul, 2018 7 commits
-
-
gcc/ PR target/84711 * rtlanal.c (set_noop_p): Constrain on mode change, include hard-reg-set.h gcc/testuite/ PR target/84711 * gcc.dg/vect/pr84711.c: New. From-SVN: r262435
Tamar Christina committed -
This changes the movmem code in AArch64 that does copy for data between 4 and 7 bytes to use the smallest possible mode capable of copying the remaining bytes in one go and then overlapping the reads if needed. This means that if we're copying 5 bytes we would issue an SImode and QImode load instead of two SImode loads. This does smaller memory accesses but also gives the mid-end a chance to realise that it can CSE the loads in certain circumstances. e.g. when you have something like return foo; where foo is a struct. This would be transformed by the mid-end into SSA form as D.XXXX = foo; return D.XXXX; This movmem routine will handle the first copy, but it's usually not needed, the mid-end would do SImode and QImode stores into X0 for the 5 bytes example but without the first copies being in the same mode, it doesn't know it doesn't need the stores at all. From-SVN: r262434
Tamar Christina committed -
2018-07-04 Maxim Ostapenko <m.ostapenko@samsung.com> PR sanitizer/84250 * config/gnu-user.h (LIBASAN_EARLY_SPEC): Pass -lstdc++ for static libasan. * gcc.c: Do not pass LIBUBSAN_SPEC if ASan is enabled with UBSan. * Makefile.am: Reorder libs. * Makefile.in: Regenerate. * asan/Makefile.am: Define DCAN_SANITIZE_UB=1, add dependancy from libsanitizer_ubsan.la. * asan/Makefile.in: Regenerate. * ubsan/Makefile.am: Define new libsanitizer_ubsan.la library. * ubsan/Makefile.in: Regenerate. From-SVN: r262433
Jakub Jelinek committed -
2018-07-05 Christophe Lyon <christophe.lyon@linaro.org> * c-c++-common/unroll-1.c: Remove 'note:' in matching string. * c-c++-common/unroll-2.c: Likewise. * g++.dg/cdce3.C: Likewise. * g++.dg/ext/unroll-1.C: Likewise. * g++.dg/ext/unroll-2.C: Likewise. * g++.dg/ext/unroll-3.C: Likewise. * gcc.dg/cdce1.c: Likewise. * gcc.dg/cdce2.c: Likewise. * gcc.dg/gomp/pr68128-1.c: Likewise. * gcc.dg/vect/pr46032.c: Likewise. * gcc.dg/vect/vect-cond-10.c: Likewise. * gcc.dg/vect/vect-cond-8.c: Likewise. * gcc.dg/vect/vect-cond-9.c: Likewise. * gcc.dg/vect/vect-mask-load-1.c: Likewise. * gcc.dg/vect/vect-mask-loadstore-1.c: Likewise. * gcc.target/i386/avx-cvt-2.c: Likewise. * gcc.target/i386/avx-cvt-3.c: Likewise. * gcc.target/i386/avx2-cvt-2.c: Likewise. * gcc.target/i386/avx2-gather-2.c: Likewise. * gcc.target/i386/avx2-gather-6.c: Likewise. * gcc.target/i386/avx512f-gather-2.c: Likewise. * gcc.target/i386/sse2-cvt-2.c: Likewise. * gfortran.dg/directive_unroll_1.f90: Likewise. * gfortran.dg/directive_unroll_2.f90: Likewise. * gnat.dg/unroll2.adb: Likewise. * gnat.dg/unroll3.adb: Likewise. From-SVN: r262432
Christophe Lyon committed -
2018-07-05 Tom de Vries <tdevries@suse.de> * lib/gcc-dg.exp (dg-final): Simplify tcl code. From-SVN: r262431
Tom de Vries committed -
From-SVN: r262429
François Dumont committed -
From-SVN: r262428
GCC Administrator committed
-
- 04 Jul, 2018 28 commits
-
-
In C++2a the remove, remove_if and unique members of std::list and std::forward_list have been changed to return the number of elements removed. This is an ABI change for the remove members and the non-template unique members, so an abi-tag is used to give those symbols new mangled names in C++2a mode. For the function templates the return type is part of the mangled name so no abi-tag is needed. * include/bits/forward_list.h (__cpp_lib_list_remove_return_type): Define. (forward_list::__remove_return_type): Define typedef as size_type or void, according to __cplusplus value. (_GLIBCXX_FWDLIST_REMOVE_RETURN_TYPE_TAG): Define macro as abi-tag or empty, according to __cplusplus value. (forward_list::remove, forward_list::unique): Use typedef and macro to change return type and add abi-tag for C++2a. (forward_list::remove_if<Pred>, forward_list::unique<BinPred>): Use typedef to change return type for C++2a. * include/bits/forward_list.tcc (_GLIBCXX20_ONLY): Define macro. (forward_list::remove, forward_list::remove_if<Pred>) (forward_list::unique<BinPred>): Return number of removed elements for C++2a. * include/bits/list.tcc (_GLIBCXX20_ONLY): Define macro. (list::remove, list::unique, list::remove_if<Predicate>) (list::unique<BinaryPredicate>): Return number of removed elements for C++2a. * include/bits/stl_list.h (__cpp_lib_list_remove_return_type): Define. (list::__remove_return_type): Define typedef as size_type or void, according to __cplusplus value. (_GLIBCXX_LIST_REMOVE_RETURN_TYPE_TAG): Define macro as abi-tag or empty, according to __cplusplus value. (list::remove, list::unique): Use typedef and macro to change return type and add abi-tag for C++2a. (list::remove_if<Predicate>, list::unique<BinaryPredicate>): Use typedef to change return type for C++2a. * include/std/version (__cpp_lib_list_remove_return_type): Define. * testsuite/23_containers/forward_list/operations/ remove_cxx20_return.cc: New. * testsuite/23_containers/forward_list/operations/ unique_cxx20_return.cc: New. From-SVN: r262423
Jonathan Wakely committed -
re PR sanitizer/84250 (Symbol collision when using both Address and Undefined Behavior sanitizers (-fsanitize=address,undefined)) gcc/ 2018-07-04 Maxim Ostapenko <m.ostapenko@samsung.com> PR sanitizer/84250 * config/gnu-user.h (LIBASAN_EARLY_SPEC): Pass -lstdc++ for static libasan. * gcc.c: Do not pass LIBUBSAN_SPEC if ASan is enabled with UBSan. libsanitizer/ 2018-07-04 Maxim Ostapenko <m.ostapenko@samsung.com> PR sanitizer/84250 * Makefile.am: Reorder libs. * Makefile.in: Regenerate. * asan/Makefile.am: Define DCAN_SANITIZE_UB=1, add dependancy from libsanitizer_ubsan.la. * asan/Makefile.in: Regenerate. * ubsan/Makefile.am: Define new libsanitizer_ubsan.la library. * ubsan/Makefile.in: Regenerate. From-SVN: r262421
Maxim Ostapenko committed -
re PR c++/86398 (is_trivially_constructible always returns true even when is_constructible returns false) PR c++/86398 gcc/cp/ PR c++/86398 * method.c (is_trivially_xible): Return false if is_xible_helper returns a NULL_TREE. testsuite/ PR c++/86398 * g++.dg/ext/is_trivially_constructible1.C: Add new tests. From-SVN: r262420
Ville Voutilainen committed -
gcc/testsuite/ChangeLog: PR tree-optimization/86274 * gcc.dg/tree-ssa/builtin-sprintf-9.c: Fix typo. From-SVN: r262419
Martin Sebor committed -
* include/bits/stl_map.h (map::contains): Add for C++2a. * include/bits/stl_multimap.h (multimap::contains): Likewise. * include/bits/stl_multiset.h (multiset::contains): Likewise. * include/bits/stl_set.h (set::contains): Likewise. * include/bits/stl_tree.h (__has_is_transparent_t): Define alias. (_Rb_tree::_M_find_tr, _Rb_tree::_M_count_tr) (_Rb_tree::_M_lower_bound_tr, _Rb_tree::_M_upper_bound_tr) (_Rb_tree::_M_equal_range_tr): Use __has_is_transparent_t. * include/bits/unordered_map.h (unordered_map::contains) (unordered_multimap::contains): Add for C++2a. * include/bits/unordered_set.h (unordered_set::contains) (unordered_multiset::contains): Likewise. * testsuite/23_containers/map/operations/contains.cc: New. * testsuite/23_containers/multimap/operations/contains.cc: New. * testsuite/23_containers/multiset/operations/contains.cc: New. * testsuite/23_containers/set/operations/contains.cc: New. * testsuite/23_containers/unordered_map/operations/contains.cc: New. * testsuite/23_containers/unordered_multimap/operations/contains.cc: New. * testsuite/23_containers/unordered_multiset/operations/contains.cc: New. * testsuite/23_containers/unordered_set/operations/contains.cc: New. From-SVN: r262418
Jonathan Wakely committed -
2018-07-04 François Dumont <fdumont@gcc.gnu.org> PR libstdc++/86272 * include/debug/string (__gnu_debug::basic_string<>::insert<_Ite>(const_iterator, _Ite, _Ite)): Use __glibcxx_check_insert_range. * 21_strings/basic_string/cons/char/1.cc: Adapt test to use __gnu_debug::string when _GLIBCXX_DEBUG. * 21_strings/basic_string/init-list.cc: Likewise. * 21_strings/basic_string/modifiers/insert/char/1.cc: Likewise. * 21_strings/basic_string/modifiers/insert/char/2.cc: Likewise. * 21_strings/basic_string/modifiers/insert/char/83328.cc: Likewise. * 21_strings/basic_string/types/1.cc: Likewise. From-SVN: r262417
François Dumont committed -
2018-07-04 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/82009 * trans-decl.c (gfc_process_block_locals): Delete assert and set saved_local_decls = NULL_TREE. * gfortran.dg/block_16.f08. New test. From-SVN: r262416
Jerry DeLisle committed -
Currently only matches targets where _GLIBCXX_USE_RANDOM_TR1 is defined, which means /dev/random and /dev/urandom are usable. * testsuite/25_algorithms/make_heap/complexity.cc: Require effective target for std::random_device. * testsuite/26_numerics/random/random_device/cons/default.cc: Likewise. * testsuite/experimental/algorithm/sample-2.cc: Likewise. * testsuite/experimental/algorithm/shuffle.cc: Likewise. * testsuite/experimental/random/randint.cc: Likewise. * testsuite/lib/libstdc++.exp (check_effective_target_random_device): New proc. From-SVN: r262415
Jonathan Wakely committed -
2018-07-04 Jonathan Wakely <jwakely@redhat.com> Jakub Jelinek <jakub@redhat.com> * include/std/bit (__rotl, __rotr): Fix for non-power of two sizes. Co-Authored-By: Jakub Jelinek <jakub@redhat.com> From-SVN: r262414
Jonathan Wakely committed -
PR middle-end/86380 * expmed.c (choose_multiplier): Fix incorrect comparison with mask. From-SVN: r262401
Eric Botcazou committed -
2018-07-04 Martin Jambor <mjambor@suse.cz> PR hsa/86371 * Make-lang.in (BRIGINCLUDES): Remove erroneous include path in $HOME. From-SVN: r262398
Martin Jambor committed -
* tree-vrp.c (extract_range_from_binary_expr_1): Initialze neg_*_op* variables. From-SVN: r262380
Aldy Hernandez committed -
The intrinsic doesn't check for allowed conversions between scalar types, so restore the std::is_constructible check. Also make some trivial whitespace changes. PR libstdc++/86398 * include/std/type_traits (is_trivially_constructible): Check is_constructible before __is_trivially_constructible. * testsuite/20_util/is_trivially_constructible/value.cc: Add more tests, including negative cases. * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Use zero for dg-error lineno. * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Likewise. From-SVN: r262379
Jonathan Wakely committed -
* include/std/bit (__rotl, __rotr): Avoid branch. (_If_is_unsigned_integer): Use remove_cv_t. * testsuite/26_numerics/bit/bitops.count/popcount.cc: New. From-SVN: r262378
Jonathan Wakely committed -
* gcc.dg/tree-ssa/ssa-dom-thread-7.c: Adjust test because aarch64 has a slightly different IL that provides more threading opportunities. From-SVN: r262377
Aldy Hernandez committed -
2018-07-04 Martin Liska <mliska@suse.cz> * tree-switch-conversion.c: Define max_ratio_for_speed and max_ratio_for_size constants. From-SVN: r262376
Martin Liska committed -
2018-07-04 Denys Vlasenko <dvlasenk@redhat.com> Martin Liska <mliska@suse.cz> PR middle-end/66240 PR target/45996 PR c/84100 * common.opt: Rename align options with 'str_' prefix. * common/config/i386/i386-common.c (set_malign_value): New function. (ix86_handle_option): Use it to set -falign-* options/ * config/aarch64/aarch64-protos.h (struct tune_params): Change type from int to string. * config/aarch64/aarch64.c: Update default values from int to string. * config/alpha/alpha.c (alpha_override_options_after_change): Likewise. * config/arm/arm.c (arm_override_options_after_change_1): Likewise. * config/i386/dragonfly.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Print max skip conditionally. * config/i386/freebsd.h (SUBALIGN_LOG): New. (ASM_OUTPUT_MAX_SKIP_ALIGN): Print max skip conditionally. * config/i386/gas.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Print max skip conditionally. * config/i386/gnu-user.h (SUBALIGN_LOG): New. (ASM_OUTPUT_MAX_SKIP_ALIGN): Print max skip conditionally. * config/i386/i386.c (struct ptt): Change type from int to string. (ix86_default_align): Set default values. * config/i386/i386.h (ASM_OUTPUT_MAX_SKIP_PAD): Print max skip conditionally. * config/i386/iamcu.h (SUBALIGN_LOG): New. (ASM_OUTPUT_MAX_SKIP_ALIGN): * config/i386/lynx.h (ASM_OUTPUT_MAX_SKIP_ALIGN): * config/i386/netbsd-elf.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Print max skip conditionally. * config/i386/openbsdelf.h (SUBALIGN_LOG): New. (ASM_OUTPUT_MAX_SKIP_ALIGN) Print max skip conditionally.: * config/i386/x86-64.h (SUBALIGN_LOG): New. (ASM_OUTPUT_MAX_SKIP_ALIGN): Print max skip conditionally. (ASM_OUTPUT_MAX_SKIP_PAD): Likewise. * config/ia64/ia64.c (ia64_option_override): Set default values for alignment options. * config/m68k/m68k.c: Handle new str_align_* options. * config/mips/mips.c (mips_set_compression_mode): Change type of constants. (mips_option_override): Set default values for options. * config/powerpcspe/powerpcspe.c (rs6000_option_override_internal): Likewise. * config/rs6000/rs6000.c (rs6000_option_override_internal): Likewise. * config/rx/rx.c (rx_option_override): Likewise. * config/rx/rx.h (JUMP_ALIGN): Use align_jumps_log. (LABEL_ALIGN): Use align_labels_log. (LOOP_ALIGN): Use align_loops_align. * config/s390/s390.c (s390_asm_output_function_label): Use new macros. * config/sh/sh.c (sh_override_options_after_change): Change type of constants. * config/spu/spu.c (spu_sched_init): Likewise. * config/sparc/sparc.c (sparc_option_override): Set default values for options. * config/visium/visium.c (visium_option_override): Likewise. * config/visium/visium.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Do not emit p2align format with last argument if it's not needed. * doc/invoke.texi: Document extended format of -falign-*. * final.c: Use align_labels alignment. * flags.h (struct target_flag_state): Change type to use align_flags. (struct align_flags_tuple): New. (struct align_flags): Likewise. (align_loops_log): Redefine macro to use new types. (align_loops_max_skip): Redefine macro to use new types. (align_jumps_log): Redefine macro to use new types. (align_jumps_max_skip): Redefine macro to use new types. (align_labels_log): Redefine macro to use new types. (align_labels_max_skip): Redefine macro to use new types. (align_functions_log): Redefine macro to use new types. (align_loops): Redefine macro to use new types. (align_jumps): Redefine macro to use new types. (align_labels): Redefine macro to use new types. (align_functions): Redefine macro to use new types. (align_functions_max_skip): Redefine macro to use new types. (align_loops_value): New macro. (align_jumps_value): New macro. (align_labels_value): New macro. (align_functions_value): New macro. * function.c (invoke_set_current_function_hook): Propagate alignment values from flags to global variables default in topleev.h. * ipa-icf.c (sem_function::equals_wpa): Use cl_optimization_option_eq instead of memcmp. * lto-streamer.h (cl_optimization_stream_out): Support streaming of string types. (cl_optimization_stream_in): Likewise. * optc-save-gen.awk: Support strings in cl_optimization. * opth-gen.awk: Likewise. * opts.c (finish_options): Remove error checking of invalid value ranges. (MAX_CODE_ALIGN): Remove. (MAX_CODE_ALIGN_VALUE): Likewise. (parse_and_check_align_values): New function. (check_alignment_argument): Likewise. (common_handle_option): Use check_alignment_argument. * opts.h (parse_and_check_align_values): Declare. * toplev.c (init_alignments): Remove. (read_log_maxskip): New. (parse_N_M): Likewise. (parse_alignment_opts): Likewise. (backend_init_target): Remove usage of init_alignments. * toplev.h (parse_alignment_opts): Declare. * tree-streamer-in.c (streamer_read_tree_bitfields): Add new argument. * tree-streamer-out.c (streamer_write_tree_bitfields): Likewise. * tree.c (cl_option_hasher::equal): New. * varasm.c: Use new global macros. 2018-07-04 Martin Liska <mliska@suse.cz> PR middle-end/66240 PR target/45996 PR c/84100 * lto.c (compare_tree_sccs_1): Use cl_optimization_option_eq instead of memcmp. 2018-07-04 Martin Liska <mliska@suse.cz> PR middle-end/66240 PR target/45996 PR c/84100 * gcc.dg/pr84100.c (foo): * gcc.target/i386/falign-functions-2.c: New test. * gcc.target/i386/falign-functions.c: New test. From-SVN: r262375
Martin Liska committed -
2018-07-04 Denys Vlasenko <dvlasenk@redhat.com> * config/i386/dragonfly.h: (ASM_OUTPUT_MAX_SKIP_ALIGN): Use a simpler align directive also if MAXSKIP = ALIGN-1. * config/i386/gas.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise. * config/i386/lynx.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise. * config/i386/netbsd-elf.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise. * config/i386/i386.h (ASM_OUTPUT_MAX_SKIP_PAD): Likewise. * config/i386/freebsd.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Remove "If N is large, do at least 8 byte alignment" code. Add SUBALIGN_LOG define. Use a simpler align directive also if MAXSKIP = ALIGN-1. * config/i386/gnu-user.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise. * config/i386/iamcu.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise. * config/i386/openbsdelf.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise. * config/i386/x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise. From-SVN: r262374
Denys Vlasenko committed -
2018-07-04 Martin Liska <mliska@suse.cz> Jonathan Wakely <jwakely@redhat.com> * coverage.c: Use correct type. * doc/invoke.texi: Language correction. Co-Authored-By: Jonathan Wakely <jwakely@redhat.com> From-SVN: r262373
Martin Liska committed -
2018-07-04 Martin Liska <mliska@suse.cz> * gcc.dg/pr47793.c: Remove. From-SVN: r262372
Martin Liska committed -
2018-07-04 Richard Sandiford <richard.sandiford@arm.com> gcc/testsuite/ * gcc.dg/vect/bb-slp-over-widen-1.c: Fix name of dump file for final scan test. * gcc.dg/vect/bb-slp-over-widen-2.c: Likewise. From-SVN: r262371
Richard Sandiford committed -
On x86, swapcontext may return via indirect branch when shadow stack is enabled. To support code instrumentation of control-flow transfers with -fcf-protection, add indirect_return function attribute to inform compiler that a function may return via indirect branch. Note: Unlike setjmp, swapcontext only returns once. Mark it return twice will unnecessarily disable compiler optimization as shown in the testcase here. gcc/ PR target/85620 * config/i386/i386.c (rest_of_insert_endbranch): Also generate ENDBRANCH for non-tail call which may return via indirect branch. * doc/extend.texi: Document indirect_return attribute. gcc/testsuite/ PR target/85620 * gcc.target/i386/pr85620-1.c: New test. * gcc.target/i386/pr85620-2.c: Likewise. * gcc.target/i386/pr85620-3.c: Likewise. * gcc.target/i386/pr85620-4.c: Likewise. From-SVN: r262370
H.J. Lu committed -
* config/h8300/h8300.md (logical<mode>3_sn, logical<mode>3): Merge into a single pattern. From-SVN: r262369
Jeff Law committed -
gcc/ChangeLog: PR tree-optimization/86274 * gimple-ssa-sprintf.c (fmtresult::type_max_digits): Verify precondition. (format_floating): Correct handling of infinities and NaNs. gcc/testsuite/ChangeLog: PR tree-optimization/86274 * gcc.dg/tree-ssa/builtin-sprintf-9.c: New test. * gcc.dg/tree-ssa/builtin-sprintf-warn-1.c: Adjust. * gcc.dg/tree-ssa/builtin-sprintf-warn-10.c: Same. * gcc.dg/tree-ssa/builtin-sprintf-warn-15.c: Same. * gcc.dg/tree-ssa/builtin-sprintf-warn-7.c: Same. * gcc.dg/tree-ssa/builtin-sprintf.c: Same. * gcc.dg/tree-ssa/pr83198.c: Same. From-SVN: r262368
Martin Sebor committed -
gcc/ChangeLog: * print-tree.c (print_real_cst): New function. (print_node_brief): Call it. (print_node): Ditto. From-SVN: r262367
Martin Sebor committed -
* config/h8300/h8300.md (ors code_iterator): New. (bsetqi_msx, bnotqi_msx patterns and splitters): Consolidate into a single pattern and single splitter. (bsethi_msx, bnothi_msx patterns): Consolidate into a single pattern. (iorqi3_1, xorqi3_1): Likewise. (iorqi3, xorqi3 expanders): Similarly. From-SVN: r262366
Jeff Law committed -
h8300.md (movmd_internal_normal): Consolidated with (movmd_internal) into a single pattern using the P mode iterator. * config/h8300/h8300.md (movmd_internal_normal): Consolidated with (movmd_internal) into a single pattern using the P mode iterator. (movmd splitters): Similarly. (stpcpy_internal_normal, stpcpy_internal): Similarly for thes patterns. (movsd splitters): Similarly. From-SVN: r262365
Jeff Law committed -
From-SVN: r262364
GCC Administrator committed
-
- 03 Jul, 2018 5 commits
-
-
P0553R2 is not in the C++2a working draft yet, but is likely to be approved soon. Neither proposal supports std::byte but this adds overloads of each function for std::byte, assuming that will also get added. * include/Makefile.am: Add new header. * include/Makefile.in: Regenerate. * include/precompiled/stdc++.h: Include new header. * include/std/bit: New header. (__rotl, __rotr, __countl_zero, __countl_one, __countr_zero) (__countr_one, __popcount, __ispow2, __ceil2, __floor2, __log2p1): Define for C++14. [!__STRICT_ANSI__] (rotl, rotr, countl_zero, countl_one, countr_zero) (countr_one, popcount): Define for C++2a. Also overload for std::byte. (ispow2, ceil2, floor2, log2p1): Define for C++2a. [!__STRICT_ANSI__] (ispow2, ceil2, floor2, log2p1): Overload for std::byte. * testsuite/26_numerics/bit/bit.pow.two/ceil2.cc: New. * testsuite/26_numerics/bit/bit.pow.two/floor2.cc: New. * testsuite/26_numerics/bit/bit.pow.two/ispow2.cc: New. * testsuite/26_numerics/bit/bit.pow.two/log2p1.cc: New. * testsuite/26_numerics/bit/bitops.rot/rotl.cc: New. * testsuite/26_numerics/bit/bitops.rot/rotr.cc: New. * testsuite/26_numerics/bit/bitops.count/countl_one.cc: New. * testsuite/26_numerics/bit/bitops.count/countl_zero.cc: New. * testsuite/26_numerics/bit/bitops.count/countr_one.cc: New. * testsuite/26_numerics/bit/bitops.count/countr_zero.cc: New. From-SVN: r262360
Jonathan Wakely committed -
The whole file is guarded by the same check already. * include/bits/alloc_traits.h: Remove redundant preprocessor condition. From-SVN: r262359
Jonathan Wakely committed -
/cp 2018-07-03 Paolo Carlini <paolo.carlini@oracle.com> * decl.c (min_location): New. (smallest_type_quals_location): Use the latter. (check_concept_fn): Use DECL_SOURCE_LOCATION. (grokdeclarator): Use accurate locations in a number of error messages involving ds_thread, ds_storage_class, ds_virtual, ds_constexpr, ds_typedef and ds_friend; exploit min_location. /testsuite 2018-07-03 Paolo Carlini <paolo.carlini@oracle.com> * g++.dg/other/locations1.C: New. * g++.dg/tls/locations1.C: Likewise. * g++.dg/diagnostic/virtual-constexpr.C: Likewise. * g++.dg/diagnostic/virtual-static.C: Likewise. * g++.dg/concepts/fn-concept2.C: Test the locations too. * g++.dg/cpp0x/constexpr-virtual5.C: Likewise. * g++.dg/cpp0x/pr51463.C: Likewise. * g++.dg/other/typedef1.C: Likewise. * g++.dg/parse/dtor13.C: Likewise. * g++.dg/template/error44.C: Likewise. * g++.dg/template/typedef4.C: Likewise. * g++.dg/template/typedef5.C: Likewise. * g++.dg/tls/diag-2.C: Likewise. * g++.old-deja/g++.brendan/crash11.C: Likewise. From-SVN: r262358
Paolo Carlini committed -
* config/h8300/h8300.c (h8300_insn_length_from_table): Consolidate ADDB, ADDW and ADDL into a single ADD attribute which selects the right table based on the size of the operand. * config/h8300/h8300.md (length_table): Corresponding changes. All references to "addb", "addw" and "addl" changed to "add". (btst patterns): Merge two variants into a single pattern. (tstqi, tsthi): Likewise. (addhi3_incdec, addsi3_incdec): Likewise. (subhi3_h8300hs, subsi3_h8300hs): Likewise. (mulhi3, mulsi3): Likewise. (udivhi3, udivsi3): Likewise. (divhi3, divsi3): Likewise. (andorqi3, andorhi3, andorsi3): Likewise. From-SVN: r262357
Jeff Law committed -
PR target/85694 * config/i386/sse.md (uavg<mode>3_ceil): New expander. (<sse2_avx2>_uavg<mode>3<mask_name>): Simplify expander. testsuite/ChangeLog: PR target/85694 * gcc.target/i386/pr85694.c: New test. From-SVN: r262354
Uros Bizjak committed
-