Commit Graph

151185 Commits

Author SHA1 Message Date
Martin Liska c86e9f03ab Fix flatten-3.c test-case.
2017-01-11  Martin Liska  <mliska@suse.cz>

	* gcc.dg/tree-ssa/flatten-3.c: Add -fno-ipa-icf to dg-options.

From-SVN: r244313
2017-01-11 12:17:27 +00:00
Jakub Jelinek 947f51d61b decomp4.C (test): Use 2 identifier decomposition instead of just 1 for the decomposition from...
* g++.dg/cpp1z/decomp4.C (test): Use 2 identifier decomposition
	instead of just 1 for the decomposition from struct C.

From-SVN: r244312
2017-01-11 12:47:30 +01:00
Eric Botcazou 849fccf831 re PR rtl-optimization/79032 (unaligned memory access generated with LRA and optimization)
PR rtl-optimization/79032
	* lra-constraints.c (simplify_operand_subreg): In the MEM case, test
	the alignment of the adjusted memory reference against that of MODE,
	instead of the alignment of the original memory reference.

From-SVN: r244311
2017-01-11 11:27:43 +00:00
Richard Biener e325277522 re PR bootstrap/79052 (bootstrap-ubsan failures due to warnings)
2017-01-11  Richard Biener  <rguenther@suse.de>

	PR bootstrap/79052
	* gimple-parser.c (c_parser_gimple_switch_stmt): Add missing
	returns on parse errors.

From-SVN: r244310
2017-01-11 11:26:59 +00:00
Ville Voutilainen f3df0b3cde Reduce the size of variant, it doesn't need an index of type size_t internally.
Reduce the size of variant, it doesn't need an index of
type size_t internally.
* include/std/variant (parse_numbers.h): New include.
(__select_index): New.
(_Variant_storage<false, _Types...>::_M_reset_impl): Use
_index_type for comparison with variant_npos.
(_Variant_storage<false, _Types...>::__index_type): New.
(_Variant_storage<false, _Types...>::_M_index): Change the
type from size_t to __index_type.
(_Variant_storage<true, _Types...>::__index_type): New.
(_Variant_storage<true, _Types...>::_M_index): Change the
type from size_t to __index_type.
(_Variant_base::_M_valid): Use _Storage::__index_type
for comparison with variant_npos.
(variant::index): Use _Base::_Storage::__index_type
for comparison with variant_npos.
* testsuite/20_util/variant/index_type.cc: New.

From-SVN: r244309
2017-01-11 13:23:43 +02:00
Martin Jambor 5102089246 [hsa] Fix hsa function cloning test
2017-01-11  Martin Jambor  <mjambor@suse.cz>

	* hsa.c (hsa_callable_function_p): Revert addition of DECL_ARTIFICIAL
	test.
	* ipa-hsa.c (process_hsa_functions): Only duplicate non-artificial
	decorated functions.

From-SVN: r244308
2017-01-11 11:35:31 +01:00
Richard Biener 80c74722bc tree-vrp.c (evrp_dom_walker::before_dom_children): Also set range/nonnull info for PHI results.
2017-01-11  Richard Biener  <rguenther@suse.de>

	* tree-vrp.c (evrp_dom_walker::before_dom_children): Also
	set range/nonnull info for PHI results.  Do not set it on
	stmts marked for removal.

	* gcc.dg/tree-ssa/pr61743-1.c: Adjust.

From-SVN: r244305
2017-01-11 09:06:29 +00:00
Jakub Jelinek 4c4b47031d re PR middle-end/50199 (wrong code with -flto -fno-merge-constants)
PR middle-end/50199
	* lto-lang.c (lto_post_options): Force flag_merge_constants = 1
	if it was 0.

	* gcc.dg/lto/pr50199_0.c: New test.

From-SVN: r244304
2017-01-11 09:40:59 +01:00
GCC Administrator a476f04689 Daily bump.
From-SVN: r244302
2017-01-11 00:16:17 +00:00
Eric Botcazou a34ab4c942 expr.c (store_field): In the bitfield case...
* expr.c (store_field): In the bitfield case, fetch the return value
	from the registers before applying a single big-endian adjustment.
	Always do a final load for a BLKmode value not larger than a word.

