aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2017-09-06[multiple changes]Arnaud Charlet7-26/+61
2017-09-06 Gary Dismukes <dismukes@adacore.com> * sem_ch5.adb: Minor reformatting and a typo fix 2017-09-06 Arnaud Charlet <charlet@adacore.com> * sinput-l.ads: minor remove extra period at the end of comment 2017-09-06 Arnaud Charlet <charlet@adacore.com> * sem_prag.adb (Add_Item_To_Name_Buffer): remove support for E_Discriminant. (Find_Role): remove support for E_Discriminant. 2017-09-06 Javier Miranda <miranda@adacore.com> * exp_ch6.adb (Expand_Simple_Function_Return): Add missing implicit type conversion to force displacement of the "this" pointer. From-SVN: r251807
2017-09-06asan.c (initialize_sanitizer_builtins): Add BT_FN_VOID_UINT8_UINT8...Wish Wu13-35/+541
* asan.c (initialize_sanitizer_builtins): Add BT_FN_VOID_UINT8_UINT8, BT_FN_VOID_UINT16_UINT16, BT_FN_VOID_UINT32_UINT32, BT_FN_VOID_UINT64_UINT64, BT_FN_VOID_FLOAT_FLOAT, BT_FN_VOID_DOUBLE_DOUBLE and BT_FN_VOID_UINT64_PTR variables. * builtin-types.def (BT_FN_VOID_UINT8_UINT8): New fn type. (BT_FN_VOID_UINT16_UINT16): Likewise. (BT_FN_VOID_UINT32_UINT32): Likewise. (BT_FN_VOID_FLOAT_FLOAT): Likewise. (BT_FN_VOID_DOUBLE_DOUBLE): Likewise. (BT_FN_VOID_UINT64_PTR): Likewise. * common.opt (flag_sanitize_coverage): New variable. (fsanitize-coverage=trace-pc): Remove. (fsanitize-coverage=): Add. * flag-types.h (enum sanitize_coverage_code): New enum. * fold-const.c (fold_range_test): Disable non-short-circuit optimization if flag_sanitize_coverage. (fold_truth_andor): Likewise. * tree-ssa-ifcombine.c (ifcombine_ifandif): Likewise. * opts.c (COVERAGE_SANITIZER_OPT): Define. (coverage_sanitizer_opts): New array. (get_closest_sanitizer_option): Add OPTS argument, handle also OPT_fsanitize_coverage_. (parse_sanitizer_options): Adjusted to also handle OPT_fsanitize_coverage_. (common_handle_option): Add OPT_fsanitize_coverage_. * sancov.c (instrument_comparison, instrument_switch): New function. (sancov_pass): Add trace-cmp support. * sanitizer.def (BUILT_IN_SANITIZER_COV_TRACE_CMP1, BUILT_IN_SANITIZER_COV_TRACE_CMP2, BUILT_IN_SANITIZER_COV_TRACE_CMP4, BUILT_IN_SANITIZER_COV_TRACE_CMP8, BUILT_IN_SANITIZER_COV_TRACE_CONST_CMP1, BUILT_IN_SANITIZER_COV_TRACE_CONST_CMP2, BUILT_IN_SANITIZER_COV_TRACE_CONST_CMP4, BUILT_IN_SANITIZER_COV_TRACE_CONST_CMP8, BUILT_IN_SANITIZER_COV_TRACE_CMPF, BUILT_IN_SANITIZER_COV_TRACE_CMPD, BUILT_IN_SANITIZER_COV_TRACE_SWITCH): New builtins. * doc/invoke.texi: Document -fsanitize-coverage=trace-cmp. * gcc.dg/sancov/cmp0.c: New test. Co-Authored-By: Jakub Jelinek <jakub@redhat.com> From-SVN: r251801
2017-09-06[arm] Improve error checking in parsecpu.awkRichard Earnshaw2-1/+36
This patch adds a bit more error checking to parsecpu.awk to ensure that statements are not missing arguments or have excess arguments beyond those permitted. It also slightly improves the handling of errors so that we terminate properly if parsing fails and be as helpful as we can while in the parsing phase. * config/arm/parsecpu.awk (fatal): Note that we've encountered an error. Only quit immediately if parsing is complete. (BEGIN): Initialize fatal_err and parse_done. (begin fpu, end fpu): Check number of arguments. (begin arch, end arch): Likewise. (begin cpu, end cpu): Likewise. (cname, tune for, tune flags, architecture, fpu, option): Likewise. (optalias): Likewise. From-SVN: r251800
2017-09-06[arm] auto-generate arm-isa.h from CPU descriptionsRichard Earnshaw9-285/+418
This patch autogenerates arm-isa.h from new entries in arm-cpus.in. This has the primary advantage that it makes the description file more self-contained, but it also solves the 'array dimensioning' problem that Tamar recently encountered. It adds two new constructs to arm-cpus.in: features and fgroups. Fgroups are simply a way of naming a group of feature bits so that they can be referenced together. We follow the convention that feature bits are all lower case, while fgroups are (predominantly) upper case. This is helpful as in some contexts they share the same namespace. Most of the minor changes in this patch are related to adopting this new naming convention. * config.gcc (arm*-*-*): Don't add arm-isa.h to tm_p_file. * config/arm/arm-isa.h: Delete. Move definitions to ... * arm-cpus.in: ... here. Use new feature and fgroup values. * config/arm/arm.c (arm_option_override): Use lower case for feature bit names. * config/arm/arm.h (TARGET_HARD_FLOAT): Likewise. (TARGET_VFP3, TARGET_VFP5, TARGET_FMA): Likewise. * config/arm/parsecpu.awk (END): Add new command 'isa'. (isa_pfx): Delete. (print_isa_bits_for): New function. (gen_isa): New function. (gen_comm_data): Use print_isa_bits_for. (define feature): New keyword. (define fgroup): New keyword. * config/arm/t-arm (OPTIONS_H_EXTRA): Add arm-isa.h (arm-isa.h): Add rule to generate file. * common/config/arm/arm-common.c: (arm_canon_arch_option): Use lower case for feature bit names. From-SVN: r251799
2017-09-06tree-ssa-pre.c (NECESSARY): Remove.Richard Biener2-152/+51
2017-09-06 Richard Biener <rguenther@suse.de> * tree-ssa-pre.c (NECESSARY): Remove. (create_expression_by_pieces): Do not touch pass-local flags. (insert_into_preds_of_block): Likewise. (do_pre_regular_insertion): Likewise. (eliminate_insert): Likewise. (eliminate_dom_walker::before_dom_children): Likewise. (fini_eliminate): Do not look at inserted_exprs. (mark_operand_necessary): Remove. (remove_dead_inserted_code): Replace with simple work-list algorithm based on inserted_exprs and SSA uses. (pass_pre::execute): Re-order fini_eliminate and remove_dead_inserted_code. From-SVN: r251798
2017-09-06[multiple changes]Arnaud Charlet71-50161/+292
2017-09-06 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch3.adb, sem_aux.adb, sem_res.adb: Minor reformatting. 2017-09-06 Yannick Moy <moy@adacore.com> * sem_ch12.adb (Analyze_Instance_And_Renamings): Refactor to set global variable Ignore_SPARK_Mode_Pragmas_In_Instance only once. 2017-09-06 Bob Duff <duff@adacore.com> * sem_ch8.adb: Change Assert to be consistent with other similar ones. 2017-09-06 Bob Duff <duff@adacore.com> * binde.adb (Find_Elab_Order): Do not run Elab_Old unless requested. Previously, the -do switch meant "run Elab_New and Elab_Old and use the order chosen by Elab_Old, possibly with debugging printouts comparing the two orders." Now it means "do not run Elab_New." This is of use if there are bugs that cause Elab_New to crash. (Elab_Position, Num_Chosen): Change type to Nat, to avoid various type conversions. * ali.ads (Elab_Position): Change type to Nat, to avoid various type conversions. 2017-09-06 Arnaud Charlet <charlet@adacore.com> * sem_prag.adb (Check_Mode_Restriction_In_Enclosing_Context): Fix reference to SPARK RM. 2017-09-06 Eric Botcazou <ebotcazou@adacore.com> * layout.adb: Use SSU short hand consistently throughout the file. 2017-09-06 Eric Botcazou <ebotcazou@adacore.com> * freeze.adb (Freeze_Record_Type) <Sized_Component_Total_Round_RM_Size>: New local variable to accumulate the rounded RM_Size of components. Update it for every component whose RM_Size is statically known. Add missing guard to check that bit packing is really required before issuing the error about packing. Swap condition for clarity's sake. * sem_prag.adb (Usage_Error): fix reference to SPARK RM in comment 2017-09-06 Fedor Rybin <frybin@adacore.com> * makeutl.adb, makeutl.ads, mlib.adb, mlib.ads, mlib-fil.adb, mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb, mlib-tgt.ads, mlib-tgt-specific.adb, mlib-tgt-specific.ads, mlib-tgt-specific-aix.adb, mlib-tgt-specific-darwin.adb, mlib-tgt-specific-hpux.adb, mlib-tgt-specific-linux.adb, mlib-tgt-specific-mingw.adb, mlib-tgt-specific-solaris.adb, mlib-tgt-specific-vxworks.adb, mlib-tgt-specific-xi.adb, mlib-utl.adb, mlib-utl.ads, prj.adb, prj.ads, prj-attr.adb, prj-attr.ads, prj-attr-pm.adb, prj-attr-pm.ads, prj-com.ads, prj-conf.adb, prj-conf.ads, prj-dect.adb, prj-dect.ads, prj-env.adb, prj-env.ads, prj-err.adb, prj-err.ads, prj-ext.adb, prj-ext.ads, prj-makr.adb, prj-makr.ads, prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads, prj-part.adb, prj-part.ads, prj-pp.adb, prj-pp.ads, prj-proc.adb, prj-proc.ads, prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-tree.ads, prj-util.adb, prj-util.ads, sinput-p.adb, sinput-p.ads: Remove obsolete project manager sources. 2017-09-06 Ed Schonberg <schonberg@adacore.com> * sem_ch5.adb (Analyze_Assigment): If the left-hand side is an entity of a mutable type and the right-hand side is a conditional expression, resolve the alternatives of the conditional using the base type of the target entity, because the alternatives may have distinct subtypes. This is particularly relevant if the alternatives are aggregates. From-SVN: r251797
2017-09-06vxworks.h (VXCPU_FOR_8548): Correct definition for VxWorks 7.Olivier Hainque2-3/+14
2017-09-06 Olivier Hainque <hainque@adacore.com> * config/powerpcspe/vxworks.h (VXCPU_FOR_8548): Correct definition for VxWorks 7. Adjust surrounding comments. From-SVN: r251796
2017-09-06class.c (warn_hidden): Don't barf on non-functions.Nathan Sidwell3-56/+64
* class.c (warn_hidden): Don't barf on non-functions. * decl2.c (check_classfn): Likewise. Check template match earlier. From-SVN: r251795
2017-09-06name-lookup.c (count_fields): Rename to ...Nathan Sidwell2-51/+73
* name-lookup.c (count_fields): Rename to ... (count_class_fields): ... here. Take a class, don't count NULL-named fields. (add_fields_to_record_type): Rename to ... (field_vec_append_class_fields): ... here. Take a class, don't add NULL-named fields. (add_enum_fields_to_record_type): Rename to ... (field_vec_append_enum_values): ... here. (set_class_bindings): Adjust, assert we added expected number. (insert_late_enum_def_bindings): Reimplement. Create vector if there are now sufficient entries. From-SVN: r251794
2017-09-06[multiple changes]Arnaud Charlet8-121/+315
2017-09-06 Ed Schonberg <schonberg@adacore.com> * checks.adb (Apply_Predicate_Check): If the expression is an aggregate that is the RHS of an assignment, apply the check to the LHS after the assignment, rather than to the aggregate. This is more efficient than creating a temporary for the aggregate, and prevents back-end crashes when the aggregate includes a dynamic "others' association. 2017-09-06 Yannick Moy <moy@adacore.com> * sem_ch12.adb (Analyze_Instance_And_Renamings): Set variable to ignore SPARK_Mode in instance before the analysis of the generated package declaration. 2017-09-06 Yannick Moy <moy@adacore.com> * sem_res.adb (Resolve_Call): Do not issue a message for calls inside expression function, unless body was seen and is candidate for inlining. 2017-09-06 Ed Schonberg <schonberg@adacore.com> * sem_aux.adb (Is_Generic_Formal): Handle properly formal packages. * sem_ch3.adb (Analyze_Declarations): In a generic subprogram body. do not freeze the formals of the generic unit. 2017-09-06 Gary Dismukes <dismukes@adacore.com> * errout.adb (Error_Msg): Separate the treatment for warning vs. style messages in inlinings and instantiations. Prevents blowups on calls to Warn_Insertion for style messages, which should not be called in that case because Warning_Msg_Char is not set. 2017-09-06 Justin Squirek <squirek@adacore.com> * sem_prag.adb (Check_VFA_Conflicts): Created to group all Volatile_Full_Access checks relating to other representation pragmas (Mark_Component_Or_Object): Created to centeralize the flagging of attributes for the record type component case, a pragma applied individually to a component, and the object case. (Process_Atomic_Independent_Shared_Volatile): Add propagation of certain pragmas to record components and move evaluation of VFA checks From-SVN: r251793
2017-09-0620050604-1.c: Adjust to be a better test for correctness of vector lowering.Richard Biener2-3/+8
2017-09-06 Richard Biener <rguenther@suse.de> * gcc.c-torture/execute/20050604-1.c: Adjust to be a better test for correctness of vector lowering. From-SVN: r251792
2017-09-062017-09-06 Richard Biener <rguenther@suse.de>Richard Biener2-1/+8
* gimple-ssa-strength-reduction.c (find_candidates_dom_walker::before_dom_children): Also allow pointer types. From-SVN: r251791
2017-09-06re PR target/82108 (Wrong vectorized code generated for x86_64)Richard Biener4-2/+60
2017-09-06 Richard Biener <rguenther@suse.de> PR tree-optimization/82108 * tree-vect-stmts.c (vectorizable_load): Fix pointer adjustment for gap in the non-permutation SLP case. * gcc.dg/vect/pr82108.c: New testcase. From-SVN: r251790
2017-09-06[multiple changes]Arnaud Charlet17-127/+222
2017-09-06 Ed Schonberg <schonberg@adacore.com> * sem_prag.adb (Check_Postcondition_Use_In_Inlined_Subprogram): Do not warn on conditions that are not obeyed for Inline_Always subprograms, when assertions are not enabled. 2017-09-06 Arnaud Charlet <charlet@adacore.com> * sem_util.adb (Unique_Entity): For abstract states return their non-limited view. 2017-09-06 Bob Duff <duff@adacore.com> * sem_ch12.adb (Copy_Generic_Node): When we copy a node that is a proper body corresponding to a stub, we defer the adjustment of the sloc until after the correct adjustment has been computed. Otherwise, Adjust_Instantiation_Sloc will ignore the adjustment, because it will be outside the range in (the old, incorrect) S_Adjustment. * inline.adb: Use named notation for readability and uniformity. * sinput-l.adb: Minor improvements to debugging output printed for Debug_Flag_L. * sinput-l.ads (Create_Instantiation_Source): Minor comment correction. 2017-09-06 Vincent Celier <celier@adacore.com> * make.adb: Do not invoke gprbuild for -bargs -P. 2017-09-06 Sylvain Dailler <dailler@adacore.com> * sem_eval.adb (Compile_Time_Known_Value_Or_Aggr): Adding a case when Op is of kind N_Qualified_Expression. In this case, the function is called recursively on the subexpression like in other cases. * make.adb: Minor reformatting 2017-09-06 Justin Squirek <squirek@adacore.com> * einfo.adb (Set_Linker_Section_Pragma): Modify Set_Linker_Section_Pragma to be consistant with the "getter" Linker_Section_Pragma. * exp_ch5.adb (Expand_Formal_Container_Loop): Add proper error checking for container loops so that the index cursor is not directly changable by the user with the use of E_Loop_Parameter. * sem_ch5.adb (Analyze_Block_Statement): Revert previous change. * sem_warn.adb (Check_References): Revert previous change. From-SVN: r251789
2017-09-06trans.c (gnat_to_gnu): Try again to translate the prefix after the field if ↵Eric Botcazou2-0/+16
it is incomplete. 2017-09-06 Eric Botcazou <ebotcazou@adacore.com> * gcc-interface/trans.c (gnat_to_gnu) <N_Selected_Component>: Try again to translate the prefix after the field if it is incomplete. From-SVN: r251788
2017-09-06Makefile.in: Remove the Project Manager from the GNAT tools.Vincent Celier2-6/+4
2017-09-06 Vincent Celier <celier@adacore.com> * gcc-interface/Makefile.in: Remove the Project Manager from the GNAT tools. From-SVN: r251787
2017-09-06[multiple changes]Arnaud Charlet20-4876/+2781
2017-09-06 Bob Duff <duff@adacore.com> * exp_util.adb (Is_Displace_Call): Make sure it works for indirect calls and the like. 2017-09-06 Yannick Moy <moy@adacore.com> * sem_prag.adb (Analyze_Depends_Global): Reinforce test on object declarations to only consider valid uses of Global/Depends those on single concurrent objects. 2017-09-06 Eric Botcazou <ebotcazou@adacore.com> * sem_ch13.adb (Check_Record_Representation_Clause): Give an error as soon as one of the specified components overlaps the parent field. 2017-09-06 Arnaud Charlet <charlet@adacore.com> * sem_prag.ads: minor fix typo in comment. 2017-09-06 Justin Squirek <squirek@adacore.com> * sem_ch5.adb (Analyze_Block_Statement): Verify a block comes from source before checking source references. * sem_warn.adb (Check_References): Add check for internal block before recursing. 2017-09-06 Vincent Celier <celier@adacore.com> * make.adb, makeusg.adb, switch-m.adb, switch-m.ads, make_util.adb, make_util.ads, sinput.adb, sinput.ads, clean.adb, gnatls.adb, gnatname.adb: Remove the Project Manager from the GNAT tools. 2017-09-06 Bob Duff <duff@adacore.com> * sem_util.ads: Minor comment fix. 2017-09-06 Ed Schonberg <schonberg@adacore.com> * sem_ch12.adb (Analyze_Associations, case of Formal_Package): Generate a freeze node for the actual of a formal package, if the actual is declared in the same unit and has a corresponding body, to prevent the current instance from being frozen before the actual is. From-SVN: r251786
2017-09-06[multiple changes]Arnaud Charlet11-89/+271
2017-09-06 Eric Botcazou <ebotcazou@adacore.com> * sem_ch7.adb (Entity_Table_Size): Change to nearest prime number. 2017-09-06 Yannick Moy <moy@adacore.com> * sem_warn.adb: Minor refactoring. 2017-09-06 Ed Schonberg <schonberg@adacore.com> * einfo.ads, einfo.adb (Get_Classwwide_Pragma): New utility, to retrieve the inherited classwide precondition/postcondition of a subprogram. * freeze.adb (Freeze_Entity): Use Get_Classwide_Pragma when freezing a subprogram, to complete the generation of the corresponding checking code. 2017-09-06 Eric Botcazou <ebotcazou@adacore.com> * inline.adb (Analyze_Inlined_Bodies): Remove restriction on loading of parent body with a with clause for the main unit. * gcc-interface/decl.c (defer_limited_with_list): Document new usage. (gnat_to_gnu_entity) <E_Access_Type>: Handle completed Taft Amendment types declared in external units like types from limited with clauses. Adjust final processing of defer_limited_with_list accordingly. 2017-09-06 Hristian Kirtchev <kirtchev@adacore.com> * exp_util.adb (Is_Controlled_Indexing): New routine. (Is_Displace_Call): Use routine Strip to remove indirections. (Is_Displacement_Of_Object_Or_Function_Result): Code clean up. Add a missing case of controlled generalized indexing. (Is_Source_Object): Use routine Strip to remove indirections. (Strip): New routine. 2017-09-06 Bob Duff <duff@adacore.com> * sysdep.c (__gnat_has_cap_sys_nice): If HAVE_CAPABILITY is defined, we include the proper header. Otherwise, we just declare the necessary things from the capabilities library. This is so we can build on machines without that library, while still enabling that library. At run time, we're using weak symbols, so __gnat_has_cap_sys_nice will simply return 0 if the library is not present, or not included in the link. 2017-09-06 Pierre-Marie de Rodat <derodat@adacore.com> * exp_dbug.adb (Debug_Renaming_Declaration): Do not create an encoding for renamings that involve function calls in prefix form. 2017-09-06 Bob Duff <duff@adacore.com> * sem_ch3.adb (Analyze_Subtype_Declaration): Set Has_Delayed_Freeze on a subtype of an incomplete type. 2017-09-06 Pierre-Marie de Rodat <derodat@adacore.com> * par_sco.adb (Extend_Statement_Sequence): When the accept statement has no parameter specification and no entry index, use the entry name as the end of the generated SCO statement. From-SVN: r251785
2017-09-06exp_util.adb (Side_Effect_Free): For CodePeer (only) treat uses of 'Image ↵Steve Baird14-68/+176
and related attributes as having side... 2017-09-06 Steve Baird <baird@adacore.com> * exp_util.adb (Side_Effect_Free): For CodePeer (only) treat uses of 'Image and related attributes as having side effects in order to avoid replicating such uses. * pprint.ads (Expression_Image) Add new generic formal flag Hide_Temp_Derefs. The flag defaults to False; CodePeer will (eventually) override the default. * pprint.adb (Expression_Image) If the new flag is set, then suppress the ".all" suffix when displaying a dereference whose prefix is a use of a value-capturing compiler temp of the sort generated by Expr_Util.Remove_Side_Effects . * exp_attr.adb, g-catiio.adb, inline.adb, sem_attr.adb, sem_ch13.adb, sem_ch7.adb, sem_dim.adb, sem_util.adb, sem_util.ads, sem_warn.adb: Minor reformatting. * inline.adb: Minor wording change. From-SVN: r251784
2017-09-06[multiple changes]Arnaud Charlet14-206/+694
2017-09-06 Eric Botcazou <ebotcazou@adacore.com> * sem_ch7.adb: Update comment. 2017-09-06 Yannick Moy <moy@adacore.com> * einfo.adb, einfo.ads (Is_Subprogram_Or_Entry): New predicate. * inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Use new function. * sem_util.adb, sem_util.ads (Within_Protected_Type): Renaming with slight modification from Is_Subp_Or_Entry_Inside_Protected, so that applies to any entity. 2017-09-06 Yannick Moy <moy@adacore.com> * sem_ch3.adb (Derived_Type_Declaration): Use Incomplete_Or_Partial_View rather than local Find_Partial_View. 2017-09-06 Javier Miranda <miranda@adacore.com> * g-catiio.ads, g-catiio.adb (Value): Extended to parse an UTC time following ISO-8861. 2017-09-06 Ed Schonberg <schonberg@adacore.com> * sem_dim.adb (Analyze_Dimension): In an instance, a type conversion takes its dimensions from the expression, not from the context type. (Dimensions_Of_Operand): Ditto. 2017-09-06 Ed Schonberg <schonberg@adacore.com> * exp_ch6.adb (Expand_Call_Helper): Do not optimize calls to null procedures when GNAT coverage is used, so that their (empty) bodies are properly covered. 2017-09-06 Bob Duff <duff@adacore.com> * sem_ch13.adb (Resolve_Aspect_Expressions): If the entity is a type with discriminants, make the discriminants directly visible in aspect clauses. 2017-09-06 Ed Schonberg <schonberg@adacore.com> * sem_res.adb (Resolve_Arithmentic_Op): If both operands are Universal_Real and the context is a floating-point type, resolve both operands to the target type. From-SVN: r251783
2017-09-06[multiple changes]Arnaud Charlet13-140/+227
2017-09-06 Hristian Kirtchev <kirtchev@adacore.com> * a-comlin.adb, exp_aggr.adb, exp_ch6.adb, frontend.adb, gnatbind.adb, sem_ch3.adb, sem_util.adb: Minor reformatting. 2017-09-06 Yannick Moy <moy@adacore.com> * freeze.adb (Check_Inherited_Conditions): Rewriting of inherited preconditions and postconditions should only occur in GNATprove mode, that is, when GNATprove_Mode is True, not to be confused with SPARK_Mode being On. 2017-09-06 Yannick Moy <moy@adacore.com> * sem_warn.adb (Check_References): Take into account possibility of attribute reference as original node. 2017-09-06 Yannick Moy <moy@adacore.com> * exp_attr.adb (Expand_N_Attribute_Reference): Protect against invalid use of attribute. 2017-09-06 Eric Botcazou <ebotcazou@adacore.com> * inline.adb (Split_Unconstrained_Function): Also set Is_Inlined on the procedure created to encapsulate the body. * sem_ch7.adb: Add with clause for GNAT.HTable. (Entity_Table_Size): New constant. (Entity_Hash): New function. (Subprogram_Table): New instantiation of GNAT.Htable.Simple_HTable. (Is_Subprogram_Ref): Rename into... (Scan_Subprogram_Ref): ...this. Record references to subprograms in the table instead of bailing out on them. Scan the value of constants if it is not known at compile time. (Contains_Subprograms_Refs): Rename into... (Scan_Subprogram_Refs): ...this. (Has_Referencer): Scan the body of all inlined subprograms. Reset the Is_Public flag on subprograms if they are not actually referenced. (Hide_Public_Entities): Beef up comment on the algorithm. Reset the table of subprograms on entry. From-SVN: r251781
2017-09-06name-lookup.h (lookup_fnfields_slot_nolazy, [...]): Rename to ...Nathan Sidwell13-59/+74
* name-lookup.h (lookup_fnfields_slot_nolazy, lookup_fnfields_slot): Rename to ... (get_class_binding_direct, get_class_binding): ... here. * name-lookup.c (lookup_fnfields_slot_nolazy, lookup_fnfields_slot): Rename to ... (get_class_binding_direct, get_class_binding): ... here. * cp-tree.h (CLASSTYPE_CONSTRUCTORS, CLASSTYPE_DESTRUCTOR): Adjust. * call.c (build_user_type_conversion_1): Adjust. (has_trivial_copy_assign_p): Adjust. (has_trivial_copy_p): Adjust. * class.c (get_basefndecls) Adjust. (vbase_has_user_provided_move_assign) Adjust. (classtype_has_move_assign_or_move_ctor_p): Adjust. (type_build_ctor_call, type_build_dtor_call): Adjust. * decl.c (register_dtor_fn): Adjust. * decl2.c (check_classfn): Adjust. * pt.c (retrieve_specialization): Adjust. (check_explicit_specialization): Adjust. (do_class_deduction): Adjust. * search.c (lookup_field_r): Adjust. (look_for_overrides_here, lookup_conversions_r): Adjust. * semantics.c (classtype_has_nothrow_assign_or_copy_p): Adjust. * tree.c (type_has_nontrivial_copy_init): Adjust. * method.c (lazily_declare_fn): Adjust comment. From-SVN: r251780
2017-09-06[multiple changes]Arnaud Charlet10-191/+243
2017-09-06 Yannick Moy <moy@adacore.com> * inline.adb: Add comments to Can_Be_Inlined_In_GNATprove_Mode. 2017-09-06 Javier Miranda <miranda@adacore.com> * exp_aggr.adb (Component_Not_OK_For_Backend): The C backend cannot handle a type conversion of an array as an aggregate component. 2017-09-06 Bob Duff <duff@adacore.com> * g-comlin.adb (Try_Help): Remove ".exe" so we get the same results on windows and unix. 2017-09-06 Justin Squirek <squirek@adacore.com> * exp_imgv.adb (Expand_Image_Attribute), (Expand_Wide_Image_Attribute), (Expand_Wide_Wide_Image_Attribute): Added case to handle new-style 'Image expansion (Rewrite_Object_Image): Moved from exp_attr.adb * exp_attr.adb (Expand_N_Attribute_Reference): Modified Image attribute cases so that the relevant subprograms in exp_imgv.adb handle all expansion. (Rewrite_Object_Reference_Image): Moved to exp_imgv.adb * sem_attr.adb (Analyze_Attribute): Modified Image attribute cases to call common function Analyze_Image_Attribute. (Analyze_Image_Attribute): Created as a common path for all image attributes (Check_Object_Reference_Image): Removed * sem_util.ads, sem_util.adb (Is_Image_Applied_To_Object): Removed and refactored into Is_Object_Image (Is_Object_Image): Created as a replacement for Is_Image_Applied_To_Object From-SVN: r251779
2017-09-06sem_prag.adb (Analyze_Depends_In_Decl_Part): Add continuation message for ↵Yannick Moy5-0/+53
missing input. 2017-09-06 Yannick Moy <moy@adacore.com> * sem_prag.adb (Analyze_Depends_In_Decl_Part): Add continuation message for missing input. 2017-09-06 Yannick Moy <moy@adacore.com> * inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Prevent inlining of protected subprograms and entries. * sem_util.adb, sem_util.ads (Is_Subp_Or_Entry_Inside_Protected): New function to detect when a subprogram of entry is defined inside a protected object. From-SVN: r251778
2017-09-06sysdep.c (__gnat_has_cap_sys_nice): New function to determine whether the ↵Bob Duff3-13/+100
current process has the CAP_SYS_NICE... 2017-09-06 Bob Duff <duff@adacore.com> * sysdep.c (__gnat_has_cap_sys_nice): New function to determine whether the current process has the CAP_SYS_NICE capability. * s-taprop-linux.adb (Get_Ceiling_Support): Update this to allow ceiling priorities if the current process has the CAP_SYS_NICE capability. From-SVN: r251777
2017-09-06[multiple changes]Arnaud Charlet8-629/+153
2017-09-06 Bob Duff <duff@adacore.com> * a-comlin.ads, a-comlin.adb (Argument): Move the constraint check back to the body, because SPARK is not yet ready for "or else raise Constraint_Error". 2017-09-06 Ed Schonberg <schonberg@adacore.com> * exp_ch6.adb (Expand_Call_Helper): Replace call to null procedure by a single null statement, after evaluating the actuals that require it. 2017-09-06 Javier Miranda <miranda@adacore.com> * exp_aggr.adb (Backend_Processing_Possible.Component_Check): Generating C code improve the code that checks the use of nested aggregates to initialize object declarations. 2017-09-06 Yannick Moy <moy@adacore.com> * sem_ch3.adb (Derived_Type_Declaration): Detect violations of new rule SPARK RM 3.4(1). Also refactor existing check to use the new function Find_Partial_View. 2017-09-06 Vincent Celier <celier@adacore.com> * gnatcmd.adb: gnat ls -V -P... invokes gprls -V -P... The code from the Prj hierarchy has been removed from the GNAT driver. 2017-09-06 Ed Schonberg <schonberg@adacore.com> * sem_type.adb (Interface_Present_In_Ancestor): Within an expression function, or within a spec expression (default value, etc) a reference to an incomplete type is legal: legality of the operation will be checked when some related entity (type, object or subprogram) is frozen. From-SVN: r251776
2017-09-06[multiple changes]Arnaud Charlet15-617/+704
2017-09-06 Gary Dismukes <dismukes@adacore.com> * exp_ch5.adb, s-diinio.ads, sem_ch4.adb, s-diflio.ads: Minor spelling adjustments and a typo fix. 2017-09-06 Yannick Moy <moy@adacore.com> * sem_res.adb (Resolve_Call): Do not issue info message about inlining of calls to functions in assertions, for functions whose body has not been seen yet. 2017-09-06 Bob Duff <duff@adacore.com> * a-comlin.ads, a-comlin.adb (Argument): Simplify the code, now that we can use modern Ada in this package. * s-resfil.ads, s-resfil.adb, a-clrefi.ads, a-clrefi.adb: Move Ada.Command_Line.Response_File to System.Response_File, and make Ada.Command_Line.Response_File into a rename of System.Response_File. This is to avoid having gnatbind depend Ada.Command_Line, which would damage the bootstrap process now that Ada.Command_Line contains modern Ada (the raise expression). * gnatbind.adb: Avoid dependence on Ada.Command_Line. Depend on System.Response_File instead of Ada.Command_Line.Response_File. Change one call to Ada.Command_Line.Command_Name to use Fill_Arg. Change one call to Ada.Command_Line.Argument_Count to use Arg_Count. * gcc-interface/Make-lang.in, Makefile.rtl: Take note of the new files. From-SVN: r251775
2017-09-06frontend.adb (Frontend): Skip -gnatec=gnat.adc switch, because we've already ↵Bob Duff3-207/+223
read gnat.adc by default. 2017-09-06 Bob Duff <duff@adacore.com> * frontend.adb (Frontend): Skip -gnatec=gnat.adc switch, because we've already read gnat.adc by default. 2017-09-06 Bob Duff <duff@adacore.com> * exp_ch5.adb (Get_Default_Iterator): Replace "Assert(False)" with "return Iter", because if an iterable type is derived from a noniterable one, then we won't find an overriding or inherited default iterator. From-SVN: r251774
2017-09-06[multiple changes]Arnaud Charlet6-40/+93
2017-09-06 Yannick Moy <moy@adacore.com> * sem_warn.adb (Warn_On_Suspicious_Index): Improve warning when the literal index used to access a string is null or negative. 2017-09-06 Hristian Kirtchev <kirtchev@adacore.com> * einfo.adb (Status_Flag_Or_Transient_Decl): The attribute is now allowed on loop parameters. (Set_Status_Flag_Or_Transient_Decl): The attribute is now allowed on loop parameters. (Write_Field15_Name): Update the output for Status_Flag_Or_Transient_Decl. * einfo.ads: Attribute Status_Flag_Or_Transient_Decl now applies to loop parameters. Update the documentation of the attribute and the E_Loop_Parameter entity. * exp_ch7.adb (Process_Declarations): Remove the bogus guard which assumes that cursors can never be controlled. * exp_util.adb (Requires_Cleanup_Actions): Remove the bogus guard which assumes that cursors can never be controlled. From-SVN: r251773
2017-09-06exp_attr.adb, [...]: Minor reformatting.Hristian Kirtchev7-30/+37
2017-09-06 Hristian Kirtchev <kirtchev@adacore.com> * exp_attr.adb, sem_util.adb, sem_attr.adb, sem_ch6.adb, sem_ch8.adb, sem_warn.adb: Minor reformatting. From-SVN: r251772
2017-09-06[multiple changes]Arnaud Charlet3-15/+47
2017-09-06 Ed Schonberg <schonberg@adacore.com> * sem_warn.adb (Warn_On_Overlapping_Actuals): Refine previous fix and preserve older GNAT warning on overlapping actuals that are not elementary types. 2017-09-06 Justin Squirek <squirek@adacore.com> * sem_attr.adb: Comment correction. From-SVN: r251771
2017-09-06[multiple changes]Arnaud Charlet3-3/+18
2017-09-06 Gary Dismukes <dismukes@adacore.com> * sem_util.adb: Minor reformatting. 2017-09-06 Yannick Moy <moy@adacore.com> * a-comlin.ads (Argument): Add precondition for analysis. From-SVN: r251770
2017-09-06Minor reformatting.Arnaud Charlet3-9/+9
From-SVN: r251769
2017-09-06[multiple changes]Arnaud Charlet4-2/+30
2017-09-06 Yannick Moy <moy@adacore.com> * sem_res.adb (Resolve): Update message for function call as statement. 2017-09-06 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Check_Returns): Clean up warnings coming from generated bodies for renamings that are completions, when renamed procedure is No_Return. * sem_ch8.adb (Analyze_Subprogram_Renaming): Implement legality rule in 6.5.1 (7/2): if a renaming is a completion of a subprogram with No_Return, the renamed entity must be No_Return as well. From-SVN: r251768
2017-09-06[multiple changes]Arnaud Charlet10-92/+164
2017-09-06 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch5.adb, freeze.adb, exp_ch4.adb, exp_ch6.adb, lib-xref.adb: Minor reformatting. 2017-09-06 Justin Squirek <squirek@adacore.com> * exp_attr.adb (Expand_N_Attribute_Reference): Modified Image attribute cases (Rewrite_Object_Reference_Image): Created to aid the rewriting of new-style 'Image attributes. * sem_attr.adb (Analyze_Attribute): Modified Image attribute cases (Check_Object_Reference_Image): Created to handle verification of 'Image with object-references as prefixes. * sem_util.ads, sem_util.adb (Is_Image_Applied_To_Object): Create predicate to identify cases where an 'Image attribute's prefix applies to an object reference. From-SVN: r251767
2017-09-06freeze.adb (Freeze_Entity): Do not generate a freeze node for a generic unit...Ed Schonberg2-0/+14
2017-09-06 Ed Schonberg <schonberg@adacore.com> * freeze.adb (Freeze_Entity): Do not generate a freeze node for a generic unit, even if it includes delayed aspect specifications. Freeze nodes for generic entities must never appear in the tree that reaches the back-end of the compiler. From-SVN: r251766
2017-09-06[multiple changes]Arnaud Charlet21-133/+827
2017-09-06 Yannick Moy <moy@adacore.com> * treepr.adb (Print_Entity_Info): Do not print empty Elist. 2017-09-06 Yannick Moy <moy@adacore.com> * inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Do not consider calls to subprograms in other units as possibly inlined. 2017-09-06 Ed Schonberg <schonberg@adacore.com> * freeze.adb (Freeze_Entity): For a derived type that has no explicit delayed aspects but may inherit delayed aspects from its parent type, analyze aspect at freeze point for proper capture of an inherited aspect. 2017-09-06 Arnaud Charlet <charlet@adacore.com> * lib-xref.adb (Get_Through_Renamings): Get through subprogram renamings; also, avoid repeated calls to Renamed_Object when getting through object renamings. 2017-09-06 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb (Array_Type_Declaration): Handle properly an array type declaration in a private part, when an index is a subtype indication of a discrete type with a private partial view. 2017-09-06 Javier Miranda <miranda@adacore.com> * exp_ch4.adb (Expand_Modular_Op): Force generating temporary to improve the generated code. 2017-09-06 Tristan Gingold <gingold@adacore.com> * s-fatgen.adb: Minor typo fix in comment. 2017-09-06 Ed Schonberg <schonberg@adacore.com> * exp_ch5.adb (Make_Field_Assign): If the type of the right-hand side has stored constraint, use its values (except for those that are renamings of parent discriminants) to produce additional assignments for the discriminants of the left-hand side, which are invisible in the righ-hand side and not retrievable as selected components. 2017-09-06 Ed Schonberg <schonberg@adacore.com> * sem_util.adb (Needs_One_Formal): The first formal of such a function must be a controlling formal, so that Obj.F (X, Y) can have the interpretation F(Obj)(X, Y). * sem_util.ads: Clarify documentation. 2017-09-06 Eric Botcazou <ebotcazou@adacore.com> * table.ads, table.adb: Restore original implementation. * namet.h (Names_Ptr): Adjust back. (Name_Chars_Ptr): Likewise. * uintp.h (Uints_Ptr): Likewise. (Udigits_Ptr): Likewise. * g-table.ads: Remove pragma Compiler_Unit_Warning. * par_sco.adb: Do not with GNAT.Table and use Table consistently. * scos.ads: Replace GNAT.Table with Table and adjust instantiations. * spark_xrefs.ads: Likewise. * scos.h: Undo latest changes. 2017-09-06 Ed Schonberg <schonberg@adacore.com> * sem_ch12.adb (Analyze_Subprogram_Instantiation): Propagate No_Return flag to instance if pragma applies to generic unit. This must be done explicitly because the pragma does not appear directly in the generic declaration (unlike the corresponding aspect specification). From-SVN: r251765
2017-09-06Fix typo.Arnaud Charlet1-2/+2
From-SVN: r251764
2017-09-06[multiple changes]Arnaud Charlet4-33/+112
2017-09-06 Eric Botcazou <ebotcazou@adacore.com> * sem_ch7.adb (Has_Referencer): Move up and expand comment explaining the test used to detect inlining. Use same test in second occurrence. (Analyze_Package_Body_Helper): Minor formatting fixes. 2017-09-06 Ed Schonberg <schonberg@adacore.com> * exp_ch4.adb (Handle_Changed_Representation): For an untagged derived type with a mixture of renamed and constrained parent discriminants, the constraint for the target must obtain the discriminant values from both the operand and from the stored constraint for it, given that the constrained discriminants are not visible in the object. * exp_ch5.adb (Make_Field_Assign): The type of the right-hand side may be derived from that of the left-hand side (as in the case of an assignment with a change of representation) so the discriminant to be used in the retrieval of the value of the component must be the entity in the type of the right-hand side. From-SVN: r251763
2017-09-06[multiple changes]Arnaud Charlet11-260/+293
2017-09-06 Hristian Kirtchev <kirtchev@adacore.com> * sem_ch3.adb, sem_ch7.adb, sem_util.adb, g-debpoo.adb, sem_ch4.adb, sem_ch6.adb, sem_ch8.adb: Minor reformatting. * exp_util.adb (Is_Source_Object): Account for the cases where the source object may appear as a dereference or within a type conversion. * exp_ch6.adb: Fix missing space in error message. 2017-09-06 Ed Schonberg <schonberg@adacore.com> * sem_prag.adb: Update description of Eliminate. From-SVN: r251762
2017-09-06[multiple changes]Arnaud Charlet4-3/+36
2017-09-06 Ed Schonberg <schonberg@adacore.com> * sem_attr.adb (Analyze_Attribute, case 'Loop_Entry): Handle properly an attribute reference 'Loop_Entry that appears in the list of indices of an indexed expression, to prevent an infinite loop in the compiler. 2017-09-06 Bob Duff <duff@adacore.com> * s-fileio.adb (Name): Do not raise Use_Error for temp files. 2017-09-06 Ed Schonberg <schonberg@adacore.com> * sem_ch4.adb (Analyze_Set_Membership): If an alternative in a set membership is an overloaded enumeration literal, and the type of the alternative is resolved from a previous one, replace the entity of the alternative as well as the type, to prevent inconsistencies between the entity and the type. From-SVN: r251761
2017-09-06[multiple changes]Arnaud Charlet26-142/+378
2017-09-06 Eric Botcazou <ebotcazou@adacore.com> * ali.ads (ALIs_Record): Add No_Component_Reordering component. (No_Component_Reordering_Specified): New switch. * ali.adb (Initialize_ALI): Set No_Component_Reordering_Specified. (Scan_ALI): Set No_Component_Reordering and deal with NC marker. * bcheck.adb (Check_Consistent_No_Component_Reordering): New check. (Check_Configuration_Consistency): Invoke it. * debug.adb (d.r): Toggle the effect of the switch. (d.v): Change to no-op. * einfo.ads (Has_Complex_Representation): Restrict to record types. (No_Reordering): New alias for Flag239. (OK_To_Reorder_Components): Delete. (No_Reordering): Declare. (Set_No_Reordering): Likewise. (OK_To_Reorder_Components): Delete. (Set_OK_To_Reorder_Components): Likewise. * einfo.adb (Has_Complex_Representation): Expect record types. (No_Reordering): New function. (OK_To_Reorder_Components): Delete. (Set_Has_Complex_Representation): Expect base record types. (Set_No_Reordering): New procedure. (Set_OK_To_Reorder_Components): Delete. (Write_Entity_Flags): Adjust to above change. * fe.h (Debug_Flag_Dot_R): New macro and declaration. * freeze.adb (Freeze_Record_Type): Remove conditional code setting OK_To_Reorder_Components on record types with convention Ada. * lib-writ.adb (Write_ALI): Deal with NC marker. * opt.ads (No_Component_Reordering): New flag. (No_Component_Reordering_Config): Likewise. (Config_Switches_Type): Add No_Component_Reordering component. * opt.adb (Register_Opt_Config_Switches): Copy No_Component_Reordering onto No_Component_Reordering_Config. (Restore_Opt_Config_Switches): Restore No_Component_Reordering. (Save_Opt_Config_Switches): Save No_Component_Reordering. (Set_Opt_Config_Switches): Set No_Component_Reordering. * par-prag.adb (Prag): Deal with Pragma_No_Component_Reordering. * sem_ch3.adb (Analyze_Private_Extension_Declaration): Also set the No_Reordering flag from the default. (Build_Derived_Private_Type): Likewise. (Build_Derived_Record_Type): Likewise. Then inherit it for untagged types and clean up handling of similar flags. (Record_Type_Declaration): Likewise. * sem_ch13.adb (Same_Representation): Deal with No_Reordering and remove redundant test on Is_Tagged_Type. * sem_prag.adb (Analyze_Pragma): Handle No_Component_Reordering. (Sig_Flags): Likewise. * snames.ads-tmpl (Name_No_Component_Reordering): New name. (Pragma_Id): Add Pragma_No_Component_Reordering value. * warnsw.adb (Set_GNAT_Mode_Warnings): Enable -gnatw.q as well. * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Copy the layout of the parent type only if the No_Reordering settings match. (components_to_record): Reorder record types with convention Ada by default unless No_Reordering is set or -gnatd.r is specified and do not warn if No_Reordering is set in GNAT mode. 2017-09-06 Ed Schonberg <schonberg@adacore.com> * sem_util.ads, sem_util.adb (Check_Previous_Null_Procedure): new predicate to reject declarations that can be completions, when there is a visible prior homograph that is a null procedure. * sem_ch6.adb (Analyze_Null_Procedure): use it. * sem_ch8.adb (Analyze_Subprogram_Renaming): ditto. 2017-09-06 Thomas Quinot <quinot@adacore.com> * s-regpat.adb (Compile.Parse_Literal): Fix handling of literal run of 253 characters or more. From-SVN: r251760
2017-09-06[multiple changes]Arnaud Charlet8-225/+384
2017-09-06 Ed Schonberg <schonberg@adacore.com> * einfo.adb (Designated_Type): Use Is_Incomplete_Type to handle properly incomplete subtypes that may be created by explicit or implicit declarations. (Is_Base_Type): Take E_Incomplete_Subtype into account. (Subtype_Kind): Ditto. * sem_ch3.adb (Build_Discriminated_Subtype): Set properly the Ekind of a subtype of a discriminated incomplete type. (Fixup_Bad_Constraint): Use Subtype_Kind in all cases, including incomplete types, to preserve error reporting. (Process_Incomplete_Dependents): Do not create a subtype declaration for an incomplete subtype that is created internally. * sem_ch7.adb (Analyze_Package_Specification): Handle properly incomplete subtypes that do not require a completion, either because they are limited views, of they are generic actuals. 2017-09-06 Hristian Kirtchev <kirtchev@adacore.com> * checks.adb (Insert_Valid_Check): Remove the suspicious manipulation of the Do_Range_Check flag as ths is no linger needed. Suppress validity check when analysing the validation variable. 2017-09-06 Philippe Gil <gil@adacore.com> * g-debpoo.adb: adapt GNAT.Debug_Pools to allow safe thread GNATCOLL.Memory 2017-09-06 Bob Duff <duff@adacore.com> * sem_elim.adb: Minor comment fix. 2017-09-06 Ed Schonberg <schonberg@adacore.com> * sem_util.adb (Is_Object_Reference): A function call is an object reference, and thus attribute references for attributes that are functions (such as Pred and Succ) as well as predefined operators are legal in contexts that require an object, such as the prefix of attribute Img and the Ada2020 version of 'Image. From-SVN: r251759
2017-09-06exp_util.adb, [...]: Minor reformatting.Hristian Kirtchev8-35/+49
2017-09-06 Hristian Kirtchev <kirtchev@adacore.com> * exp_util.adb, einfo.adb, sem_attr.adb, exp_ch4.adb, gnatls.adb, exp_ch3.adb, xoscons.adb: Minor reformatting. From-SVN: r251758
2017-09-06[multiple changes]Arnaud Charlet10-69/+162
2017-09-06 Raphael Amiard <amiard@adacore.com> * a-chtgop.ads, a-chtgop.adb: Add versions of First and Next with Position parameter. If supplied, use it to provide efficient iteration. * a-cohase.ads, a-cohase.adb, a-cihama.ads, a-cihama.adb, a-cohama.ads, a-cohama.adb: Add/Use Position to provide efficient iteration. 2017-09-06 Ed Schonberg <schonberg@adacore.com> * exp_util.adb (Build_Allocate_Deallocate_Proc): If the designated type is class-wide and the expression is an unchecked conversion, preserve the conversion when checking the tag of the designated object, to prevent spurious semantic errors when the expression in the conversion has an untagged type (for example an address attribute). From-SVN: r251757
2017-09-06Enqueue all SRA links for write flag propagationMartin Jambor4-1/+45
2017-09-06 Martin Jambor <mjambor@suse.cz> PR tree-optimization/82078 gcc/ * tree-sra.c (sort_and_splice_var_accesses): Move call to add_access_to_work_queue... (build_accesses_from_assign): ...here. (propagate_all_subaccesses): Make sure racc is the group representative, if there is one. gcc/testsuite/ * gcc.dg/tree-ssa/pr82078.c: New test. From-SVN: r251756
2017-09-06[multiple changes]Arnaud Charlet5-56/+68
2017-09-06 Ed Schonberg <schonberg@adacore.com> * sem_res.adb (Resolve_Entry_Call): Check whether a protected operation is subject to a pragma Eliminate. 2017-09-06 Ed Schonberg <schonberg@adacore.com> * sem_elim.ads, exp_ch4.adb: Minor reformatting. 2017-09-06 Eric Botcazou <ebotcazou@adacore.com> * fe.h (Eliminate_Error_Msg): Remove. From-SVN: r251755
2017-09-06re PR middle-end/82095 (ICE in tree_nop_conversion at tree.c:11793 on ppc64le)Jakub Jelinek4-2/+30
PR middle-end/82095 * varasm.c (categorize_decl_for_section): Use SECCAT_TBSS for TLS vars with NULL DECL_INITIAL. * gcc.dg/tls/pr82095.c: New test. From-SVN: r251754
2017-09-062017-09-06 Richard Biener <rguenther@suse.de>Richard Biener2-2/+7
* gimple-ssa-strength-reduction.c (find_candidates_dom_walker::before_doom_children): Use a type and not a mode check. From-SVN: r251753
2017-09-06re PR target/77308 (surprisingly large stack usage for sha512 on arm)Bernd Edlinger3-8/+19
2017-09-06 Bernd Edlinger <bernd.edlinger@hotmail.de> PR target/77308 * config/arm/predicates.md (arm_general_adddi_operand): Create new non-vfp predicate. * config/arm/arm.md (*arm_adddi3, *arm_subdi3): Use new predicates. From-SVN: r251752