aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
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
2017-01-09runtime: copy more of scheduler from Go 1.7 runtimeIan Lance Taylor16-1542/+1997
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-09aarch64-cores.def: Add thunderx2t99.Andrew Pinski6-15/+36
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-09Fix formating.Andrew Pinski1-2/+2
From-SVN: r244234
2017-01-09[PR 78365] Prudent type handling in IPA VR-propMartin Jambor6-42/+90
2017-01-09 Martin Jambor <mjambor@suse.cz> PR ipa/78365 PR ipa/78599 * ipa-prop.h (ipa_jump_func): Swap positions of vr_known and m_vr. * ipa-cp.c (ipa_vr_operation_and_type_effects): New function. (propagate_vr_accross_jump_function): Use the above function for all value range computations for pass-through jump functions and type converasion from explicit value range values. (ipcp_propagate_stage): Do not attempt to deduce types of formal parameters from TYPE_ARG_TYPES. * ipa-prop.c (ipa_write_jump_function): Remove trailing whitespace. (ipa_write_node_info): Stream type of the actual argument. (ipa_read_node_info): Likewise. Also remove trailing whitespace. testsuite/ * gcc.dg/torture/pr78365.c: New test. From-SVN: r244232
2017-01-09PR79017 workaround incomplete C99 math on darwinJonathan Wakely5-0/+87
PR libstdc++/79017 * acinclude.m4 (GLIBCXX_CHECK_C99_TR1): Check for llrint and llround functions separately on darwin and if they're missing define _GLIBCXX_NO_C99_ROUNDING_FUNCS. * config.h.in: Regenerate. * configure: Regenerate. * include/c_global/cmath [_GLIBCXX_NO_C99_ROUNDING_FUNCS] (llrint) (llrintf, llrintl, llround, llroundf, llroundl): Do not define. From-SVN: r244231
2017-01-09* vi.po: Update.Joseph Myers2-10/+13
From-SVN: r244230
2017-01-09* da.po, es.po, sv.po, vi.po: Update.Joseph Myers5-1464/+723
From-SVN: r244229
2017-01-09re PR c++/78948 ([C++17] constexpr if instantiating too eagerly)Jakub Jelinek2-3/+7
PR c++/78948 * g++.dg/cpp1z/constexpr-if10.C: Fix PR number in comment. (main): Use int* instead of long long. From-SVN: r244228
2017-01-09Do not error when -E provided (PR pch/78970).Martin Liska2-1/+16
2017-01-09 Martin Liska <mliska@suse.cz> PR pch/78970 * gcc.c (driver_handle_option): Handle OPT_E and set have_E. (lookup_compiler): Do not show error message with have_E. From-SVN: r244227
2017-01-09Define testsuite macro for correct thread_local destructorsJonathan Wakely3-4/+18
* testsuite/30_threads/condition_variable/members/3.cc: Use new macro to detect correct thread_local destructors. * testsuite/util/testsuite_hooks.h (CORRECT_THREAD_LOCAL_DTORS): Define. From-SVN: r244226
2017-01-09PR66414 optimize std::string::findJonathan Wakely2-7/+26
2017-01-09 Jonathan Wakely <jwakely@redhat.com> Aditya Kumar <hiraditya@msn.com> PR libstdc++/66414 * include/bits/basic_string.tcc (basic_string::find(const CharT*, size_type, size_type)): Optimize. Co-Authored-By: Aditya Kumar <hiraditya@msn.com> From-SVN: r244225
2017-01-09einfo.ads, einfo.adb: Remove uses of flags Has_Default_Init_Cond...Hristian Kirtchev20-1252/+2036
2017-01-09 Hristian Kirtchev <kirtchev@adacore.com> * einfo.ads, einfo.adb: Remove uses of flags Has_Default_Init_Cond, Is_Default_Init_Cond_Procedure, and Has_Inherited_Default_Init_Cond. Add uses of flags Has_Own_DIC, Is_DIC_Procedure, and Has_Inherited_DIC. (Default_Init_Cond_Procedure): Removed. (DIC_Procedure): New routine. (Has_Default_Init_Cond): Removed. (Has_DIC): New routine. (Has_Inheritable_Invariants): The attribute applies to the base type. (Has_Inherited_Default_Init_Cond): Removed. (Has_Inherited_DIC): New routine. (Has_Inherited_Invariants): The attribute applies to the base type. (Has_Own_DIC): New routine. (Has_Own_Invariants): The attribute applies to the base type. (Is_Default_Init_Cond_Procedure): Removed. (Is_DIC_Procedure): New routine. (Set_Default_Init_Cond_Procedure): Removed. (Set_DIC_Procedure): New routine. (Set_Has_Default_Init_Cond): Removed. (Set_Has_Inheritable_Invariants): The attribute applies to the base type. (Set_Has_Inherited_Default_Init_Cond): Removed. (Set_Has_Inherited_DIC): New routine. (Set_Has_Inherited_Invariants): The attribute applies to the base type. (Set_Has_Own_DIC): New routine. (Set_Has_Own_Invariants): The attribute applies to the base type. (Set_Is_Default_Init_Cond_Procedure): Removed. (Set_Is_DIC_Procedure): New routine. (Write_Entity_Flags): Update the output of all flags related to default initial condition. * exp_ch3.adb (Expand_N_Object_Declaration): Update the generation of the call to the DIC procedure. (Freeze_Type): Generate the body of the DIC procedure. * exp_ch7.adb (Build_Invariant_Procedure_Body): Replace all occurrences of Create_Append with Append_New_To. Do not generate an invariant procedure for a class-wide type. The generated body acts as a freeze action of the working type. (Build_Invariant_Procedure_Declaration): Do not generate an invariant procedure for a class-wide type. (Create_Append): Removed. * exp_util.adb: Add with and use clauses for Sem_Ch3, sem_ch6, sem_Ch12, Sem_Disp, and GNAT.HTable. Move the handling of class-wide pre/postcondition description and data structures from Sem_Prag. (Build_Class_Wide_Expression): Moved from Sem_Prag. (Build_DIC_Call): New routine. (Build_DIC_Procedure_Body): New routine. (Build_DIC_Procedure_Declaration): New routine. (Entity_Hash): Moved from Sem_Prag. (Find_DIC_Type): New routine. (Update_Primitives_Mapping): Reimplemented. (Update_Primitives_Mapping_Of_Types): New routine. * exp_util.ads (Build_Class_Wide_Expression): Moved from Sem_Prag. (Build_DIC_Call): New routine. (Build_DIC_Procedure_Body): New routine. (Build_DIC_Procedure_Declaration): New routine. (Update_Primitives_Mapping): Moved from Sem_Prag. (Update_Primitives_Mapping_Of_Types): New routine. * nlists.adb (Append_New): New routine. (Append_New_To): New routine. * nlists.ads (Append_New): New routine. (Append_New_To): New routine. * sem_ch3.adb (Analyze_Declarations): Do not generate the bodies of DIC procedures here. This is now done at the end of the visible declarations, private declarations, and at the freeze point of a type. (Analyze_Private_Extension_Declaration): A private extension inherits the DIC pragma of a parent type. (Analyze_Subtype_Declaration): No need to propagate invariant attributes to a subtype as those apply to the base type. (Build_Derived_Record_Type): No need to inherit invariants here as this is now done in Build_Derived_Type. (Build_Derived_Type): Inherit both the DIC pragma and invariants from a parent type. (Process_Full_View): Update the propagation of DIC attributes. (Propagate_Default_Init_Cond_Attributes): Removed. * sem_ch7.adb Add with and use clauses for Exp_Util. (Analyze_Package_Specification): Create the body of the DIC procedure at the end of the visible and private declarations. (Preserve_Full_Attributes): Propagate DIC attributes. * sem_ch9.adb (Analyze_Protected_Type_Declaration): Propagate DIC attributes. (Analyze_Task_Type_Declaration): Propagate DIC attributes. * sem_elab.adb (Check_A_Call): Update the call to Is_Nontrivial_Default_Init_Cond_Procedure. * sem_prag.adb Remove the with and use clauses for GNAT.HTable. Move the handling of class- wide pre/postcondition description and data structures to Exp_Util. (Analyze_Pragma): Create the declaration of the DIC procedure. There is no need to propagate invariant-related attributes at this point as this is done in Build_Invariant_Procedure_Declaration. (Build_Class_Wide_Expression): Moved to Exp_Util. (Entity_Hash): Moved to Exp_Util. (Update_Primitives_Mapping): Moved to Exp_Util. * sem_prag.ads (Build_Class_Wide_Expression): Moved to Exp_Util. (Update_Primitives_Mapping): Moved to Exp_Util. * sem_util.adb: Remove with and use clauses for Ghost and Sem_Ch13. (Build_Default_Init_Cond_Call): Removed. (Build_Default_Init_Cond_Procedure_Bodies): Removed. (Build_Default_Init_Cond_Procedure_Declaration): Removed. (Get_Views): Reimplemented. (Has_Full_Default_Initialization): Reimplement the section on DIC. (Inherit_Default_Init_Cond_Procedure): Removed. (Is_Nontrivial_Default_Init_Cond_Procedure): Removed. (Is_Nontrivial_DIC_Procedure): New routine. (Is_Verifiable_DIC_Pragma): New routine. (Propagate_DIC_Attributes): New routine. * sem_util.ads (Build_Default_Init_Cond_Call): Removed. (Build_Default_Init_Cond_Procedure_Bodies): Removed. (Build_Default_Init_Cond_Procedure_Declaration): Removed. (Inherit_Default_Init_Cond_Procedure): Removed. (Is_Nontrivial_Default_Init_Cond_Procedure): Removed. (Is_Nontrivial_DIC_Procedure): New routine. (Is_Verifiable_DIC_Pragma): New routine. (Propagate_DIC_Attributes): New routine. * sem_warn.adb (Is_OK_Fully_Initialized): Reimplement the section on DIC. * sinfo.ads, sinfo.adb: Add new attribute Expression_Copy along with usage in nodes. (Expression_Copy): New routine along with pragma Inline. (Set_Expression_Copy): New routine along with pragma Inline. From-SVN: r244224
2017-01-09re PR tree-optimization/78938 (ICE in expand_vec_cond_expr, at optabs.c:5636 ↵Jakub Jelinek4-19/+144
w/ -mavx512bw -ftree-loop-vectorize -O1) PR tree-optimization/78938 * tree-vect-stmts.c (vectorizable_condition): For non-masked COND_EXPR where comp_vectype is VECTOR_BOOLEAN_TYPE_P, use BIT_{NOT,XOR,AND,IOR}_EXPR on the comparison operands instead of {EQ,NE,GE,GT,LE,LT}_EXPR directly inside of VEC_COND_EXPR. Formatting fixes. * gcc.dg/vect/pr78938.c: New test. From-SVN: r244223
2017-01-09[tree-ssa-address] Avoid creating non-canonical RTL in gen_addr_rtxKyrylo Tkachov4-1/+40
* tree-ssa-address.c (gen_addr_rtx): Don't handle index if it is const0_rtx. * gcc.dg/20161219.c: New test. From-SVN: r244219
2017-01-09re PR tree-optimization/78997 (ICE on valid code at -O3 on x86_64-linux-gnu: ↵Richard Biener4-3/+119
verify_gimple failed) 2017-01-09 Richard Biener <rguenther@suse.de> PR tree-optimization/78997 * tree-vect-slp.c (vect_mask_constant_operand_p): Handle SSA name condition properly. * gcc.dg/torture/pr78997.c: New testcase. From-SVN: r244218
2017-01-09re PR debug/79000 (ICE: in gen_member_die, at dwarf2out.c:23995)Richard Biener5-1/+47
2017-01-09 Richard Biener <rguenther@suse.de> PR debug/79000 * dwarf2out.c (is_cxx): New overload with context. (is_naming_typedef_decl): Use it. * g++.dg/lto/pr79000_0.C: New testcase. * g++.dg/lto/pr79000_1.c: Likewise. From-SVN: r244217
2017-01-09invoke.texi (Option Summary): Correct spacing in option lists and add line ↵Sandra Loosemore2-408/+415
breaks to fix over-long lines. 2017-01-08 Sandra Loosemore <sandra@codesourcery.com> gcc/ * invoke.texi (Option Summary): Correct spacing in option lists and add line breaks to fix over-long lines. From-SVN: r244216
2017-01-08re PR middle-end/17660 (manual's description of __attribute__((mode)) is ↵Sandra Loosemore2-0/+9
poor, arrangement is confusing) 2017-01-08 Sandra Loosemore <sandra@codesourcery.com> PR middle-end/17660 gcc/ * extend.texi (Common Variable Attributes): Add xref to GCC Internals manual to explain mode attribute keywords. From-SVN: r244215
2017-01-08re PR other/16519 (-pthread undocumented)Sandra Loosemore3-17/+31
2017-01-08 Sandra Loosemore <sandra@codesourcery.com> PR other/16519 gcc/ * doc/invoke.texi (Option Summary): Move -pthread to Linker Options and Preprocessor Options. (Options for Linking): Document -pthread here.... (RS/6000 and PowerPC Options): ...not here. (Solaris 2 Options): ...or here. * doc/cppopts.texi: Document -pthread. From-SVN: r244214
2017-01-09Daily bump.GCC Administrator1-1/+1
From-SVN: r244213
2017-01-08PR tree-optimization/78913 - Probably misleading error reported by ↵Martin Sebor15-73/+304
-Wformat-length PR tree-optimization/78913 - Probably misleading error reported by -Wformat-length PR middle-end/77708 - -Wformat-length %s warns for snprintf gcc/ChangeLog: PR middle-end/77708 * doc/invoke.texi (Warning Options): Document -Wformat-truncation. * gimple-ssa-sprintf.c (call_info::reval_used, call_info::warnopt): New member functions. (format_directive): Used them. (add_bytes): Same. (pass_sprintf_length::handle_gimple_call): Same. * graphite-sese-to-poly.c (tree_int_to_gmp): Increase buffer size to avoid truncation for any argument. (extract_affine_mul): Same. * tree.c (get_file_function_name): Same. gcc/c-family/ChangeLog: PR middle-end/77708 * c.opt (-Wformat-truncation): New option. gcc/fortran/ChangeLog: PR tree-optimization/78913 PR middle-end/77708 * trans-common.c (build_equiv_decl): Increase buffer size to avoid truncation for any argument. * trans-types.c (gfc_build_logical_type): Same. gcc/testsuite/ChangeLog: PR middle-end/77708 * gcc.dg/tree-ssa/builtin-snprintf-warn-1.c: New test. * gcc.dg/tree-ssa/builtin-snprintf-warn-2.c: New test. * gcc.dg/tree-ssa/builtin-sprintf-warn-6.c: XFAIL test cases failing due to bug 78969. * gcc.dg/format/pr78569.c: Adjust. From-SVN: r244210