From-SVN: r244299
2017-01-10 23:05:13 +00:00
Martin Sebor 664b1a6b29 PR testsuite/78960 - FAIL: gcc.dg/tree-ssa/builtin-sprintf.c execution test
PR testsuite/78960 - FAIL: gcc.dg/tree-ssa/builtin-sprintf.c execution test
PR testsuite/78959 - FAIL: gcc.c-torture/execute/pr78622.c 
PR testsuite/78133 - Commit r241489 adds printf specifiers not supported by newlib

gcc/testsuite/ChangeLog:
	PR testsuite/78960
	PR testsuite/78959
	PR testsuite/78133
	* gcc.dg/tree-ssa/builtin-sprintf.c: Require C99 runtime.
	* gcc.dg/tree-ssa/pr78622.c: Ditto.

From-SVN: r244298
2017-01-10 15:45:52 -07:00
Martin Sebor fefd30867d PR middle-end/78138 - missing warnings on buffer overflow with non-constant source length
gcc/testsuite/ChangeLog:

	PR middle-end/78138
	* gcc.dg/pr78138.c: New test.

From-SVN: r244297
2017-01-10 15:35:22 -07:00
Jason Merrill 8cef58751a re PR c++/77598 (constexpr compilation failure on reference type casting)
PR c++/77598

	* g++.dg/cpp0x/constexpr-ref11.C: New.

From-SVN: r244296
2017-01-10 17:33:09 -05:00
Martin Sebor 5a50f6bbed PR middle-end/78245 - missing -Wformat-length on an overflow of a dynamically allocated buffer
gcc/testsuite/ChangeLog:

	PR middle-end/78245
	* gcc.dg/tree-ssa/builtin-sprintf-warn-3.c: Add tests.

gcc/ChangeLog:

	PR middle-end/78245
	* gimple-ssa-sprintf.c (get_destination_size): Call
	{init,fini}object_sizes.
	* tree-object-size.c (addr_object_size): Adjust.
	(pass_through_call): Adjust.
	(pass_object_sizes::execute): Adjust.
	* tree-object-size.h (fini_object_sizes): Declare.

From-SVN: r244294
2017-01-10 14:56:44 -07:00
Martin Sebor eb07c7cffb PR middle-end/78245 - missing -Wformat-length on an overflow of a dynamically allocated buffer
gcc/testsuite/ChangeLog:

	PR middle-end/78245
	* gcc.dg/tree-ssa/builtin-sprintf-warn-3.c: Add tests.

gcc/ChangeLog:

	PR middle-end/78245
	* gimple-ssa-sprintf.c (get_destination_size): Call
	{init,fini}object_sizes.
	* tree-object-size.c (addr_object_size): Adjust.
	(pass_through_call): Adjust.
	(pass_object_sizes::execute): Adjust.
	* tree-object-size.h (fini_object_sizes): Declare.

From-SVN: r244293
2017-01-10 14:54:15 -07:00
David Malcolm b9f4757f8e Fix issues with unrepresentable column numbers (PR c++/77949)
PR c++/77949 identifies an ICE when the C++ frontend attempts to emit a
fix-it hint inserting a missing semicolon at column 4097 of a source file.

This column value exceeds LINE_MAP_MAX_COLUMN_NUMBER and hence isn't
representable using a location_t.

Attempting to do so leads to these problems, which this patch fixes:

(a) when encountering a column number > LINE_MAP_MAX_COLUMN_NUMBER we
create a new linemap with m_column_and_range_bits == 0, but
linemap_position_for_column doesn't check for this, and hence can emit
a bogus location_t value that's calculated relative to the previous
linemap start, but which will be decoded relative to the new linemap,
leading to very large incorrect line values.

(b) when encountering a column number that can't be represented, and
for which the linemap was pre-existing, the code would hit this assertion:
  if (linemap_assert_fails (column < (1u << map->m_column_and_range_bits)))
around a bail-out condition.  The patch replaces this assertion with a
simple conditional, to stop the ICE when this occurs, and fixes the
bit count (effective column bits, vs column+range bits)

(c) the C++ frontend wasn't checking for failure of
linemap_position_for_loc_and_offset when considering emitting the fix-it
hint.  The patch adds a conditional, so that no fix-it hint is emitted
if the location is bogus.

gcc/cp/ChangeLog:
	PR c++/77949
	* parser.c (cp_parser_class_specifier_1): Only suggest inserting
	a missing semicolon if we have a valid insertion location for
	the fix-it hint.

