aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2017-09-12Make more use of in_hard_reg_set_pRichard Sandiford2-13/+9
An upcoming patch will convert hard_regno_nregs into an inline function, which in turn allows hard_regno_nregs to be used as the name of a targetm field. This patch rewrites a use that can use in_hard_reg_set_p instead. 2017-09-12 Richard Sandiford <richard.sandiford@linaro.org> gcc/ * ira-costs.c (record_operand_costs): Use in_hard_reg_set_p instead of hard_regno_nregs. From-SVN: r252013
2017-09-12Make more use of end_hard_regnoRichard Sandiford12-26/+32
An upcoming patch will convert hard_regno_nregs into an inline function, which in turn allows hard_regno_nregs to be used as the name of a targetm field. This patch rewrites uses that can use end_hard_regno instead. 2017-09-12 Richard Sandiford <richard.sandiford@linaro.org> gcc/ * config/aarch64/aarch64.c (aarch64_hard_regno_mode_ok): Use end_hard_regno instead of hard_regno_nregs. * config/s390/s390.c (s390_reg_clobbered_rtx): Likewise. * config/sparc/sparc.h (ASM_DECLARE_REGISTER_GLOBAL): Likewise. * config/visium/visium.c (visium_hard_regno_mode_ok): Likewise. * ira-color.c (improve_allocation): Likewise. * lra-assigns.c (find_hard_regno_for_1): Likewise. * lra-lives.c (mark_regno_live): Likewise. (mark_regno_dead): Likewise. * lra-remat.c (operand_to_remat): Likewise. * lra.c (collect_non_operand_hard_regs): Likewise. * postreload.c (reload_combine_note_store): Likewise. (move2add_valid_value_p): Likewise. * reload.c (regno_clobbered_p): Likewise. From-SVN: r252012
2017-09-12Make more use of END_REGNORichard Sandiford5-39/+27
An upcoming patch will convert hard_regno_nregs into an inline function, which in turn allows hard_regno_nregs to be used as the name of a targetm field. This patch rewrites uses that are more easily (and efficiently) written as END_REGNO. 2017-09-12 Richard Sandiford <richard.sandiford@linaro.org> gcc/ * config/frv/frv.c (FOR_EACH_REGNO): Use END_REGNO instead of hard_regno_nregs. * config/v850/v850.c (v850_reorg): Likewise. * reload.c (refers_to_regno_for_reload_p): Likewise. (find_equiv_reg): Likewise. * reload1.c (reload_reg_reaches_end_p): Likewise. From-SVN: r252011
2017-09-12Make more use of REG_NREGSRichard Sandiford14-61/+73
An upcoming patch will convert hard_regno_nregs into an inline function, which in turn allows hard_regno_nregs to be used as the name of a targetm field. This patch rewrites uses that are more easily (and efficiently) written as REG_NREGS. 2017-09-12 Richard Sandiford <richard.sandiford@linaro.org> gcc/ * caller-save.c (add_used_regs): Use REG_NREGS instead of hard_regno_nregs. * config/aarch64/aarch64.c (aarch64_split_combinev16qi): Likewise. * config/arm/arm.c (output_move_neon): Likewise. (arm_attr_length_move_neon): Likewise. (neon_split_vcombine): Likewise. * config/c6x/c6x.c (c6x_mark_reg_read): Likewise. (c6x_mark_reg_written): Likewise. (c6x_dwarf_register_span): Likewise. * config/i386/i386.c (ix86_save_reg): Likewise. * config/ia64/ia64.c (mark_reg_gr_used_mask): Likewise. (rws_access_reg): Likewise. * config/s390/s390.c (s390_call_saved_register_used): Likewise. * mode-switching.c (create_pre_exit): Likewise. * ree.c (combine_reaching_defs): Likewise. (add_removable_extension): Likewise. * regcprop.c (find_oldest_value_reg): Likewise. (copyprop_hardreg_forward_1): Likewise. * reload.c (reload_inner_reg_of_subreg): Likewise. (push_reload): Likewise. (combine_reloads): Likewise. (find_dummy_reload): Likewise. (reload_adjust_reg_for_mode): Likewise. * reload1.c (find_reload_regs): Likewise. (forget_old_reloads_1): Likewise. (reload_reg_free_for_value_p): Likewise. (reload_adjust_reg_for_temp): Likewise. (emit_reload_insns): Likewise. (delete_output_reload): Likewise. * sel-sched.c (choose_best_reg_1): Likewise. (choose_best_pseudo_reg): Likewise. From-SVN: r252010
2017-09-12Turn SLOW_UNALIGNED_ACCESS into a target hookRichard Sandiford28-142/+204
2017-09-12 Richard Sandiford <richard.sandiford@linaro.org> Alan Hayward <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> gcc/ * defaults.h (SLOW_UNALIGNED_ACCESS): Delete. * target.def (slow_unaligned_access): New hook. * targhooks.h (default_slow_unaligned_access): Declare. * targhooks.c (default_slow_unaligned_access): New function. * doc/tm.texi.in (SLOW_UNALIGNED_ACCESS): Replace with... (TARGET_SLOW_UNALIGNED_ACCESS): ...this. * doc/tm.texi: Regenerate. * config/alpha/alpha.h (SLOW_UNALIGNED_ACCESS): Delete. * config/arm/arm.h (SLOW_UNALIGNED_ACCESS): Delete. * config/i386/i386.h (SLOW_UNALIGNED_ACCESS): Delete commented-out definition. * config/powerpcspe/powerpcspe.h (SLOW_UNALIGNED_ACCESS): Delete. * config/powerpcspe/powerpcspe.c (TARGET_SLOW_UNALIGNED_ACCESS): Redefine. (rs6000_slow_unaligned_access): New function. (rs6000_emit_move): Use it instead of SLOW_UNALIGNED_ACCESS. (expand_block_compare): Likewise. (expand_strn_compare): Likewise. (rs6000_rtx_costs): Likewise. * config/riscv/riscv.h (SLOW_UNALIGNED_ACCESS): Delete. (riscv_slow_unaligned_access): Likewise. * config/riscv/riscv.c (riscv_slow_unaligned_access): Rename to... (riscv_slow_unaligned_access_p): ...this and make static. (riscv_option_override): Update accordingly. (riscv_slow_unaligned_access): New function. (TARGET_SLOW_UNALIGNED_ACCESS): Redefine. * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Delete. * config/rs6000/rs6000.c (TARGET_SLOW_UNALIGNED_ACCESS): Redefine. (rs6000_slow_unaligned_access): New function. (rs6000_emit_move): Use it instead of SLOW_UNALIGNED_ACCESS. (rs6000_rtx_costs): Likewise. * config/rs6000/rs6000-string.c (expand_block_compare) (expand_strn_compare): Use targetm.slow_unaligned_access instead of SLOW_UNALIGNED_ACCESS. * config/tilegx/tilegx.h (SLOW_UNALIGNED_ACCESS): Delete. * config/tilepro/tilepro.h (SLOW_UNALIGNED_ACCESS): Delete. * calls.c (expand_call): Use targetm.slow_unaligned_access instead of SLOW_UNALIGNED_ACCESS. * expmed.c (simple_mem_bitfield_p): Likewise. * expr.c (alignment_for_piecewise_move): Likewise. (emit_group_load_1): Likewise. (emit_group_store): Likewise. (copy_blkmode_from_reg): Likewise. (emit_push_insn): Likewise. (expand_assignment): Likewise. (store_field): Likewise. (expand_expr_real_1): Likewise. * gimple-fold.c (gimple_fold_builtin_memory_op): Likewise. * lra-constraints.c (simplify_operand_subreg): Likewise. * stor-layout.c (bit_field_mode_iterator::next_mode): Likewise. * gimple-ssa-store-merging.c: Likewise in block comment at start of file. * tree-ssa-strlen.c: Include target.h. (handle_builtin_memcmp): Use targetm.slow_unaligned_access instead of SLOW_UNALIGNED_ACCESS. * system.h (SLOW_UNALIGNED_ACCESS): Poison. Co-Authored-By: Alan Hayward <alan.hayward@arm.com> Co-Authored-By: David Sherwood <david.sherwood@arm.com> From-SVN: r252009
2017-09-12PR81285: Fix uninitialised variable in emit_store_flag_intRichard Sandiford2-10/+17
2017-09-12 Richard Sandiford <richard.sandiford@linaro.org> gcc/ PR rtl-optimization/82185 * expmed.c (emit_store_flag_int): Only test tem if it has been initialized. From-SVN: r252008
2017-09-12re PR middle-end/82149 (match.pd: 2919: bad if test ?)Richard Biener2-1/+6
2017-09-12 Richard Biener <rguenther@suse.de> PR middle-end/82149 * match.pd ((FTYPE) N CMP CST): Fix typo. From-SVN: r252007
2017-09-12Add short_call function attribute for MIPSSimon Atanasyan8-4/+37
gcc/ * config/mips/mips.c (mips_attribute_table): Add 'short_call' attribute. (mips_near_type_p): Add 'short_call' attribute as a synonym for 'near'. * doc/extend.texi (short_call): Document new function attribute. gcc/testsuite * gcc.target/mips/near-far-1.c: Add check for 'short_call' attribute. * gcc.target/mips/near-far-2.c: Likewise. * gcc.target/mips/near-far-3.c: Likewise. * gcc.target/mips/near-far-4.c: Likewise. From-SVN: r252006
2017-09-12Kill CLASSTYPE_SORTED_FIELDS.Nathan Sidwell4-169/+310
* cp-tree.h (struct lang_type): Lose sorted_fields member. (CLASSTYPE_SORTED_FIELDS): Delete. * name-lookup.h (set_class_bindings): Add EXTRA arg. * name-lookup.c (fields_linear_search): New, broken out of ... (lookup_field_1): ... here. Delete remainder of function. (get_class_binding_direct): Reimplement without sorted_fields. (get_class_binding): Rename TYPE arg to KLASS, for consistency. (get_method_slot): Call set_class_binding when creating method_vec on complete type. (method_name_cmp): Order identically named slots. (sorted_fields_type_new): Delete. (field_vc_append_class_fields): Rename to ... (method_vec_append_class_fields): ... here. Adjust. (field_vec_append_enum_values): Renme to ... (method_vec_append_enum_values): ... here. Adjust. (method_vec_dedup): New. (set_class_bindings): Reimplement. (insert_late_enum_def_bindings): Reimplement. From-SVN: r252005
2017-09-12name-lookup.c (get_class_binding): Rename TYPE arg to KLASS for consistency.Nathan Sidwell2-47/+58
* name-lookup.c (get_class_binding): Rename TYPE arg to KLASS for consistency. (restort_data): Move later. (method_name_cmp, resort_method_name_cmp): Simplify. (resort_type_method_vec): Reformat. From-SVN: r252004
2017-09-12re PR target/82112 (internal compiler error: in fold_convert_loc, at ↵Jakub Jelinek5-4/+57
fold-const.c:2262) PR target/82112 * c-common.c (sync_resolve_size): Instead of c_dialect_cxx () assertion check that in the condition. (get_atomic_generic_size): Likewise. Before testing if parameter has pointer type, if it has array type, call for C++ default_conversion to perform array-to-pointer conversion. * c-c++-common/pr82112.c: New test. * gcc.dg/pr82112.c: New test. From-SVN: r252003
2017-09-12tree-vect-generic.c (expand_vector_operations_1): Do nothing for operations ↵Richard Biener2-2/+15
we cannot scalarize. 2017-09-12 Richard Biener <rguenther@suse.de> * tree-vect-generic.c (expand_vector_operations_1): Do nothing for operations we cannot scalarize. From-SVN: r252002
2017-09-12[multiple changes]Arnaud Charlet8-23/+64
2017-09-12 Bob Duff <duff@adacore.com> * sem_warn.adb: Minor comment. 2017-09-12 Bob Duff <duff@adacore.com> * libgnat/a-cbdlli.adb, libgnat/a-cbhama.adb, libgnat/a-cbmutr.adb, libgnat/a-cborma.adb: Rename New_Item to be Default_Initialized_Item, and apply pragma Unmodified to it, to suppress the warning. 2017-09-12 Eric Botcazou <ebotcazou@adacore.com> * exp_aggr.adb (Aggr_Assignment_OK_For_Backend): Add early return for access types. 2017-09-12 Yannick Moy <moy@adacore.com> * gnat1drv.adb (Adjust_Global_Switches): Consider Refined_Global together with Global when ignoring one in CodePeer mode. 2017-09-12 Javier Miranda <miranda@adacore.com> * sem_ch3.adb (Analyze_Declarations): In nested package declarations that have a private part enable missing check of the RM rule 13.1.1(11/3): usage names in aspect definitions are resolved at the end of the immediately enclosing declaration list. From-SVN: r252001
2017-09-12[multiple changes]Arnaud Charlet10-6/+6541
2017-09-12 Bob Duff <duff@adacore.com> * sem_ch6.adb (Analyze_Expression_Function): Initialize Def_Id to Empty. 2017-09-12 Georges-Axel Jaloyan <jaloyan@adacore.com> * debug.adb: Reserving flag -gnatdF for safe pointer checking. * gnat1drv.adb (gnat1drv): Adding the call to the analysis on dF flag. * sem_spark.adb, sem_spark.ads: Implementation of the analysis, in preparation for the evolution of the SPARK language that includes a pointer analysis for checking non-aliasing of access types. The Check_Safe_Pointers function is the entry point, and will traverse the AST and raise compile-time errors everytime it detects non-begign aliasing. Detailed comments are present in the sem_spark.ads file. * sem_util.adb, sem_util.ads (First_Global, Next_Global): New functions to iterate over the list of globals of a subprogram. * libgnat/system.ads: Add restriction No_Finalization. * gcc-interface/Make-lang.in: Add new file sem_spark.adb and dependency on g-dynhta.adb. From-SVN: r252000
2017-09-12sem_ch6.adb (Analyze_Expression_Function): Call ↵Bob Duff3-1/+23
Check_Dynamically_Tagged_Expression. 2017-09-12 Bob Duff <duff@adacore.com> * sem_ch6.adb (Analyze_Expression_Function): Call Check_Dynamically_Tagged_Expression. * sem_util.adb (Check_Dynamically_Tagged_Expression): Remove "and then Is_Tagged_Type (Typ)" because there is an earlier "Assert (Is_Tagged_Type (Typ))". From-SVN: r251999
2017-09-12tree-ssa-threadbackward.c (fsm_find_thread_path): Make GC vectors heap vectors.Aldy Hernandez3-144/+166
* tree-ssa-threadbackward.c (fsm_find_thread_path): Make GC vectors heap vectors. Clean up comments. Make visited_bbs a reference. (profitable_jump_thread_path): Make GC vectors heap vectors. Clean up comments. Misc cleanups. (convert_and_register_jump_thread_path): Make GC vectors heap vectors. (check_subpath_and_update_thread_path): Same. Clean up comments. Make visited_bbs a reference. (handle_phi): Abstract common code to to register_jump_thread_path_if_profitable. Rename VAR_BB to DEF_BB. Update comments. Make GC vectors heap vectors. Make visited_bbs a reference. (handle_assignment): Same. (register_jump_thread_path_if_profitable): New. (fsm_find_control_statement_thread_paths): Rename VAR_BB to DEF_BB. Make GC vectors heap vectors. Clean up comments. Make visited_bbs a reference. (find_jump_threads_backwards): Make visited_bbs live in the stack. * tree-ssa-threadupdate.c (delete_jump_thread_path): Fix typo in comment. From-SVN: r251998
2017-09-12* gcc-interface/Makefile.in (SPARC/Solaris): Remove obsolete stuff.Eric Botcazou2-4/+4
From-SVN: r251997
2017-09-12Daily bump.GCC Administrator1-1/+1
From-SVN: r251996
2017-09-11PR libstdc++/70483 make std::string_view fully constexprJonathan Wakely24-130/+1171
PR libstdc++/70483 * include/bits/string_view.tcc (basic_string_view::find) (basic_string_view::rfind, basic_string_view::find_first_of) (basic_string_view::find_last_of, basic_string_view::find_first_not_of) (basic_string_view::find_last_not_of): Add constexpr specifier. * include/std/string_view (basic_string_view::operator=) (basic_string_view::rbegin, basic_string_view::rend) (basic_string_view::crbegin, basic_string_view::crend) (basic_string_view::remove_prefix, basic_string_view::remove_suffix) (basic_string_view::swap, basic_string_view::compare) (basic_string_view::find, basic_string_view::rfind) (basic_string_view::find_first_of, basic_string_view::find_last_of) (basic_string_view::find_first_not_of) (basic_string_view::find_last_not_of, basic_string_view::_M_check) (basic_string_view::_M_limit, operator==, operator!=, operator<) (operator>, operator<=, operator>=): Likewise. * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/ char/1.cc: Repeat tests in constexpr context. * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/ wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/ char/1.cc: Likewise. * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/ wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/find/char/1.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/find/char/2.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/find/char/3.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/find/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/find/wchar_t/2.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/find/wchar_t/3.cc: Likewise. * testsuite/21_strings/basic_string_view/operators/char/2.cc: Likewise. * testsuite/21_strings/basic_string_view/operators/wchar_t/2.cc: Likewise. * testsuite/21_strings/basic_string_view/range_access/char/1.cc: Test cbegin, cend, rbegin, rend, crbegin and crend. * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc: Likewise. * testsuite/21_strings/basic_string_view/operations/compare/char/1.cc: Remove trailing whitespace. * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/ 1.cc: Likewise. * testsuite/21_strings/basic_string_view/modifiers/swap/char/1.cc: New. * testsuite/21_strings/basic_string_view/modifiers/swap/wchar_t/1.cc: New. * testsuite/21_strings/basic_string_view/operations/compare/char/2.cc: New. * testsuite/21_strings/basic_string_view/operations/compare/wchar_t/ 2.cc: New. From-SVN: r251988
2017-09-11xtensa: fix PR target/82181Max Filippov2-0/+7
2017-09-11 Max Filippov <jcmvbkbc@gmail.com> gcc/ * config/xtensa/xtensa.c (xtensa_mem_offset): Check that both words of E_DImode object are reachable by xtensa_uimm8x4 access. From-SVN: r251986
2017-09-11re PR libstdc++/71500 (regex::icase only works on first character in a range)Tim Shen3-3/+71
PR libstdc++/71500 * include/bits/regex_executor.tcc: Support icase in regex_tratis<...> for back reference matches. * testsuite/28_regex/regression.cc: Test case. From-SVN: r251982
2017-09-11Adjust test to pass with old std::stringJonathan Wakely2-1/+6
* testsuite/21_strings/basic_string/lwg2946.cc: Adjust for compatibility with old COW std::string. From-SVN: r251981
2017-09-112017-09-11 Vidya Praveen <vidyapraveen@arm.com>Vidya Praveen9-422/+290
Revert r251800 and r251799. From-SVN: r251980
2017-09-11Add myself as ARM port maintainerKyrylo Tkachov2-1/+6
2017-09-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com> * MAINTAINERS (Reviewers): Move myself from here... (CPU Port Maintainers): ... to here. From-SVN: r251979
2017-09-11[multiple changes]Arnaud Charlet8-625/+596
2017-09-11 Arnaud Charlet <charlet@adacore.com> * doc/gnat_ugn/the_gnat_compilation_model.rst: Fix sphinx warning. * doc/gnat_ugn/platform_specific_information.rst: Remove doc for no longer supported platforms. * doc/gnat_ugn/gnat_and_program_execution.rst: Added detailed description of the semantics for dimensionality analysis. * gnat_ugn.texi: Regenerated. 2017-09-11 Eric Botcazou <ebotcazou@adacore.com> * freeze.adb (Has_Incomplete_Compoent): Delete. (Freeze_Profile): Do not inhibit the freezing of the profile of an expression function here. (Freeze_Subprogram): Do not re-create extra formals. * sem_ch6.adb (Analyze_Expression_Function): Always pre-analyze the expression if the function is not a completion. (Analyze_Subprogram_Body_Helper): For the body generated from an expression function that is not a completion, do not freeze the profile and temporary mask the types declared outside the expression that are not yet frozen. * sem_res.adb (Rewrite_Renamed_Operator): Also bail out if invoked during the pre-analysis of an expression function. From-SVN: r251978
2017-09-11Removed, no longer used.Arnaud Charlet1-38/+0
From-SVN: r251977
2017-09-11Removed, no longer used.Arnaud Charlet1-1025/+0
From-SVN: r251976
2017-09-11gigi.h (enum standard_datatypes): Minor tweak.Eric Botcazou3-8/+14
* gcc-interface/gigi.h (enum standard_datatypes): Minor tweak. (gigi): Likewise. From-SVN: r251974
2017-09-11Restored, removed by mistake.Arnaud Charlet1-0/+53
From-SVN: r251973
2017-09-11Renamed s-thread__ae653.adbArnaud Charlet1-247/+0
From-SVN: r251972
2017-09-11Removed, no longer used.Arnaud Charlet1-53/+0
From-SVN: r251971
2017-09-11New file.Arnaud Charlet1-0/+247
From-SVN: r251970
2017-09-11Removed, no longer used.Arnaud Charlet1-40/+0
From-SVN: r251969
2017-09-11libgnat: Rename ?-[a-z]*-* into ?-[a-z]*__*Arnaud Charlet85-140/+435
2017-09-11 Jerome Lambourg <lambourg@adacore.com> * libgnat: Rename ?-[a-z]*-* into ?-[a-z]*__* * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Take this renaming into account. From-SVN: r251968
2017-09-11lib-xref-spark_specific.adb: Minor rewrite.Yannick Moy1-1/+1
2017-09-11 Yannick Moy <moy@adacore.com> * lib-xref-spark_specific.adb: Minor rewrite. From-SVN: r251967
2017-09-11Makefile.in: Take this renaming into account.Jerome Lambourg1-421/+421
2017-09-11 Jerome Lambourg <lambourg@adacore.com> * gcc-interface/Makefile.in: Take this renaming into account. From-SVN: r251966
2017-09-11libgnarl: Rename ?-[a-z]*-* into ?-[a-z]*__*Arnaud Charlet109-0/+10
2017-09-11 Jerome Lambourg <lambourg@adacore.com> * libgnarl: Rename ?-[a-z]*-* into ?-[a-z]*__* * gcc-interface/Makefile.in: Take this renaming into account. From-SVN: r251965
2017-09-11Make HSA resilient to side-effects of split_edgeMartin Jambor3-16/+58
2017-09-11 Martin Jambor <mjambor@suse.cz> PR hsa/82119 * hsa-gen.c (gen_hsa_phi_from_gimple_phi): Process ADDR_EXPRs in arguments in advance. * hsa-regalloc.c (naive_process_phi): New parameter predecessors, use it to find predecessor edges. (naive_outof_ssa): Collect vector of predecessors. From-SVN: r251964
2017-09-11Removed.Arnaud Charlet1-1051/+0
From-SVN: r251963
2017-09-11* s-auxdec-empty.ads, s-auxdec-empty.adb: Removed, no longer used.Arnaud Charlet2-81/+0
From-SVN: r251962
2017-09-11Update header.Arnaud Charlet1-2/+0
From-SVN: r251961
2017-09-11sem_util.adb (Check_Result_And_Post_State): Do not issue a warning about ↵Yannick Moy5-23/+136
missing reference to an outcome if... 2017-09-11 Yannick Moy <moy@adacore.com> * sem_util.adb (Check_Result_And_Post_State): Do not issue a warning about missing reference to an outcome if the subprogram is ghost and has no outputs. * lib-xref-spark_specific.adb, sem_aggr.adb, sem_aux.ads: Minor reformatting. From-SVN: r251960
2017-09-11gnat1drv.adb (Adjust_Global_Switches): Set Check_Validity_Of_Parameters to ↵Yannick Moy3-1/+10
False in GNATprove mode. 2017-09-11 Yannick Moy <moy@adacore.com> * gnat1drv.adb (Adjust_Global_Switches): Set Check_Validity_Of_Parameters to False in GNATprove mode. * opt.ads (Check_Validity_Of_Parameters): Document switch to set option. From-SVN: r251959
2017-09-11New files, to ease sync between AdaCore and FSF.Arnaud Charlet5-0/+1383
From-SVN: r251958
2017-09-11New files, to ease sync between AdaCore and FSF.Arnaud Charlet4-0/+485
From-SVN: r251957
2017-09-11Daily bump.GCC Administrator1-1/+1
From-SVN: r251956
2017-09-10re PR ada/79441 (gnat.dg/pack9.adb fails)Eric Botcazou2-1/+7
PR ada/79441 * gnat.dg/pack9.adb: Robustify. From-SVN: r251951
2017-09-10re PR fortran/34640 (ICE when assigning item of a derived-component to a ↵Paul Thomas30-179/+1202
pointer) 2017-09-10 Paul Thomas <pault@gcc.gnu.org> PR fortran/34640 PR fortran/40737 PR fortran/55763 PR fortran/57019 PR fortran/57116 * expr.c (is_subref_array): Add class pointer array dummies to the list of expressions that return true. * trans-array.c: Add SPAN_FIELD and update indices for subsequent fields. (gfc_conv_descriptor_span, gfc_conv_descriptor_span_get, gfc_conv_descriptor_span_set, is_pointer_array, get_array_span): New functions. (gfc_get_descriptor_offsets_for_info): New function to preserve API for access to descriptor fields for trans-types.c. (gfc_conv_scalarized_array_ref): If the expression is a subref array, make sure that info->descriptor is a descriptor type. Otherwise, if info->descriptor is a pointer array, set 'decl' and fix it if it is a component reference. (build_array_ref): Simplify handling of class array refs by passing the vptr to gfc_build_array_ref rather than generating the pointer arithmetic in this function. (gfc_conv_array_ref): As in gfc_conv_scalarized_array_ref, set 'decl'. (gfc_array_allocate): Set the span field if this is a pointer array. Use the expr3 element size if it is available, so that the dynamic type element size is used. (gfc_conv_expr_descriptor): Set the span field for pointer assignments. * trans-array.h: Prototypes for gfc_conv_descriptor_span_get gfc_conv_descriptor_span_set and gfc_get_descriptor_offsets_for_info added. trans-decl.c (gfc_get_symbol_decl): If a non-class pointer array, mark the declaration as a GFC_DECL_PTR_ARRAY_P. Remove the setting of GFC_DECL_SPAN. (gfc_trans_deferred_vars): Set the span field to zero in thge originating scope. * trans-expr.c (gfc_conv_procedure_call): Do not use copy-in/ copy-out to pass subref expressions to a pointer dummy. (gfc_trans_pointer_assignment): Remove code for setting of GFC_DECL_SPAN. Set the 'span' field for non-class pointers to class function results. Likewise for rank remap. In the case that the target is not a whole array, use the target array ref for remap and, since the 'start' indices are missing, set the lbounds to one, as required by the standard. * trans-intrinsic.c (conv_expr_ref_to_caf_ref): Pick up the 'token' offset from the field decl in the descriptor. (conv_isocbinding_subroutine): Set the 'span' field. * trans-io.c (gfc_trans_transfer): Always scalarize pointer array io. * trans-stmt.c (trans_associate_var): Set the 'span' field. * trans-types.c (gfc_get_array_descriptor_base): Add the 'span' field to the array descriptor. (gfc_get_derived_type): Pointer array components are marked as GFC_DECL_PTR_ARRAY_P. (gfc_get_array_descr_info): Replaced API breaking code for descriptor offset calling gfc_get_descriptor_offsets_for_info. * trans.c (get_array_span): New function. (gfc_build_array_ref): Simplify by calling get_array_span and obtain 'span' if 'decl' or 'vptr' present. * trans.h : Rename DECL_LANG_FLAG_6, GFC_DECL_SUBREF_ARRAY_P, as GFC_DECL_PTR_ARRAY_P. 2017-09-10 Paul Thomas <pault@gcc.gnu.org> PR fortran/34640 * gfortran.dg/associate_24.f90: New test. * gfortran.dg/assumed_type_2.f90: Adjust some of the tree dump checks. * gfortran.dg/no_arg_check_2.f90: Likewise. * gfortran.dg/pointer_array_1.f90: New test. * gfortran.dg/pointer_array_2.f90: New test. * gfortran.dg/pointer_array_7.f90: New test. * gfortran.dg/pointer_array_8.f90: New test. * gfortran.dg/pointer_array_component_1.f90: New test. * gfortran.dg/pointer_array_component_2.f90: New test. * gfortran.dg/goacc/kernels-alias-4.f95: Bump up both tree scan counts by 1. PR fortran/40737 * gfortran.dg/pointer_array_3.f90: New test. PR fortran/57116 * gfortran.dg/pointer_array_4.f90: New test. PR fortran/55763 * gfortran.dg/pointer_array_5.f90: New test. PR fortran/57019 * gfortran.dg/pointer_array_6.f90: New test. 2017-09-10 Paul Thomas <pault@gcc.gnu.org> PR fortran/34640 * libgfortran/libgfortran.h: Add span field to descriptor. * libgfortran/libtool-version : Bump up version number to 5:0:0. From-SVN: r251949
2017-09-10A partially initialized variable isn't constant.Jason Merrill2-4/+24
* constexpr.c (reduced_constant_expression_p): If CONSTRUCTOR_NO_IMPLICIT_ZERO, check that all fields are initialized. From-SVN: r251948
2017-09-10Daily bump.GCC Administrator1-1/+1
From-SVN: r251945