1. 04 Nov, 2019 8 commits
    • Regenerate gcc/configure · e0f8e3da
      From-SVN: r277773
      Jozef Lawrynowicz committed
    • MSP430: Add new methods of finding external MCU data file · d7eabfd4
      MCU data file can now be specified with an environment variable or installed
      into a toolchain subdirectory.
      
      2019-11-04  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
      
      gcc/
      	* config/msp430/driver-msp430.c
      	(msp430_get_linker_devices_include_path): New spec function.
      	* config/msp430/msp430-devices.c (msp430_dirname): New function.
      	(extract_devices_dir_from_exec_prefix): New function.
      	(extract_devices_dir_from_collect_gcc): New function.
      	(msp430_check_env_var_for_devices): New function.
      	(msp430_check_path_for_devices): Use xstrdup instead of ASTRDUP.
      	(parse_devices_csv): Call msp430_check_env_var_for_devices if
      	devices.csv was not found using other methods.
      	* config/msp430/msp430-devices.h (msp430_check_env_var_for_devices):
      	New prototype.
      	(msp430_dirname): Likewise.
      	* config/msp430/msp430.c (msp430_register_pre_includes): New function.
      	* config/msp430/msp430.h (EXTRA_SPEC_FUNCTIONS): Add
      	msp430_get_linker_devices_include_path.
      	(TARGET_EXTRA_PRE_INCLUDES): Define.
      	* doc/invoke.texi: Document new ways of searching for support files.
      
      gcc/testsuite/
      	* gcc.target/msp430/devices/csv-using-env-var.c: New test.
      	* gcc.target/msp430/devices/csv-using-installed.c: New test.
      	* gcc.target/msp430/devices/csv-using-option.c: New test.
      	* gcc.target/msp430/devices/devices-main.c: New test source file.
      	* gcc.target/msp430/devices/msp430-devices.h: New test.
      	* gcc.target/msp430/msp430.exp (msp430_device_permutations_runtest):
      	Add special cases for csv-using* tests.
      	Define TESTING_HARD_DATA when running tests that use hard-coded device
      	data.
      	(get_installed_device_data_path): New.
      	(msp430_hide_installed_devices_data): New.
      	(msp430_restore_installed_devices_data): New.
      	(msp430_test_installed_device_data): New.
      	(msp430_install_device_data): New.
      
      From-SVN: r277772
      Jozef Lawrynowicz committed
    • re PR bootstrap/92301 (Wrong vectorizer code since r277566) · b76f4e6c
      2019-11-04  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/92301
      	* tree-vect-stmts.c (process_use): Force reduction PHI defs live
      	as required by epilogue generation
      
      	* gcc.dg/pr92301.c: New testcase.
      
      From-SVN: r277771
      Richard Biener committed
    • libgomp/testsuite - use unique numbers with Fortran's 'stop' · 12fd2ec5
              PR fortran/92305
              * testsuite/libgomp.fortran/allocatable2.f90: Use
              unique numbers with 'stop'.
              * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
              * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
              * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
              * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
              * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
      
      From-SVN: r277769
      Tobias Burnus committed
    • Fix hash_operand for fields of a CONSTRUCTOR. · 2323aa04
      2019-11-04  Martin Liska  <mliska@suse.cz>
      
      	PR ipa/92304
      	* fold-const.c (operand_compare::hash_operand): Fix field
      	hashing of CONSTRUCTOR.
      
      From-SVN: r277768
      Martin Liska committed
    • Come up with ggc_delete. · ddf628e4
      2019-11-04  Martin Liska  <mliska@suse.cz>
      
      	* ggc.h (ggc_delete): New function.
      	* ipa-fnsummary.c (ipa_free_fn_summary): Use it.
      	* ipa-prop.c (ipa_free_all_edge_args): Likewise.
      	(ipa_free_all_node_params): Likewise.
      	* ipa-sra.c (ipa_sra_analysis): Likewise.
      
      From-SVN: r277767
      Martin Liska committed
    • re PR fortran/92113 (r276673 causes segfault in gfortran.dg/pr51434.f90) · cedaa3f6
      2019-11-04  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
          PR fortran/92113
          * ChangeLog: Fix PR number
      
      From-SVN: r277766
      Thomas Koenig committed
    • Daily bump. · e10ed125
      From-SVN: r277764
      GCC Administrator committed
  2. 03 Nov, 2019 10 commits
    • re PR fortran/92113 (r276673 causes segfault in gfortran.dg/pr51434.f90) · b8dd4aa1
      2019-11-03  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
          PR fortran/92133
          * trans-decl.c (gfc_get_symbol_decl): If __def_init actually
          contains a value, put it into  the read-only section.
      
      From-SVN: r277760
      Thomas Koenig committed
    • Improve effectivity of ipa_polymorphi_context cache. · 40a777e8
              * ipa-fnsummary.c (set_cond_stmt_execution_predicate,
      	set_switch_stmt_execution_predicate, compute_bb_predicates,
      	will_be_nonconstant_expr_predicate,
      	phi_result_unknown_predicate,
      	analyze_function_body): Pass arround params summary.
      	(ipa_call_context::duplicate_from): New comment;
      	only duplicate useful values.
      	(ipa_call_context::equal_to): Only compare useful values.
      	(remap_edge_summaries): Pass params_summary.
      	(remap_hint_predicate): Likewise.
      	(ipa_merge_fn_summary_after_inlining): Likewise.
      	(inline_read_section): Initialize params summary used flags.
      	* ipa-predicate.c (predicate::remap_after_inlining): Pass
      	around param_summary.
      	(add_condition): Initialized used params summary flags.
      	* ipa-predicate.h (inline_param_summary::equals_to): Make const.
      	(inline_param_summary::useless_p): New predicate.
      	(remap_after_inlining, add_condition): Update prototype
      	* ipa-prop.c (ipa_populate_param_decls): Watch overflow in
      	move_cost.
      	(ipa_note_param_call): Add parameter POLYMORPHIC; update params
      	summaries.
      	(ipa_analyze_indirect_call_uses): Update use of ipa_note_param_call.
      	(ipa_analyze_virtual_call_uses): Likewise.
      	(update_indirect_edges_after_inlining): Update param summaries.
      	(ipa_print_node_params): Print used flags.
      	(ipa_read_indirect_edge_info): Update param summareis.
      	* ipa-prop.h (ipa_param_descriptor): Add
      	used_by_ipa_predicates, used_by_indirect_call
      	and used_by_polymorphic_call.
      	(ipa_set_param_used_by_ipa_predicates,
      	ipa_set_param_used_by_indirect_call,
      	ipa_set_param_used_by_polymorphic_call,
      	ipa_is_param_used_by_ipa_predicates,
      	ipa_is_param_used_by_indirect_call,
      	ipa_is_param_used_by_polymorphic_call): New inline functions.
      
      From-SVN: r277759
      Jan Hubicka committed
    • PR c++/88565 - enhance -Warray-bounds for C++ trailing class member arrays · 4bcd578a
      gcc/testsuite/ChangeLog:
      
      	* g++.dg/warn/Warray-bounds-9.C: New test.
      
      From-SVN: r277758
      Martin Sebor committed
    • ipa-fnsummary.c (ipa_call_context::duplicate_from): New member function. · ac6f2e59
      	* ipa-fnsummary.c (ipa_call_context::duplicate_from): New
      	member function.
      	(ipa_call_context::release): Add ALL parameter.
      	(ipa_call_context::equal_to): New member function.
      	* ipa-fnsummary.h (ipa_call_context): Add empty constructor;
      	duplicate_form, release, equal_to and exists_p member functoins.
      	* ipa-inline-analysis.c (node_context_cache_entry): New
      	class.
      	(node_context_summary): Likewise.
      	(node_context_cache, node_context_cache_hit, node_context_cache_miss,
      	node_context_clear): New static vars.
      	(initialize_growth_caches): New function.
      	(free_growth_caches): Also delete node_context_cache; output stats.
      	(do_estimate_edge_time): Cache contexts.
      	(reset_node_cache): New function.
      	* ipa-inline.c (reset_edge_caches): Reset also node cache.
      	(inline_small_functions): Initialize growth caches.
      	* ipa-inline.h (reset_node_cache, initialize_growth_caches):
      	Declare.
      	* ipa-predicate.h (inline_param_summary::equal_to): New.
      	* ipa-prop.c (ipa_agg_jf_item::equal_to): New.
      	* ipa-prop.h (ipa_agg_jf_item): Declare equal_to member function.
      	(ipa_agg_jump_function): Implement equal_to member function.
      
      From-SVN: r277757
      Jan Hubicka committed
    • ipa-fnsummary.c (inline_read_section): Set vector size ahead of time. · 360386c7
      	* ipa-fnsummary.c (inline_read_section): Set vector size
      	ahead of time.
      
      From-SVN: r277756
      Jan Hubicka committed
    • ipa-fnsummary.c (ipa_call_context): New constructor. · 1532500e
      
      	* ipa-fnsummary.c (ipa_call_context): New constructor.
      	(estimate_node_size_and_time): Turn to ...
      	(ipa_call_context::estimate_size_and_time): ... this one.
      	(ipa_call_context::release): New.
      	* ipa-fnsummary.h (ipa_call_context): New class.
      	(estimate_node_size_and_time): Remove.
      	* ipa-inline-analysis.c (do_estimate_edge_time, do_estimate_edge_size,
      	do_estimate_edge_hints): Update.
      
      From-SVN: r277755
      Jan Hubicka committed
    • config.in: Regenerate. · a9a0fd0e
      	* config.in: Regenerate.
      	* configure: Regenerate.
      	* configure.ac: Check for mallinfo.
      	* ggc-common.c: Include malloc.h if available;
      	include options.h
      	(report_heap_memory_use): New functoin.
      	* ggc-page.c (ggc_grow): Do not print "start".
      	* ggc.h (report_heap_memory_use): Declare.
      	* pases.c (execute_one_pass): Report memory after IPA passes.
      	(ipa_read_summaries_1): Likewise.
      	(ipa_read_optimization_summaries_1): Likewise.
      
      From-SVN: r277754
      Jan Hubicka committed
    • config.in: Regenerate. · c9ef0409
       	* config.in: Regenerate.
      	* configure: Regenerate.
      	* configure.ac: Check for mallinfo.
      	* ggc-common.c: Include malloc.h if available;
      	include options.h
      	(report_heap_memory_use): New functoin.
      	* ggc-page.c (ggc_grow): Do not print "start".
      	* ggc.h (report_heap_memory_use): Declare.
      	* pases.c (execute_one_pass): Report memory after IPA passes.
      	(ipa_read_summaries_1): Likewise.
      	(ipa_read_optimization_summaries_1): Likewise.
      
      	* lto/lto-common.c (read_cgraph_and_symbols): Improve -Q reporting.
      	* lto.c (lto_wpa_write_files): Likewise.
      
      From-SVN: r277753
      Jan Hubicka committed
    • re PR libgcc/78804 ([RX] -m64bit-doubles does not work) · da5c1bbe
      libgcc/
      	PR libgcc/78804
      	* fp-bit.h: Remove FLOAT_BIT_ORDER_MISMATCH.
      	* fp-bit.c (pack_d, unpack_d): Remove special cases for
      	FLOAT_BIT_ORDER_MISMATCH.
      	* config/arc/t-arc: Remove FLOAT_BIT_ORDER_MISMATCH.
      
      From-SVN: r277752
      Oleg Endo committed
    • Daily bump. · e3200f1d
      From-SVN: r277749
      GCC Administrator committed
  3. 02 Nov, 2019 4 commits
    • typeck.c (composite_pointer_type): Add a const op_location_t& parameter and use it in diagnostics. · b77c16f9
      /cp
      2019-11-02  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* typeck.c (composite_pointer_type): Add a const op_location_t&
      	parameter and use it in diagnostics.
      	(composite_pointer_error): Likewise.
      	(composite_pointer_type_r): Add a const op_location_t&
      	parameter and forward it.
      	(cp_build_binary_op): Adjust calls.
      	(common_pointer_type): Likewise.
      	* call.c (add_builtin_candidate): Likewise.
      	(build_conditional_expr_1): Likewise.
      	* cp-tree.h (composite_pointer_type): Update declaration.
      
      	* typeck.c (cxx_sizeof_expr): Use cp_expr_loc_or_input_loc
      	in permerror.
      	(cxx_alignof_expr): Likewise.
      	(lvalue_or_else): Likewise.
      
      /testsuite
      2019-11-02  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* g++.dg/conversion/ptrmem9.C: Check location.
      	* g++.dg/expr/cond2.C: Likewise.
      	* g++.dg/warn/Waddress-1.C: Check locations.
      	* g++.old-deja/g++.bugs/900324_02.C: Check location.
      	* g++.old-deja/g++.jason/rfg20.C: Likewise.
      	* g++.old-deja/g++.law/typeck1.C: Likewise.
      	* g++.old-deja/g++.rfg/00321_01-.C: Likewise.
      	* g++.old-deja/g++.rfg/00324_02-.C: Likewise.
      
      	* g++.dg/diagnostic/alignof1.C: New.
      	* g++.dg/expr/sizeof1.C: Check location.
      	* g++.dg/cpp0x/rv-lvalue-req.C: Check locations.
      
      From-SVN: r277743
      Paolo Carlini committed
    • gimplify.h (omp_construct_selector_matches): Change return type to int, add a new SCORES argument. · d0c464d2
      	* gimplify.h (omp_construct_selector_matches): Change return
      	type to int, add a new SCORES argument.
      	* gimplify.c (omp_construct_selector_matches): Likewise.  If
      	SCORES is non-NULL, compute scores of each construct.
      	* omp-general.h (omp_get_context_selector): Declare.
      	* omp-general.c (omp_maybe_offloaded, omp_context_selector_matches):
      	Adjust omp_construct_selector_matches callers.
      	(omp_get_context_selector): New function, moved from c-family/c-omp.c.
      	(omp_context_compute_score): New function.
      	(omp_resolve_declare_variant): Compute scores and decide based on
      	that.
      c-family/
      	* c-common.h (c_omp_get_context_selector): Remove.
      	* c-omp.c (c_omp_get_context_selector): Moved to omp-general.c
      	and renamed to omp_get_context_selector.
      c/
      	* c-parser.c (c_finish_omp_declare_variant): Use
      	omp_get_context_selector instead of c_omp_get_context_selector.
      cp/
      	* decl.c (omp_declare_variant_finalize_one): Use
      	omp_get_context_selector instead of c_omp_get_context_selector.
      testsuite/
      	* c-c++-common/gomp/declare-variant-12.c: New test.
      
      From-SVN: r277742
      Jakub Jelinek committed
    • re PR c++/89640 (g++ chokes on lambda with __attribute__) · 628be4ef
      	PR c++/89640
      	* parser.c (cp_parser_decl_specifier_seq): Don't parse attributes
      	if CP_PARSER_FLAGS_ONLY_MUTABLE_OR_CONSTEXPR.
      
      	* g++.dg/cpp1z/attr-lambda1.C: New test.
      	* g++.dg/ext/attr-lambda2.C: New test.
      
      From-SVN: r277741
      Jakub Jelinek committed
    • Daily bump. · 1afe39ac
      From-SVN: r277740
      GCC Administrator committed
  4. 01 Nov, 2019 18 commits
    • re PR bootstrap/92314 (missing omp-device-properties', needed by 's-omp-device-properties-h') · d228ee80
      	PR bootstrap/92314
      	* configure.ac: Don't look for omp-device-properties files from
      	installed offloading compilers.  Instead add tmake_file snippets
      	for configured offloading targets and use files they generate.
      	* Makefile.in (install): Don't depend on
      	install-omp-device-properties.
      	(install-omp-device-properties): Remove goal.
      	* config/i386/t-omp-device: New file.
      	* config/i386/t-intelmic (omp-device-properties): Remove goal.
      	* config/nvptx/t-omp-device: New file.
      	* config/nvptx/t-nvptx (omp-device-properties): Remove goal.
      	* configure: Regenerated.
      
      From-SVN: r277735
      Jakub Jelinek committed
    • omp-general.h (omp_context_selector_set_compare): Declare. · 917dd789
      	* omp-general.h (omp_context_selector_set_compare): Declare.
      	* omp-general.c (omp_construct_simd_compare,
      	omp_context_selector_props_compare, omp_context_selector_set_compare,
      	omp_context_selector_compare): New functions.
      	(omp_resolve_declare_variant): Prune variants that are strict subset
      	of another variant.
      c-family/
      	* c-omp.c (c_omp_mark_declare_variant): Use
      	omp_context_selector_set_compare.
      testsuite/
      	* c-c++-common/gomp/declare-variant-6.c: Expect construct rather than
      	constructor in diagnostic messages.
      	* c-c++-common/gomp/declare-variant-7.c: Likewise.
      	* c-c++-common/gomp/declare-variant-11.c: New test.
      
      From-SVN: r277734
      Jakub Jelinek committed
    • PR c++/88335 - Implement P1073R3: Immediate functions · f968ef9b
      	PR c++/88335 - Implement P1073R3: Immediate functions
      c-family/
      	* c-common.h (enum rid): Add RID_CONSTEVAL.
      	* c-common.c (c_common_reswords): Add consteval.
      cp/
      	* cp-tree.h (struct lang_decl_fn): Add immediate_fn_p bit.
      	(DECL_IMMEDIATE_FUNCTION_P, SET_DECL_IMMEDIATE_FUNCTION_P): Define.
      	(enum cp_decl_spec): Add ds_consteval.
      	(fold_non_dependent_expr): Add another tree argument defaulted to
      	NULL_TREE.
      	* name-lookup.h (struct cp_binding_level): Add immediate_fn_ctx_p
      	member.
      	* parser.c (cp_keyword_starts_decl_specifier_p): Adjust comments
      	for C++11 and C++20 specifiers.  Handle RID_CONSTEVAL.
      	(CP_PARSER_FLAGS_ONLY_MUTABLE_OR_CONSTEXPR): Adjust comment.
      	(CP_PARSER_FLAGS_CONSTEVAL): New.
      	(cp_parser_skip_balanced_tokens): New forward declaration.
      	(cp_parser_lambda_declarator_opt): Handle ds_consteval.  Set
      	current_binding_level->immediate_fn_ctx_p before parsing parameter
      	list if decl-specifier-seq contains consteval specifier.
      	(cp_parser_decl_specifier_seq): Handle RID_CONSTEVAL.
      	(cp_parser_explicit_instantiation): Diagnose explicit instantiation
      	with consteval specifier.
      	(cp_parser_init_declarator): For consteval or into flags
      	CP_PARSER_FLAGS_CONSTEVAL.
      	(cp_parser_direct_declarator): If CP_PARSER_FLAGS_CONSTEVAL, set
      	current_binding_level->immediate_fn_ctx_p in the sk_function_parms
      	scope.
      	(set_and_check_decl_spec_loc): Add consteval entry, formatting fix.
      	* call.c (build_addr_func): For direct calls to immediate functions
      	use build_address rather than decay_conversion.
      	(build_over_call): Evaluate immediate function invocations.
      	* error.c (dump_function_decl): Handle DECL_IMMEDIATE_FUNCTION_P.
      	* semantics.c (expand_or_defer_fn_1): Use tentative linkage and don't
      	call mark_needed for immediate functions.
      	* typeck.c (cxx_sizeof_or_alignof_expr): Likewise.  Formatting fix.
      	(cp_build_addr_expr_1): Reject taking address of immediate function
      	outside of immediate function.
      	* decl.c (validate_constexpr_redeclaration): Diagnose consteval
      	vs. non-consteval or vice versa redeclaration.  Use
      	SET_DECL_IMMEDIATE_FUNCTION_P if new_decl is immediate function.
      	(check_tag_decl): Use %qs with keyword string to simplify translation.
      	Handle ds_consteval.
      	(start_decl): Adjust diagnostics for static or thread_local variables
      	in immediate functions.
      	(grokfndecl): Call sorry_at on virtual consteval.  Use %qs with keyword
      	to string to simplify translation.  Diagnose consteval main.  Use
      	SET_DECL_IMMEDIATE_FUNCTION_P for consteval.
      	(grokdeclarator): Handle consteval.  Use %qs with keyword strings to
      	simplify translation.  Use separate ifs instead of chained else if
      	for invalid specifiers.  For constinit clear constinit_p rather than
      	constexpr_p.
      	* constexpr.c (find_immediate_fndecl): New function.
      	(cxx_eval_outermost_constant_expr): Allow consteval calls returning
      	void.  Diagnose returning address of immediate function from consteval
      	evaluation.
      	(fold_non_dependent_expr_template): Add OBJECT argument, pass it
      	through to cxx_eval_outermost_constant_expr.
      	(fold_non_dependent_expr): Add OBJECT argument, pass it through to
      	fold_non_dependent_expr_template.
      	(fold_non_dependent_init): Adjust fold_non_dependent_expr_template
      	caller.
      	* method.c (defaulted_late_check): Adjust diagnostics for consteval.
      	* lambda.c (maybe_add_lambda_conv_op): Copy over
      	DECL_DECLARED_CONSTEXPR_P and DECL_IMMEDIATE_FUNCTION_P bits from
      	callop to both artificial functions.
      	* init.c (build_value_init): Don't do further processing if
      	build_special_member_call returned a TREE_CONSTANT.  Formatting fix.
      testsuite/
      	* g++.dg/cpp2a/consteval1.C: New test.
      	* g++.dg/cpp2a/consteval2.C: New test.
      	* g++.dg/cpp2a/consteval3.C: New test.
      	* g++.dg/cpp2a/consteval4.C: New test.
      	* g++.dg/cpp2a/consteval5.C: New test.
      	* g++.dg/cpp2a/consteval6.C: New test.
      	* g++.dg/cpp2a/consteval7.C: New test.
      	* g++.dg/cpp2a/consteval8.C: New test.
      	* g++.dg/cpp2a/consteval9.C: New test.
      	* g++.dg/cpp2a/consteval10.C: New test.
      	* g++.dg/cpp2a/consteval11.C: New test.
      	* g++.dg/cpp2a/consteval12.C: New test.
      	* g++.dg/cpp2a/consteval13.C: New test.
      	* g++.dg/cpp2a/consteval14.C: New test.
      	* g++.dg/ext/consteval1.C: New test.
      
      From-SVN: r277733
      Jakub Jelinek committed
    • PR c++/91369 - Implement P0784R7: constexpr new · 8412b939
      	PR c++/91369 - Implement P0784R7: constexpr new
      	* cp-tree.h (CALL_FROM_NEW_OR_DELETE_P): Define.
      	* init.c (build_new_1, build_vec_delete_1, build_delete): Set
      	CALL_FROM_NEW_OR_DELETE_P on the CALL_EXPR to allocator functions.
      	* constexpr.c (is_std_allocator_allocate): Only allow
      	global replaceable allocator functions if CALL_FROM_NEW_OR_DELETE_P
      	or in std::allocate<T>::{,de}allocate.
      	(potential_constant_expression_1): Likewise.
      
      	* g++.dg/cpp2a/constexpr-new6.C: New test.
      	* g++.dg/cpp2a/constexpr-new7.C: New test.
      
      From-SVN: r277732
      Jakub Jelinek committed
    • * gcc.dg/pr36902.c: Terminate dg-warning regexp string. · 8a8ce49e
      From-SVN: r277730
      Jakub Jelinek committed
    • PR middle-end/91679 - missing -Warray-bounds accessing a member array in a local buffer · 49fb45c8
      PR middle-end/91679 - missing -Warray-bounds accessing a member array in a local buffer
      PR middle-end/91647 - new FAILs for Warray-bounds-8 and Wstringop-overflow-3.C
      PR middle-end/91463 - missing -Warray-bounds accessing past the end of a statically initialized flexible array member
      PR middle-end/92312 - bogus -Wstringop-overflow storing into a trailing array backed by larger buffer
      
      gcc/ChangeLog:
      
      	PR middle-end/91679
      	PR middle-end/91647
      	PR middle-end/91463
      	PR middle-end/92312
      	* c-family/c-pretty-print.c (direct_abstract_declarator): Print
      	bound in zero-length arrays.
      	* gcc/c-family/c.opt (-Wzero-length-bounds): New option.
      	* gcc/doc/invoke.texi (-Wzero-length-bounds): Document.
      	* gimple-match-head.c (try_conditional_simplification): Use memcpy
      	instead of a hand-rolled loop to avoid PR 92323.
      	* tree-vrp.c (vrp_prop::check_array_ref): Handle trailing arrays
      	with initializers.
      	(vrp_prop::check_mem_ref): Handle declared struct objects.
      	* tree.c (last_field): New function.
      	(array_at_struct_end_p): Handle MEM_REF.
      	(get_initializer_for): New helper.
      	(component_ref_size): Add argument.  Rename locals.  Call
      	get_initializer_for instead of fold_ctor_reference.  Correct handling
      	of flexible array members.
      	* wide-int.h (generic_wide_int <storage>::sign_mask): Assert invariant.
      
      gcc/testsuite/ChangeLog:
      
      	PR middle-end/91679
      	PR middle-end/91647
      	PR middle-end/91463
      	PR middle-end/92312
      	* c-c++-common/Warray-bounds-2.c: Disable VRP.  Adjust expected messages.
      	* g++.dg/warn/Warray-bounds-8.C: Remove xfails.
      	* gcc.dg/Warray-bounds-48.c: New test.
      	* gcc.dg/Warray-bounds-49.c: New test.
      	* gcc.dg/Wstringop-overflow-16.c: Adjust text of expected messages.
      	* gcc.dg/Wstringop-overflow-21.c: New test.
      	* gcc.dg/Wzero-length-array-bounds.c: New test.
      	* gcc.dg/pr36902.c: Remove xfail.
      	* gcc.dg/strlenopt-57.c: Add an expected warning.
      
      From-SVN: r277728
      Martin Sebor committed
    • RISC-V: Build soft-float divide routines for -mno-fdiv. · 8dc56a22
      Using -mno-fdiv gives linker errors unless we build the missing divide
      routines in libgcc always.  There is at least one university project
      designing RISC-V parts without FP divide that wants to use the option.
      
      	libgcc/
      	* config/riscv/t-softfp32 (softfp_extra): Add FP divide routines
      
      From-SVN: r277723
      Jim Wilson committed
    • Fix nodiscard test failures. · 2df0c231
      	* g++.dg/cpp2a/nodiscard-once.C: Expect nodiscard warning.
      	* g++.dg/cpp2a/nodiscard-reason.C: Adjust expected warnings.
      
      From-SVN: r277719
      Jason Merrill committed
    • decl.c (match_byte_typespec): New function. · 2028ce45
      2019-11-01  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	* decl.c (match_byte_typespec): New function.  Match BYTE type-spec.
      	(gfc_match_decl_type_spec): Use it.
      
      2019-11-01  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	* gfortran.dg/byte_3.f: New test.
      	* gfortran.dg/byte_4.f90: Ditto.
      
      From-SVN: r277715
      Steven G. Kargl committed
    • re PR fortran/90988 (Wrong error message with variables named "PUBLIC*") · c7e34433
      2019-11-01  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/90988
      	* decl.c (gfc_match_private, gfc_match_public): Fixed-form source code
      	does not require whitespace between PRIVATE (or PUBLIC) and an entity.
      
      2019-11-01  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/90988
      	* gfortran.dg/pr90988_4.f: New test.
      
      From-SVN: r277714
      Steven G. Kargl committed
    • builtin-sprintf-warn-3.c: Declare test functions with noipa attribute. · 783aea33
      gcc/testsuite/ChangeLog:
      
      	* gcc.dg/tree-ssa/builtin-sprintf-warn-3.c: Declare test functions
      	with noipa attribute.
      
      From-SVN: r277711
      Martin Sebor committed
    • [rs6000] vector conversion RTL pattern update for diff unit size · 6485d5d6
      2019-11-01  Kewen Lin  <linkw@gcc.gnu.org>
      
        * config/rs6000/rs6000-modes.def (V2SF, V2SI): New modes.
        * config/rs6000/vsx.md (UNSPEC_VSX_CVSPSXDS, UNSPEC_VSX_CVSPUXDS): Remove.
        (vsx_xvcvspdp): New define_expand, old define_insn split to...
        (vsx_xvcvspdp_be): ... this.  New.  And...
        (vsx_xvcvspdp_le): ... this.  New.
        (vsx_xvcv<su>xwdp): New define_expand, old define_insn split to...
        (vsx_xvcv<su>xwdp_be): ... this.  New.  And...
        (vsx_xvcv<su>xwdp_le): ... this.  New.
        (vsx_xvcvsp<su>xds): New define_expand, old define_insn split to...
        (vsx_xvcvsp<su>xds_be): ... this.  New.  And...
        (vsx_xvcvsp<su>xds_le): ... this.  New.
      
      From-SVN: r277709
      Kewen Lin committed
    • [rs6000] vector conversion RTL pattern update for same unit size · 4d8cfe0e
      2019-11-01  Kewen Lin  <linkw@gcc.gnu.org>
      
        * config/rs6000/vsx.md (UNSPEC_VSX_CVSXWSP, UNSPEC_VSX_CVUXWSP,
        UNSPEC_VSX_XVCVSXDDP, UNSPEC_VSX_XVCVUXDDP,
        UNSPEC_VSX_XVCVDPSXDS, UNSPEC_VSX_XVCVDPUXDS,
        UNSPEC_VSX_XVCVSPSXWS): Remove.
        (vsx_xvcv<su>xddp, vsx_xvcvdp<su>xds, vsx_xvcvsp<su>xws,
        vsx_xvcv<su>xwsp): Update define_insn RTL patterns.
      
      From-SVN: r277708
      Kewen Lin committed
    • [C++ PATCH] cleanup check_field_decls · 10e1540c
      https://gcc.gnu.org/ml/gcc-patches/2019-11/msg00012.html
      	cp/
      	* class.c (check_field_decls): Refactor.
      
      	testsuite/
      	* g++.dg/template/fn.C: New.
      
      From-SVN: r277707
      Nathan Sidwell committed
    • [rs6000] Replace vsx_xvcdpsp by vsx_xvcvdpsp · 9de3d4f0
      2019-11-01  Kewen Lin  <linkw@gcc.gnu.org>
      
          * config/rs6000/vsx.md (vsx_xvcdpsp): Remove define_insn.
          (UNSPEC_VSX_XVCDPSP): Remove.
          * config/rs6000/rs6000.c (rs6000_generate_float2_double_code):
          Replace gen_vsx_xvcdpsp by gen_vsx_xvcvdpsp.
      
      From-SVN: r277706
      Kewen Lin committed
    • OpenMP] use_device_addr/use_device_ptr with Fortran allocatable/pointer arrays · 92e63bd2
              gcc/fortran/
              * f95-lang.c (LANG_HOOKS_OMP_ARRAY_DATA): Set to gfc_omp_array_data.
              * trans-array.c (gfc_conv_descriptor_data_get): Handle also
              REFERENCE_TYPE.
              * trans-openmp.c (gfc_omp_array_data): New.
              * trans.h (gfc_omp_array_data): New prototype.
      
              gcc/
              * hooks.c (hook_tree_tree_bool_null): New.
              * hooks.h (hook_tree_tree_bool_null): Declare.
              * langhooks-def.h (LANG_HOOKS_OMP_ARRAY_DATA): Define.
              (LANG_HOOKS_DECLS): Add it.
              * langhooks.h (lang_hooks_for_decls): Add omp_array_data.
              * omp-low.c (install_var_field): New mode for Fortran descriptor arrays.
              (lower_omp_target): Handle Fortran array with descriptor in
              OMP_CLAUSE_USE_DEVICE_ADDR/OMP_CLAUSE_USE_DEVICE_PTR.
      
              libgomp/
              * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
              test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
              * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
              * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
              * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
              * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
      
      From-SVN: r277705
      Tobias Burnus committed
    • PR testsuite/92127: Disable unrolling for some vect code model cases · 271da732
        2019-11-01  Kewen Lin  <linkw@gcc.gnu.org>
      
        PR testsuite/92127
        * gcc.dg/vect/costmodel/ppc/costmodel-pr37194.c: Disable unroll.
        * gcc.dg/vect/costmodel/ppc/costmodel-fast-math-vect-pr29925.c: Likewise.
      
      From-SVN: r277704
      Kewen Lin committed
    • Daily bump. · 52c82688
      From-SVN: r277703
      GCC Administrator committed