gcc/ChangeLog:
	PR c++/77949
	* input.c (selftest::test_accessing_ordinary_linemaps): Verify
	that we correctly handle column numbers greater than
	LINE_MAP_MAX_COLUMN_NUMBER.

gcc/testsuite/ChangeLog:
	PR c++/77949
	* g++.dg/diagnostic/pr77949.C: New test case.

libcpp/ChangeLog:
	PR c++/77949
	* line-map.c (linemap_position_for_column): When calling
	linemap_start_line, detect if a new linemap was created with
	0 column bits, and bail out early if this is the case.
	(linemap_position_for_loc_and_offset): Replace overzealous
	linemap_assert_fails with a simple conditional; use correct
	bit count.

From-SVN: r244292
2017-01-10 21:54:09 +00:00
Ian Lance Taylor 6fcb740ac4 runtime: copy more scheduler code from Go 1.7 runtime
I looked at a diff of proc.go between Go 1.7 and gccgo, and copied
    over all the easy stuff.
    
    Reviewed-on: https://go-review.googlesource.com/35090

From-SVN: r244291
2017-01-10 21:09:00 +00:00
Martin Sebor c16880eff0 PR tree-optimization/78775 - [7 Regression] ICE in maybe_warn_alloc_args_overflow
gcc/ChangeLog:

	PR tree-optimization/78775
	* builtins.c (get_size_range): Move...
	* calls.c: ...to here.
	(alloc_max_size): Accept zero argument.
	(operand_signed_p): Remove.
	(maybe_warn_alloc_args_overflow): Call get_size_range.
	* calls.h (get_size_range): Declare.

gcc/testsuite/ChangeLog:

	PR tree-optimization/78775
	* gcc.dg/attr-alloc_size-4.c: Add test cases.
	* gcc.dg/attr-alloc_size-10.c: New test.
	* gcc.dg/attr-alloc_size-11.c: New test.
	* gcc.dg/builtin-stringop-chk-7.c: New test.
	* gcc.dg/pr78775.c: New test.
	* gcc.dg/pr78973-2.c: New test.
	* gcc.dg/pr78973.c: New test.

From-SVN: r244290
2017-01-10 14:02:07 -07:00
Joe Seymour 5d58291930 driver-msp430.c (msp430_mcu_data): Sync with data from TI's devices.csv file as of September 2016.
2017-01-10  Joe Seymour  <joe.s@somniumtech.com>

	* config/msp430/driver-msp430.c (msp430_mcu_data): Sync with data
	from TI's devices.csv file as of September 2016.
	* config/msp430/msp430.c (msp430_mcu_data): Likewise.

From-SVN: r244289
2017-01-10 15:59:20 -05:00
Joseph Myers b7cfd5c477 * da.po: Update.
From-SVN: r244288
2017-01-10 20:59:06 +00:00
Jeff Law 5363d9d949 re PR middle-end/77766 (wrong code at -O2 and -O3 in 64-bit mode on x86_64-linux-gnu (executable hangs))
PR tree-optimization/77766
	PR tree-optimization/78856
	* gcc.c-torture/execute/pr77766.c: New test.

From-SVN: r244287
2017-01-10 13:55:59 -07:00
Sandra Loosemore dc703d70ec extend.texi: Tweak formatting to fix overfull hbox warnings.
2017-01-10  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* doc/extend.texi: Tweak formatting to fix overfull hbox warnings.
	* doc/invoke.texi: Likewise.
	* doc/md.texi: Likewise.
	* doc/objc.texi: Likewise.

From-SVN: r244286
2017-01-10 15:37:00 -05:00
Jason Merrill e363df3fd3 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_variadic_using.
From-SVN: r244283
2017-01-10 14:04:28 -05:00
Jason Merrill 2af5cb5013 FI 20, decomposition declaration with parenthesized initializer.
* parser.c (cp_parser_decomposition_declaration): Use
	cp_parser_initializer.

From-SVN: r244282
2017-01-10 14:04:22 -05:00
Joshua Conner 491b3c5f22 fuchsia-elf.h: New file.
2017-01-10  Joshua Conner  <joshconner@google.com>

        * config/arm/fuchsia-elf.h: New file.
        * config/fuchsia.h: New file.
        * config.gcc (*-*-fuchsia*): Set native_system_header_dir.
        (aarch64*-*-fuchsia*, arm*-*-fuchsia*, x86_64-*-fuchsia*): Add to
        targets.
        * config.host: (aarch64*-*-fuchsia*, arm*-*-fuchsia*): Add to hosts.

