aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2017-01-11[arm] Replace command-line option .def files with single definition fileRichard Earnshaw20-604/+4702
The files arm-cores.def, arm-fpus.def and arm-arches.def are parsed and used in several places and the format is slightly awkward to maintain as they must be parsable in C and by certain scripts. Furthermore, changes to the content that affects every entry is particularly awkward for dealing with merges. This patch replaces all three files with a single file that specifies all the command-line related definitions in a new format that allows for better checking for consistency as well as (hopefully) easier to merge changes. The awk script used to parse it is relatively complicated, but should be pretty portable. It works by parsing in all the data and then operating one of a number of possible sub-commands to generate the desired output. The new method picked up one error. The CPU descriptions referred to an architecture ARMv5tej which was not supported by -march. This has been fixed by adding the relevant entry to the architecture list. gcc: * config.gcc: Use new awk script to check CPU, FPU and architecture parameters for --with-... options. * config/arm/parsecpu.awk: New file * config/arm/arm-cpus.in: New file. * config/arm/arm-opts.h: Include arm-cpu.h instead of processing .def files. * config/arm/arm.c: Include arm-cpu-data.h instead of processing .def files. * config/arm/t-arm: Update dependency rules. * common/config/arm/arm-common.c: Include arm-cpu-cdata.h instead of processing .def files. * config/arm/genopt.sh: Deleted. * config/arm/gentune.sh: Deleted. * config/arm/arm-cores.def: Deleted. * config/arm/arm-arches.def: Deleted. * config/arm/arm-fpus.def: Deleted. * config/arm/arm-tune.md: Regenerated. * config/arm/arm-tables.opt: Regenerated. * config/arm/arm-cpu.h: New generated file. * config/arm/arm-cpu-data.h: New generated file. * config/arm/arm-cpu-cdata.h: New generated file. Contrib: * gcc_update: Adjust touch list. From-SVN: r244316
2017-01-11re PR lto/79042 (LTO doesn't propagate node->dynamically_initialized bit for ↵Maxim Ostapenko2-0/+9
varpool nodes.) PR lto/79042 * lto-cgraph.c (lto_output_varpool_node): Pack dynamically_initialized bit. (input_varpool_node): Unpack dynamically_initialized bit. From-SVN: r244314
2017-01-11Fix flatten-3.c test-case.Martin Liska2-1/+5
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-11decomp4.C (test): Use 2 identifier decomposition instead of just 1 for the ↵Jakub Jelinek2-1/+6
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-11re PR rtl-optimization/79032 (unaligned memory access generated with LRA and ↵Eric Botcazou4-4/+48
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-11re PR bootstrap/79052 (bootstrap-ubsan failures due to warnings)Richard Biener2-85/+93
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-11Reduce the size of variant, it doesn't need an index of type size_t internally.Ville Voutilainen3-5/+67
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[hsa] Fix hsa function cloning testMartin Jambor3-5/+12
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-11tree-vrp.c (evrp_dom_walker::before_dom_children): Also set range/nonnull ↵Richard Biener4-15/+47
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-11re PR middle-end/50199 (wrong code with -flto -fno-merge-constants)Jakub Jelinek4-0/+34
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-11Daily bump.GCC Administrator1-1/+1
From-SVN: r244302
2017-01-10expr.c (store_field): In the bitfield case...Eric Botcazou2-39/+45
* 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-10PR testsuite/78960 - FAIL: gcc.dg/tree-ssa/builtin-sprintf.c execution testMartin Sebor3-4/+16
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-10PR middle-end/78138 - missing warnings on buffer overflow with non-constant ↵Martin Sebor2-0/+27
source length gcc/testsuite/ChangeLog: PR middle-end/78138 * gcc.dg/pr78138.c: New test. From-SVN: r244297
2017-01-10re PR c++/77598 (constexpr compilation failure on reference type casting)Jason Merrill1-0/+26
PR c++/77598 * g++.dg/cpp0x/constexpr-ref11.C: New. From-SVN: r244296
2017-01-10PR middle-end/78245 - missing -Wformat-length on an overflow of a ↵Martin Sebor2-0/+15
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-10PR middle-end/78245 - missing -Wformat-length on an overflow of a ↵Martin Sebor4-14/+118
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-10Fix issues with unrepresentable column numbers (PR c++/77949)David Malcolm8-2/+84
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-10runtime: copy more scheduler code from Go 1.7 runtimeIan Lance Taylor13-394/+587
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-10PR tree-optimization/78775 - [7 Regression] ICE in ↵Martin Sebor12-173/+517
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-10driver-msp430.c (msp430_mcu_data): Sync with data from TI's devices.csv file ↵Joe Seymour3-8/+26
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* da.po: Update.Joseph Myers2-8/+11
From-SVN: r244288
2017-01-10re PR middle-end/77766 (wrong code at -O2 and -O3 in 64-bit mode on ↵Jeff Law2-0/+34
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-10extend.texi: Tweak formatting to fix overfull hbox warnings.Sandra Loosemore5-34/+57
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* c-cppbuiltin.c (c_cpp_builtins): Define __cpp_variadic_using.Jason Merrill3-0/+12
From-SVN: r244283
2017-01-10FI 20, decomposition declaration with parenthesized initializer.Jason Merrill3-15/+22
* parser.c (cp_parser_decomposition_declaration): Use cp_parser_initializer. From-SVN: r244282
2017-01-10fuchsia-elf.h: New file.Joshua Conner5-4/+127
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-10Adjust effective target selector to fix C++17 FAILJonathan Wakely2-1/+4
* testsuite/18_support/exception_ptr/60612-unexpected.cc: Adjust effective target selector to prevent running in C++17 mode. From-SVN: r244280
2017-01-10PR77528 add default constructors for container adaptorsJonathan Wakely12-12/+221
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* ChangeLog: Fix whitespace.Uros Bizjak1-20/+11
From-SVN: r244276
2017-01-10re PR sanitizer/78992 (Incorrect sigaction definition on 32-bit sparc)James Clarke2-2/+11
PR sanitizer/78992 * sanitizer_common/sanitizer_platform_limits_posix.h (struct __sanitizer_sigaction): Cherry-pick upstream r291561. From-SVN: r244275
2017-01-10re PR tree-optimization/79034 (error: missing PHI def in verify_gimple_in_cfg)Richard Biener4-1/+75
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-10IPA ICF: make algorithm stable to survive -fcompare-debugMartin Liska26-40/+159
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-10Revert m_classes_vec introduction.Martin Liska3-62/+67
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-10Use temporary int objects to access struct tm membersFelipe Magno de Almeida2-12/+38
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-10Enable AVX-512 VPOPCNTD/VPOPCNTQ instructions.Andrew Senkevich27-18/+257
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-10Make Python printers and xmethods work with versioned namespaceFrançois Dumont5-42/+91
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-10re PR middle-end/77484 (Static branch predictor causes ~6-8% regression of ↵Jan Hubicka2-1/+6
SPEC2000 GAP) PR middle-end/77484 * predict.def (PRED_CALL): Set to 67. From-SVN: r244260
2017-01-10compiler, runtime: drop size arguments to hash/equal functionsIan Lance Taylor19-488/+510
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-10Daily bump.GCC Administrator1-1/+1
From-SVN: r244255
2017-01-09PR testsuite/79036 - gcc.dg/tree-ssa/builtin-sprintf.c fails starting with ↵Martin Sebor2-0/+15
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-09expr.c (store_field): In the bitfield case...Eric Botcazou14-23/+219
* 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-09re PR target/71017 (libgcc/config/i386/cpuinfo.c:346:17: runtime error: left ↵Dominique d'Humieres2-1/+6
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-09re PR tree-optimization/79007 (gcc.dg/tree-ssa/dse-points-to.c fails ↵Jeff Law2-3/+10
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-09Implement P0195R2, C++17 variadic using.Jason Merrill7-13/+119
* 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-09re PR translation/79019 (translatable string typo in cif-code.def:141)Jakub Jelinek44-80/+166
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-09re PR testsuite/79026 (The tests changed by revision r244006 now fail on darwin)Dominique d'Humieres5-0/+12
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-09re PR libgomp/60670 (omp.h may differ between multilibs)Francois-Xavier Coudert3-2/+8
PR libgomp/60670 * Makefile.am: Make fincludedir multilib-aware. * Makefile.in: Regenerate. From-SVN: r244239
2017-01-09re PR tree-optimization/78899 (Vestorized loop with optmized mask stores ↵Jakub Jelinek7-18/+201
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-09PR bootstrap/79033 - asan.c not compiling with make BOOT_CFLAGS=-O0Martin Sebor2-1/+7
gcc/ChangeLog: * asan.c (asan_emit_stack_protection): Increase local buffer size to avoid snprintf truncation warning. From-SVN: r244237