From-SVN: r244281
2017-01-10 18:00:43 +00:00
Jonathan Wakely 904112f6bb Adjust effective target selector to fix C++17 FAIL
* testsuite/18_support/exception_ptr/60612-unexpected.cc: Adjust
	effective target selector to prevent running in C++17 mode.

From-SVN: r244280
2017-01-10 17:44:42 +00:00
Jonathan Wakely d2e1d4b713 PR77528 add default constructors for container adaptors
PR libstdc++/77528
	* include/bits/stl_queue.h (queue::c): Add default member initializer.
	(queue::queue()): Add constructor and define as defaulted.
	(queue::queue(_Sequence&&)): Remove default argument.
	(priority_queue::c, priority_queue::comp): Add default member
	initializers.
	(priority_queue::priority_queue()): Add constructor and define as
	defaulted.
	(priority_queue::priority_queue(const _Compare&, _Sequence&&)):
	Remove default argument for first parameter.
	* include/bits/stl_stack.h (stack::c): Add default member initializer.
	(stack::stack()): Add constructor and define as defaulted.
	(stack::stack(const _Sequence&)): Remove default argument.
	* testsuite/23_containers/priority_queue/requirements/
	explicit_instantiation/1.cc: Test explicit instantiation with
	non-DefaultConstructible sequence.
	* testsuite/23_containers/priority_queue/77528.cc: New test.
	* testsuite/23_containers/priority_queue/requirements/
	explicit_instantiation/1_c++0x.cc: Replace with 1_c++98.cc.
	* testsuite/23_containers/queue/77528.cc: New test.
	* testsuite/23_containers/queue/requirements/explicit_instantiation/
	1.cc: Test explicit instantiation with non-DefaultConstructible
	sequence.
	* testsuite/23_containers/queue/requirements/explicit_instantiation/
	1_c++0x.cc: Replace with 1_c++98.cc.
	* testsuite/23_containers/stack/77528.cc: New test.
	* testsuite/23_containers/stack/requirements/explicit_instantiation/
	1.cc: Test explicit instantiation with non-DefaultConstructible
	sequence.
	* testsuite/23_containers/stack/requirements/explicit_instantiation/
	1_c++0x.cc: Replace with 1_c++98.cc.

From-SVN: r244278
2017-01-10 17:30:20 +00:00
Uros Bizjak 034afd0231 * ChangeLog: Fix whitespace.
From-SVN: r244276
2017-01-10 17:23:52 +01:00
James Clarke 942136a43d re PR sanitizer/78992 (Incorrect sigaction definition on 32-bit sparc)
PR sanitizer/78992
	* sanitizer_common/sanitizer_platform_limits_posix.h
	(struct __sanitizer_sigaction): Cherry-pick upstream r291561.

From-SVN: r244275
2017-01-10 16:22:56 +01:00
Richard Biener aae23693f8 re PR tree-optimization/79034 (error: missing PHI def in verify_gimple_in_cfg)
2016-01-10  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/79034
	* tree-call-cdce.c (shrink_wrap_one_built_in_call_with_conds):
	Propagate out degenerate PHIs in the joiner.

	* g++.dg/torture/pr79034.C: New testcase.

From-SVN: r244274
2017-01-10 14:50:32 +00:00
Martin Liska a0843aedb8 IPA ICF: make algorithm stable to survive -fcompare-debug
2017-01-10  Martin Liska  <mliska@suse.cz>

	* gcc.dg/ipa/ipa-icf-1.c: Change scanned pattern.
	* gcc.dg/ipa/ipa-icf-10.c: Likewise.
	* gcc.dg/ipa/ipa-icf-11.c: Likewise.
	* gcc.dg/ipa/ipa-icf-12.c: Likewise.
	* gcc.dg/ipa/ipa-icf-13.c: Likewise.
	* gcc.dg/ipa/ipa-icf-16.c: Likewise.
	* gcc.dg/ipa/ipa-icf-18.c: Likewise.
	* gcc.dg/ipa/ipa-icf-2.c: Likewise.
	* gcc.dg/ipa/ipa-icf-20.c: Likewise.
	* gcc.dg/ipa/ipa-icf-21.c: Likewise.
	* gcc.dg/ipa/ipa-icf-23.c: Likewise.
	* gcc.dg/ipa/ipa-icf-25.c: Likewise.
	* gcc.dg/ipa/ipa-icf-26.c: Likewise.
	* gcc.dg/ipa/ipa-icf-27.c: Likewise.
	* gcc.dg/ipa/ipa-icf-3.c: Likewise.
	* gcc.dg/ipa/ipa-icf-35.c: Likewise.
	* gcc.dg/ipa/ipa-icf-36.c: Likewise.
	* gcc.dg/ipa/ipa-icf-37.c: Likewise.
	* gcc.dg/ipa/ipa-icf-5.c: Likewise.
	* gcc.dg/ipa/ipa-icf-7.c: Likewise.
	* gcc.dg/ipa/ipa-icf-8.c: Likewise.
	* gcc.dg/ipa/pr64307.c: Likewise.
	* gcc.dg/ipa/pr77653.c: Likewise.
2017-01-10  Martin Liska  <mliska@suse.cz>

	* ipa-icf.c (sort_sem_items_by_decl_uid): New function.
	(sort_congruence_classes_by_decl_uid): Likewise.
	(sort_congruence_class_groups_by_decl_uid): Likewise.
	(sem_item_optimizer::merge_classes): Sort class, groups in these
	classes and members in the groups by DECL_UID of declarations.
	This would make merge operations stable.

From-SVN: r244273
2017-01-10 14:39:33 +00:00
Martin Liska 3746a4b2bc Revert m_classes_vec introduction.
2017-01-10  Martin Liska  <mliska@suse.cz>

	* ipa-icf.c (sem_item_optimizer::sem_item_optimizer): Remove
	usage of m_classes_vec.
	(sem_item_optimizer::~sem_item_optimizer):  Likewise.
	(sem_item_optimizer::get_group_by_hash): Likewise.
	(sem_item_optimizer::subdivide_classes_by_equality): Likewise.
	(sem_item_optimizer::subdivide_classes_by_sensitive_refs): Likewise.
	(sem_item_optimizer::verify_classes): Likewise.
	(sem_item_optimizer::process_cong_reduction): Likewise.
	(sem_item_optimizer::dump_cong_classes): Likewise.
	(sem_item_optimizer::merge_classes): Likewise.
	* ipa-icf.h (congruence_class_hash): Rename from
	congruence_class_group_hash.  Remove declaration of
	m_classes_vec.

From-SVN: r244272
2017-01-10 14:37:55 +00:00
Felipe Magno de Almeida 26b67e383f Use temporary int objects to access struct tm members
Call _M_extract_* functions family through temporary int objects, so
it doesn't convert from lvalue to rvalue through a temporary in AVR
because of the incompatible types used in AVR-Libc.

This fixes compilation errors with AVR-Libc while compiling libstdc++
for AVR target.

2017-01-10  Felipe Magno de Almeida <felipe@expertisesolutions.com.br>

	* include/bits/locale_facets_nonio.tcc
	(time_get::_M_extract_via_format): Avoid compilation errors with
	non-standard struct tm.

From-SVN: r244271
2017-01-10 14:15:59 +00:00
Andrew Senkevich 79fc8ffe6c Enable AVX-512 VPOPCNTD/VPOPCNTQ instructions.
gcc/
	* common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VPOPCNTDQ_SET,
	OPTION_MASK_ISA_AVX512VPOPCNTDQ_UNSET): New.
	* config.gcc: Add avx512vpopcntdqintrin.h.
	* config/i386/avx512vpopcntdqintrin.h: New.
	* config/i386/cpuid.h (bit_AVX512VPOPCNTDQ): New.
	* config/i386/i386-builtin-types.def: Add new types.
	* config/i386/i386-builtin.def (__builtin_ia32_vpopcountd_v16si,
	__builtin_ia32_vpopcountd_v16si_mask, __builtin_ia32_vpopcountq_v8di,
	__builtin_ia32_vpopcountq_v8di_mask): New.
	* config/i386/i386-c.c (ix86_target_macros_internal): Define
	__AVX512VPOPCNTDQ__.
	* config/i386/i386.c (ix86_target_string): Add -mavx512vpopcntdq.
	(PTA_AVX512VPOPCNTDQ): Define.
	* config/i386/i386.h (TARGET_AVX512VPOPCNTDQ,
	TARGET_AVX512VPOPCNTDQ_P): Define.
	* config/i386/i386.opt: Add mavx512vpopcntdq.
	* config/i386/immintrin.h: Include avx512vpopcntdqintrin.h.
	* config/i386/sse.md (define_insn "vpopcount<mode><mask_name>"): New.

libgcc/
	* config/i386/cpuinfo.h (processor_features): Add
	FEATURE_AVX512VPOPCNTDQ.
	* config/i386/cpuinfo.c (get_available_features): Habdle new
	feature.

gcc/testsuite/
	* g++.dg/other/i386-2.C: Add -mavx512vpopcntdq.
	* g++.dg/other/i386-3.C: Ditto.
	* gcc.target/i386/sse-12.c: Ditto.
	* gcc.target/i386/sse-13.c: Ditto.
	* gcc.target/i386/sse-22.c: Ditto.
	* gcc.target/i386/sse-23.c: Ditto.
	* gcc.target/i386/builtin_target.c: Handle new option.
	* gcc.target/i386/funcspec-56.inc: Test new attributes.
	* gcc.target/i386/avx512vpopcntdq-vpopcntd.c: New test.
	* gcc.target/i386/avx512vpopcntdq-vpopcntq.c: Ditto.

From-SVN: r244263
2017-01-10 12:55:41 +00:00
François Dumont f9a27859df Make Python printers and xmethods work with versioned namespace
2017-01-10  François Dumont  <fdumont@gcc.gnu.org>
	    Jonathan Wakely  <jwakely@redhat.com>

	* python/libstdcxx/v6/printers.py (_versioned_namespace): Define.
	(is_specialization, strip_versioned_namespace): New helpers functions
	to work with symbols in the versioned namespace.
	(Printer.add_version): Add second name using versioned namespace.
	(add_one_template_type_printer, add_one_type_printer): Add second
	type printers using versioned namespace.
	(register_type_printers): Add template type printer for basic_string.
	(build_libstdcxx_dictionary): Remove dead code.
	* python/libstdcxx/v6/xmethods.py: Make all matchers look for
	versioned namespace.
	* testsuite/libstdc++-prettyprinters/48362.cc: Adjust expected
	results.
	* testsuite/libstdc++-prettyprinters/whatis.cc: Likewise.

Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>

From-SVN: r244262
2017-01-10 12:38:42 +00:00
Jan Hubicka ad730facfb re PR middle-end/77484 (Static branch predictor causes ~6-8% regression of SPEC2000 GAP)
PR middle-end/77484
	* predict.def (PRED_CALL): Set to 67.

From-SVN: r244260
2017-01-10 09:14:54 +00:00
Ian Lance Taylor 0c22e4415f compiler, runtime: drop size arguments to hash/equal functions
Drop the size arguments for the hash/equal functions stored in type
    descriptors.  Types know what size they are.  To make this work,
    generate hash/equal functions for types that can use an identity
    comparison but are not a standard size and alignment.
    
    Drop the multiplications by 33 in the generated hash code and the
    reflect package hash code.  They are not necessary since we started
    passing a seed value around, as the seed includes the hash of the
    earlier values.
    
    Copy the algorithms for standard types from the Go 1.7 runtime,
    replacing the C functions.
    
    Reviewed-on: https://go-review.googlesource.com/34983

From-SVN: r244256
2017-01-10 03:59:20 +00:00
GCC Administrator 8462d909a7 Daily bump.
From-SVN: r244255
2017-01-10 00:16:25 +00:00
Martin Sebor dfa6951fdc PR testsuite/79036 - gcc.dg/tree-ssa/builtin-sprintf.c fails starting with r244037
PR testsuite/79036 - gcc.dg/tree-ssa/builtin-sprintf.c fails starting with r244037
gcc/testsuite/ChangeLog:
	* gcc.dg/tree-ssa/builtin-sprintf.c: Handle extended formats
	with different precisions.

From-SVN: r244250
2017-01-09 16:31:38 -07:00
Eric Botcazou a271e41561 expr.c (store_field): In the bitfield case...
* expr.c (store_field): In the bitfield case, if the value comes from
	a function call and is of an aggregate type returned in registers, do
	not modify the field mode; extract the value in all cases if the mode
	is BLKmode and the size is not larger than a word.

From-SVN: r244249
2017-01-09 22:17:17 +00:00
Dominique d'Humieres 852a63c540 re PR target/71017 (libgcc/config/i386/cpuinfo.c:346:17: runtime error: left shift of 1 by 31 places cannot be represented in type 'int')
PR target/71017
	* config/i386/cpuid.h: Fix undefined behavior.

From-SVN: r244248
2017-01-09 23:00:32 +01:00
Jeff Law b5acc7a1be re PR tree-optimization/79007 (gcc.dg/tree-ssa/dse-points-to.c fails starting with r244067)
PR tree-optimization/79007
	PR tree-optimization/67955
	* tree-ssa-alias.c (same_addr_size_stores_p): Only need to be
	conservative for pt.null when flag_non_call_exceptions is on.

From-SVN: r244247
2017-01-09 14:53:02 -07:00
Jason Merrill f4da28a0ab Implement P0195R2, C++17 variadic using.
* parser.c (cp_parser_using_declaration): Handle ellipsis and comma.
	* pt.c (tsubst_decl): Handle pack expansion in USING_DECL_SCOPE.
	* error.c (dump_decl): Likewise.

From-SVN: r244246
2017-01-09 16:51:08 -05:00
Jakub Jelinek bd2c62704b re PR translation/79019 (translatable string typo in cif-code.def:141)
PR translation/79019
	PR translation/79020
	* params.def (PARAM_INLINE_MIN_SPEEDUP,
	PARAM_IPA_CP_SINGLE_CALL_PENALTY,
	PARAM_USE_AFTER_SCOPE_DIRECT_EMISSION_THRESHOLD): Fix typos
	in descriptions.
	* config/avr/avr.opt (maccumulate-args): Likewise.
	* config/msp430/msp430.opt (mwarn-mcu): Likewise.
	* common.opt (freport-bug): Likewise.
	* cif-code.def (CIF_FINAL_ERROR): Likewise.
	* doc/invoke.texi (ipa-cp-single-call-penalty): Likewise.
	* config/s390/s390.c (s390_invalid_binary_op): Fix spelling in
	translatable string.
	* config/i386/i386.c (function_value_32): Likewise.
	* config/nios2/nios2.c (nios2_valid_target_attribute_rec): Likewise.
	* config/msp430/msp430.c (msp430_option_override, msp430_attr):
	Likewise.
	* config/msp430/driver-msp430.c (msp430_select_hwmult_lib): Likewise.
	* common/config/msp430/msp430-common.c (msp430_handle_option):
	Likewise.
	* symtab.c (symtab_node::verify_base): Likewise.
	* opts.c (set_debug_level): Likewise.
	* tree.c (verify_type_variant): Likewise.  Fix typo in comment.
	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Add
	missing whitespace to translatable strings.
	* config/avr/avr.md (bswapsi2): Fix typo in comment.
	* config/sh/superh.h: Likewise.
	* config/i386/xopintrin.h: Likewise.
	* config/i386/znver1.md: Likewise.
	* config/rs6000/rs6000.c (struct rs6000_opt_mask): Likewise.
	* ipa-inline-analysis.c (compute_inline_parameters): Likewise.
	* double-int.h (struct double_int): Likewise.
	* double-int.c (div_and_round_double): Likewise.
	* wide-int.cc: Likewise.
	* tree-ssa.c (non_rewritable_mem_ref_base): Likewise.
	* tree-ssa-sccvn.c (vn_reference_lookup_3): Likewise.
	* cfgcleanup.c (crossjumps_occured): Renamed to ...
	(crossjumps_occurred): ... this.
	(try_crossjump_bb, try_head_merge_bb, try_optimize_cfg, cleanup_cfg):
	Adjust all uses.
cp/
	* semantics.c (finish_omp_clauses): Add missing whitespace to
	translatable strings.
	* cp-cilkplus.c (cpp_validate_cilk_plus_loop_aux): Fix comment typo.
lto/
	* lto-symtab.c (lto_symtab_merge_symbols): Fix comment typo.
fortran/
	* decl.c (attr_decl1): Fix spelling in translatable string.
	* intrinsic.texi: Fix spelling - invokation -> invocation.
	* lang.opt (faggressive-function-elimination, gfc_convert): Fix
	typos in descriptions.
	* openmp.c (resolve_omp_clauses): Add missing whitespace to
	translatable strings.
c-family/
	* c.opt (Wnormalized=): Fix typo in description.
testsuite/
	* c-c++-common/goacc/host_data-2.c (f): Adjust expected spelling of
	diagnostics.
	* gfortran.dg/initialization_17.f90: Likewise.

From-SVN: r244245
2017-01-09 22:48:33 +01:00
Dominique d'Humieres 1c1d8e7506 re PR testsuite/79026 (The tests changed by revision r244006 now fail on darwin)
testsuite/ChangeLog:

	PR testsuite/79026
	* gcc.target/i386/pr78904-2.c: Require nonpic targets.
	* gcc.target/i386/pr78904-4.c: Likewise.
	* gcc.target/i386/pr78904-6.c: Likewise.
	* gcc.target/i386/pr78967-2.c: Likewise.

From-SVN: r244244
2017-01-09 22:41:02 +01:00
Francois-Xavier Coudert c508bc2d52 re PR libgomp/60670 (omp.h may differ between multilibs)
PR libgomp/60670
	* Makefile.am: Make fincludedir multilib-aware.
	* Makefile.in: Regenerate.

From-SVN: r244239
2017-01-09 20:29:06 +00:00
Jakub Jelinek cb330ba582 re PR tree-optimization/78899 (Vestorized loop with optmized mask stores motion is completely deleted after r242520.)
PR tree-optimization/78899
	* tree-if-conv.c (version_loop_for_if_conversion): Instead of
	returning bool return struct loop *, NULL for failure and the new
	loop on success.
	(versionable_outer_loop_p): Don't version outer loop if it has
	dont_vectorized bit set.
	(tree_if_conversion): When versioning outer loop, ensure
	tree_if_conversion is performed also on the inner loop of the
	non-vectorizable outer loop copy.
	* tree-vectorizer.c (set_uid_loop_bbs): Formatting fix.  Fold
	LOOP_VECTORIZED in inner loop of the scalar outer loop and
	prevent vectorization of it.
	(vectorize_loops): For outer + inner LOOP_VECTORIZED, ensure
	the outer loop vectorization of the non-scalar version is attempted
	before vectorization of the inner loop in scalar version.  If
	outer LOOP_VECTORIZED guarded loop is not vectorized, prevent
	vectorization of its inner loop.
	* tree-vect-loop-manip.c (rename_variables_in_bb): If outer_loop
	has 2 inner loops, rename also on edges from bb whose single pred
	is outer_loop->header.  Fix typo in function comment.

	* gcc.target/i386/pr78899.c: New test.
	* gcc.dg/pr71077.c: New test.

From-SVN: r244238
2017-01-09 21:10:23 +01:00
Martin Sebor 47d5beb478 PR bootstrap/79033 - asan.c not compiling with make BOOT_CFLAGS=-O0
gcc/ChangeLog:
	* asan.c (asan_emit_stack_protection): Increase local buffer size
	to avoid snprintf truncation warning.

From-SVN: r244237
2017-01-09 13:08:49 -07:00
Ian Lance Taylor 2193ad7fbf runtime: copy more of scheduler from Go 1.7 runtime
This started by moving procresize from C to Go so that we can pass the
    right type to the memory allocator when allocating a p, which forced
    the gomaxprocs variable to move from C to Go, and everything else
    followed from that.
    
    Reviewed-on: https://go-review.googlesource.com/34916

From-SVN: r244236
2017-01-09 19:37:19 +00:00
Andrew Pinski d1261ac6eb aarch64-cores.def: Add thunderx2t99.
2017-01-09  Andrew Pinski  <apinski@cavium.com>

        * config/aarch64/aarch64-cores.def: Add thunderx2t99.  Change vulcan
        to reference thunderx2t99 for the tuning structure
        * config/aarch64/aarch64-cost-tables.h (vulcan_extra_costs): Rename to ...
        (thunderx2t99_extra_costs): This.
        * config/aarch64/aarch64-tune.md: Regenerate.
        * config/aarch64/aarch64.c (vulcan_addrcost_table): Rename to ...
        (vulcan_addrcost_table): This.
        (vulcan_regmove_cost): Rename to ...
        (thunderx2t99_regmove_cost): This.
        (vulcan_vector_cost): Rename to ...
        (thunderx2t99_vector_cost): this.
        (vulcan_branch_cost): Rename to ...
        (thunderx2t99_branch_cost): This.
        (vulcan_tunings): Rename to ...
        (thunderx2t99_tunings): This and s/vulcan/thunderx2t99 .
        * doc/invoke.texi (AARCH64/mtune): Add thunderx2t99.

From-SVN: r244235
2017-01-09 10:52:42 -08:00