- 08 Sep, 2017 1 commit
-
-
From-SVN: r251861
GCC Administrator committed
-
- 07 Sep, 2017 17 commits
-
-
PR target/80897 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): Deal with too large offsets. From-SVN: r251847
Eric Botcazou committed -
PR ada/82127 * gcc-interface/decl.c (copy_and_substitute_in_layout): Put the fields in order of increasing position in more cases. From-SVN: r251846
Eric Botcazou committed -
gcc/ChangeLog: 2017-09-07 Carl Love <cel@us.ibm.com> * config/rs6000/vsx.md (define_insn "*stxvl"): Add missing argument to the sldi instruction. From-SVN: r251845
Carl Love committed -
From-SVN: r251844
David Edelsohn committed -
re PR target/81979 (Assembler messages: Error: can't resolve `.got2' {.got2 section} - `.LCF0' {.text.unlikely section}) PR target/81979 * output.h (switch_to_other_text_partition): New declaration. * varasm.c (switch_to_other_text_partition): New function. * config/rs6000/rs6000.c (uses_TOC): Return 2 if NOTE_INSN_SWITCH_TEXT_SECTIONS is seen before finding load_toc_* insn. (rs6000_elf_declare_function_name): If uses_TOC returned 2, switch to the other text partition before emitting LCL label and switch back after emitting the word after it. * gcc.dg/pr81979.c: New test. From-SVN: r251843
Jakub Jelinek committed -
2017-09-07 Yannick Moy <moy@adacore.com> * a-exetim-mingw.ads: Add contract Global=>null on all operations that are modeled as having no read or write of global variables in SPARK. 2017-09-07 Raphael Amiard <amiard@adacore.com> * a-chtgop.adb, a-chtgop.ads (Generic_Iteration_With_Position): Added to Hmaps.Generic_Ops. * a-cohama.adb (Ada.Containers.Hmaps.Iterate): Pass proper position in cursors. * a-cihama.adb (Ada.Containers.Indefinite_Hmaps.Iterate): Pass pos in cursors. * a-cohase.adb (Ada.Containers.Hashed_Sets.Iterate): Pass proper position in cursors. 2017-09-07 Javier Miranda <miranda@adacore.com> * sem_elab.adb (Check_Task_Activation): Adding switch -gnatd.y to allow disabling the generation of implicit pragma Elaborate_All on task bodies. 2017-09-07 Javier Miranda <miranda@adacore.com> * exp_disp.adb (Make_Tags): Avoid suffix counter in the external name of the elaboration flag. Required to fix the regressions introduced by the initial version of this patch. 2017-09-07 Bob Duff <duff@adacore.com> * sem_ch6.adb (Analyze_Function_Return): Do not insert an explicit conversion to force the displacement of the "this" pointer to reference the secondary dispatch table in the case where the return statement is returning a raise expression, as in "return raise ...". 2017-09-07 Arnaud Charlet <charlet@adacore.com> * sem_disp.adb (Is_User_Defined_Equality): Removed procedure. * sem_util.ads, sem_util.adb (Is_User_Defined_Equality): Copied procedure from sem_disp.adb. * sem_ch12.ads (Get_Unit_Instantiation_Node): rename Package with Unit. * sem_ch12.adb (Get_Unit_Instantiation_Node): function extended to return the instantiation node for subprograms. Update references to Get_Unit_Instantiation_Node. * sem_ch7.adb (Install_Parent_Private_Declarations): update reference to Get_Unit_Instantiation_Node. * exp_dist.adb (Build_Package_Stubs): update reference to Get_Unit_Instantiation_Node. * sem_ch9.adb: minor typo in comment. * lib-xref-spark_specific.adb (Traverse_Declaration_Or_Statement): traverse into task type definition. 2017-09-07 Ed Schonberg <schonberg@adacore.com> * sem_dim.adb (Analyze_Dimension_Type_Conversion): New procedure to handle properly various cases of type conversions where the target type and/or the expression carry dimension information. (Dimension_System_Root); If a subtype carries dimension information, obtain the source parent type that carries the Dimension aspect. 2017-09-07 Dmitriy Anisimkov <anisimko@adacore.com> * g-socket.adb, g-socket.ads (GNAT.Sockets.To_Ada): New routine. 2017-09-07 Ed Schonberg <schonberg@adacore.com> * exp_attr.adb (Expand_N_Attribute_Reference, case 'Constrained): If the prefix is a reference to an object, rewrite it as an explicit dereference, as required by 3.7.2 (2) and as is done with most other attributes whose prefix is an access value. 2017-09-07 Bob Duff <duff@adacore.com> * par-ch13.adb: Set the Inside_Depends flag if we are inside a Refined_Depends aspect. * par-ch2.adb: Set the Inside_Depends flag if we are inside a Refined_Depends pragma. * scans.ads: Fix documentation of Inside_Depends flag. * styleg.adb, styleg.ads: Minor reformatting and comment fixes. 2017-09-07 Hristian Kirtchev <kirtchev@adacore.com> * exp_ch7.adb (Insert_Actions_In_Scope_Around): Account for the case where the are no lists to insert, but the secondary stack still requires management. * a-chtgop.adb, a-cihama.adb, a-cohama.adb, a-cohase.adb, a-tags.adb, comperr.adb, einfo.adb, exp_aggr.adb, exp_ch3.adb, exp_disp.adb, lib-xref.adb, lib-xref-spark_specific.adb, sem_ch12.adb, sem_ch13.adb, sem_ch6.adb, sem_dim.adb, sem_dim.ads, sem_elab.adb, sem_prag.adb: Minor reformatting. From-SVN: r251842
Arnaud Charlet committed -
2017-09-07 Vincent Celier <celier@adacore.com> * clean.adb: Do not get the target parameters before calling gprclean. 2017-09-07 Nicolas Roche <roche@adacore.com> * s-osinte-solaris-posix.ads: Removed. From-SVN: r251841
Arnaud Charlet committed -
2017-09-07 Arnaud Charlet <charlet@adacore.com> * sem_prag.adb (Collect_States_And_Objects): Detect also instances of single concurrent objects. 2017-09-07 Javier Miranda <miranda@adacore.com> * s-regexp.ads: Fix documentation of the globbing grammar. 2017-09-07 Gary Dismukes <dismukes@adacore.com> * a-tags.ads, einfo.ads, exp_disp.ads: Minor reformatting. 2017-09-07 Arnaud Charlet <charlet@adacore.com> * gnat1drv.adb (Gnat1drv): Enable pragma Ignore_Pragma (Global) in CodePeer mode, to support more legacy code automatically. 2017-09-07 Ed Schonberg <schonberg@adacore.com> * exp_disp.adb (Replace_Formals): If thr formal is classwide, and thus not a controlling argument, preserve its type after rewriting because it may appear in an nested call with a classwide parameter. 2017-09-07 Arnaud Charlet <charlet@adacore.com> * comperr.adb (Delete_SCIL_Files): Handle case of N_Package_Instantiation. 2017-09-07 Ed Schonberg <schonberg@adacore.com> * sem_ch10.adb (Remove_Private_With_Clause): If a private with clause for a unit U appears in a context that includes a regular with_clause on U, rewrite the redundant private clause into a null statement, rather than removing it altogether from the context, so that ASIS tools can reconstruct the original source. 2017-09-07 Ed Schonberg <schonberg@adacore.com> * sem_ch13.adb (Check_Aspect_At_Freeze_Point): The expression for aspect Small can be of any real type (not only a universal real literal) as long as it is a static constant. 2017-09-07 Thomas Quinot <quinot@adacore.com> * par_sco.adb: Minor reformatting. From-SVN: r251840
Arnaud Charlet committed -
* s-parame-ae653.ads: Removed. From-SVN: r251839
Arnaud Charlet committed -
2017-09-07 Nicolas Roche <roche@adacore.com> * s-traces-default.adb, s-trafor-default.adb, s-trafor-default.ads, s-traces.adb, s-traces.ads, s-tratas-default.adb, s-tfsetr-default.adb, s-tfsetr-vxworks.adb, s-tratas.adb, s-tratas.ads, s-tasuti.adb, s-parame-hpux.ads, s-tassta.adb, s-taasde.adb, s-tasren.adb, s-taprob.adb, a-caldel.adb, s-parame.ads, Makefile.rtl, s-tpobop.adb, s-taenca.adb, s-parame-vxworks.ads: Remove support for System.Traces. 2017-09-07 Yannick Moy <moy@adacore.com> * a-ngelfu.ads Add preconditions to all functions listed in Ada RM A.5.1(19-33) as having constraints on inputs. 2017-09-07 Arnaud Charlet <charlet@adacore.com> * lib-xref.adb (Generate_Reference): ignore references to entities which are Part_Of single concurrent objects. 2017-09-07 Eric Botcazou <ebotcazou@adacore.com> * sem_ch7.adb (Hide_Public_Entities): Add paragraph to main comment. 2017-09-07 Arnaud Charlet <charlet@adacore.com> * a-taside.adb (Activation_Is_Complete): Raise Program_Error if Null_Task_Id is passed. 2017-09-07 Javier Miranda <miranda@adacore.com> * einfo.ads, einfo.adb (Access_Disp_Table_Elab_Flag): New attribute. Defined for record types and subtypes. * exp_ch3.ads (Init_Secondary_Tags): Adding new formal (Init_Tags_List) to facilitate generating separate code in the IP routine to initialize the object components and for completing the elaboration of dispatch tables. * exp_ch3.adb (Build_Init_Procedure): Improve the code generated in the IP routines by means of keeping separate the initialization of the object components from the initialization of its dispatch tables. (Init_Secondary_Tags): Adding new formal (Init_Tags_List) and adjusting calls to Ada.Tags.Set_Dynamic_Offset_To_Top since it has a new formal; adjusting also calls to Ada.Tags.Register_Interface_Offset because the type of one of its formals has been changed. * a-tags.ads, a-tags.adb (Register_Interface_Offset): Profile modified. Instead of receiving a pointer to an object this routine receives now a primary tag. (Set_Dyanic_Offset_To_Top): Profile modified. This routine receives an additional formal: the tag of the primary dispatch table. * exp_disp.ads (Elab_Flag_Needed): New subprogram. * exp_disp.adb (Elab_Flag_Needed): New subprogram. (Make_Tags): Adding the declaration of the elaboration flag (if needed). * exp_aggr.adb (Build_Record_Aggr_Code): Adding actual of new formal in calls to Init_Secondary_Tags. 2017-09-07 Javier Miranda <miranda@adacore.com> * ghost.adb (Mark_And_Set_Ghost_Instantiation.Check_Ghost_Actuals): New subprogram. * sem_prag.adb (Pragma_Ghost): Add missing support for ghost applied to generic subprograms. From-SVN: r251838
Arnaud Charlet committed -
2017-09-07 Arnaud Charlet <charlet@adacore.com> * sem_util.adb (Check_Part_Of_Reference): rename Conc_Typ to Conc_Obj (because it refers to the anonymous concurrent object, not its type); fix condition for emitting error message about task/protected type, 2017-09-07 Bob Duff <duff@adacore.com> * binde.adb (Debug_Flag_Old): If both -do and -dp are specified, behave as if just -do was specified, rather than using a mixture. 2017-09-07 Nicolas Roche <roche@adacore.com> * system-vxworks-sparcv9.ads, s-vxwork-m68k.ads, s-vxwork-mips.ads, system-vxworks-m68k.ads, system-vxworks-mips.ads: Removed. From-SVN: r251837
Arnaud Charlet committed -
2017-09-07 Arnaud Charlet <charlet@adacore.com> * sem_prag.adb (Find_Role): The Global_Seen flag is now consulted not only for abstract states and variables, but for all kinds of items. (Collect_Subprogram_Inputs_Outputs): Do not process formal generic parameters, because unlike ordinary formal parameters, generic formals only act as input/ outputs if they are explicitly mentioned in a Global contract. 2017-09-07 Yannick Moy <moy@adacore.com> * ghost.adb (Check_Ghost_Context): Do not err on ghost code inside predicate procedure. Check predicate pragma/aspect with Ghost entity. * exp_ch6.adb, par-ch6.adb, sem_ch13.adb, sem_prag.adb; Minor reformatting. 2017-09-07 Ed Schonberg <schonberg@adacore.com> * sem_aggr.adb: Move New_Copy_Tree_And_Dimensions to sem_dim (code cleanup); * sem_ch3.adb (Build_Derived_Record_Type):i Call Copy_Dimensions_Of_Components after creating the copy of the record declaration. * sem_dim.ads, sem_dim.adb (Copy_Dimensions_Of_Components): For a derived recor type, copy the dikensions if any of each component of the parent record to the corresponding component declarations of the derived record. These expressions are used among other things as default values in aggregates with box associations. * a-dirval-mingw.adb, g-cgi.adb, gnatcmd.adb, lib-xref.adb, repinfo.adb, sem_attr.adb, sem_ch10.adb, sem_ch6.adb, sem_prag.adb: Minor reformatting. 2017-09-07 Arnaud Charlet <charlet@adacore.com> * sem_util.adb: Remove extra space after THEN. 2017-09-07 Eric Botcazou <ebotcazou@adacore.com> * sem_ch7.adb (Has_Referencer): For a subprogram renaming, also mark the renamed subprogram as referenced. From-SVN: r251836
Arnaud Charlet committed -
2017-09-07 Ed Schonberg <schonberg@adacore.com> * par-ch6.adb (P_Subprogram): Improve error message on null procedure with misplaced aspect specification, which the parser first attempts to interpret as a malformed expression function. 2017-09-07 Gary Dismukes <dismukes@adacore.com> * sem_attr.adb (Analyze_Attribute_Old_Result): Allow attributes Result and Old in the case of an expression function. 2017-09-07 Justin Squirek <squirek@adacore.com> * sem_prag.adb (Process_Atomic_Independent_Shared_Volatile): Propagate Volatile to subcomponents. 2017-09-07 Bob Duff <duff@adacore.com> * exp_ch7.adb (Find_Last_Init): Check for the case where a build-in-place function call has been replaced by a 'Reference attribute reference. 2017-09-07 Eric Botcazou <ebotcazou@adacore.com> * sem_ch7.adb (Has_Referencer): Recurse on Actions of freeze nodes. 2017-09-07 Bob Duff <duff@adacore.com> * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration, Make_Build_In_Place_Call_In_Anonymous_Context): Do not use the secondary stack for all functions that return limited tagged types -- just do it for dispatching calls. Misc cleanup. * sem_util.ads, sem_util.adb (Unqual_Conv): New function to remove qualifications and type conversions. Fix various bugs where only a single level of qualification or conversion was removed, so e.g. "T1'(T2'(X))" would incorrectly return "T2'(X)" instead of "X". * checks.adb, exp_util.ads, exp_util.adb, sem_res.adb: Misc related cleanup. 2017-09-07 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (setr_Actual_Subtypes): Within a predicate function do not create actual subtypes that may generate further predicate functions. * sem_ch13.adb (Build_Predicate_Functions): Indicate that entity of body is a predicate function as well. (Resolve_Aspect_Expressions, Resolve_Name): For a component association, only the expression needs resolution, not the name. (Resolve_Aspect_Expressions, case Predicates): Construct and analyze the predicate function declaration in the scope of the type, before making the type and its discriminants visible. From-SVN: r251835
Arnaud Charlet committed -
PR ada/82126 * gnat.dg/alignment3.adb: Add pragma No_Component_Reordering. From-SVN: r251834
Eric Botcazou committed -
2017-09-07 Richard Biener <rguenther@suse.de> * passes.def (pass_split_crit_edges): Remove instance before PRE. * tree-ssa-pre.c (pass_pre::execute): Instead manually split critical edges here, after loop init. (pass_data_pre): Remove PROP_no_crit_edges flags. * tree-ssa-sccvn.c (vn_reference_lookup_3): Use vn_valueize for valueization of call args to avoid leaking VN_TOP. (visit_use): Assert we do not visit default defs. (init_scc_vn): Use build_decl for VN_TOP to make name nicer. Use error_mark_node to more easily detect leaking VN_TOP. All default-defs are varying, not VN_TOP. Mark them visited. (run_scc_vn): Make code match comment. * gcc.dg/tree-ssa/ssa-thread-12.c: XFAIL third FSM threading opportunity. From-SVN: r251833
Richard Biener committed -
* pt.c (tsubst_arg_types): Substitute default arguments for lambdas in templates. (retrieve_specialization): Use lambda_fn_in_template_p. * cp-tree.h: Declare it. From-SVN: r251826
Jason Merrill committed -
From-SVN: r251825
GCC Administrator committed
-
- 06 Sep, 2017 22 commits
-
-
* pt.c (tsubst_expr) [DECL_EXPR]: Register capture proxies with register_local_specialization. From-SVN: r251819
Jason Merrill committed -
[gcc] 2017-09-07 Michael Meissner <meissner@linux.vnet.ibm.com> * config/rs6000/rs6000-cpus.def (OTHER_VSX_VECTOR_MASKS): Delete OPTION_MASK_FLOAT128_KEYWORD. (POWERPC_MASKS): Likewise. * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Delete support for the -mfloat128-type option, and make -mfloat128 default on PowerPC Linux systems. Define or undefine __FLOAT128__ and __FLOAT128_HARDWARE__ for the current options. Define __float128 to be __ieee128 if IEEE 128-bit support is enabled, or undefine it. (rs6000_cpu_cpp_builtins): Delete defining __FLOAT128__ here. Delete defining __FLOAT128_TYPE__. * config/rs6000/rs6000.opt (x_TARGET_FLOAT128_TYPE): Delete the -mfloat128-type option and make -mfloat128 default on PowerPC Linux systems. (TARGET_FLOAT128_TYPE): Likewise. (-mfloat128-type): Likewise. * config/rs6000/rs6000.c (rs6000_option_override_internal): Delete the -mfloat128-type option and make -mfloat128 default on PowerPC Linux systems. Always use __ieee128 to be the keyword for the IEEE 128-bit type, and map __float128 to __ieee128 if IEEE 128-bit floating point is enabled. Change tests from using -mfloat128-type to -mfloat128. (rs6000_mangle_type): Use the correct mangling for the __float128 type even if normal long double is restricted to 64-bits. (floatn_mode): Enable the _Float128 type by default on VSX Linux systems. * config/rs6000/rs6000.h (MASK_FLOAT128_TYPE): Delete. (MASK_FLOAT128_KEYWORD): Define new shortcut macro. (RS6000BTM_FLOAT128): Define in terms of -mfloat128, not -mfloat128-type. * doc/invoke.texi (RS/6000 and PowerPC Options): Update documentation for -mfloat128. [gcc/testsuite] 2017-09-07 Michael Meissner <meissner@linux.vnet.ibm.com> * gcc.target/powerpc/float128-1.c: Update options to know that -mfloat128 is now on by default on PowerPC VSX systems. Remove -static-libgcc option which is no longer needed. Use -mvsx or -mpower9-vector to enable VSX or hardware IEEE support, rather than specifying a particular CPU. * gcc.target/powerpc/float128-2.c: Likewise. * gcc.target/powerpc/float128-cmp.c: Likewise. * gcc.target/powerpc/float128-complex-1.c: Likewise. * gcc.target/powerpc/float128-complex-2.c: Likewise. * gcc.target/powerpc/float128-hw.c: Likewise. * gcc.target/powerpc/float128-mix.c: Likewise. * gcc.target/powerpc/float128-type-1.c: Likewise. * gcc.target/powerpc/float128-type-2.c: Likewise. * gcc.target/powerpc/float128-3.c: New test. * gcc.target/powerpc/float128-4.c: Likewise. * gcc.target/powerpc/float128-5.c: Likewise. From-SVN: r251814
Michael Meissner committed -
decl.c (warn_on_field_placement): Issue the warning only if the record type itself comes from source. * gcc-interface/decl.c (warn_on_field_placement): Issue the warning only if the record type itself comes from source. From-SVN: r251812
Eric Botcazou committed -
Add an alignment test to check that aligned alloca's really do get correctly aligned. Some targets may not ensure SP is always a multiple of STACK_BOUNDARY (particularly with outgoing arguments), which means aligned alloca does not get correctly aligned. This can be fixed either by aligning the outgoing arguments or setting STACK_BOUNDARY correctly. testsuite/ PR middle-end/78468 * gcc.dg/pr78468.c: Add alignment test. From-SVN: r251811
Wilco Dijkstra committed -
2017-09-06 Olivier Hainque <hainque@adacore.com> * config.gcc (powerpc-wrs-vxworksspe): Now match as vxworks*spe. From-SVN: r251809
Olivier Hainque committed -
* name-lookup.h (lookup_field_1): Delete. (get_class_binding_direct, get_class_binding): Add type_or_fns arg. * name-lookup.c (lookup_field_1): make static (method_vec_binary_search, method_vec_linear_search): New. Broken out of ... (get_class_binding_direct): ... here. Add TYPE_OR_FNS argument. Do complete search of this level. (get_class_binding): Adjust. * decl.c (reshape_init_class): Call get_class_binding. * search.c (lookup_field_r): Move field searching into get_class_binding_direct. From-SVN: r251808
Nathan Sidwell committed -
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
Arnaud Charlet committed -
* 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
Wish Wu committed -
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
Richard Earnshaw committed -
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
Richard Earnshaw committed -
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
Richard Biener committed -
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
Arnaud Charlet committed -
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
Olivier Hainque committed -
* class.c (warn_hidden): Don't barf on non-functions. * decl2.c (check_classfn): Likewise. Check template match earlier. From-SVN: r251795
Nathan Sidwell committed -
* 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
Nathan Sidwell committed -
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
Arnaud Charlet committed -
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
Richard Biener committed -
* gimple-ssa-strength-reduction.c (find_candidates_dom_walker::before_dom_children): Also allow pointer types. From-SVN: r251791
Richard Biener committed -
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
Richard Biener committed -
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
Arnaud Charlet committed -
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
Eric Botcazou committed -
2017-09-06 Vincent Celier <celier@adacore.com> * gcc-interface/Makefile.in: Remove the Project Manager from the GNAT tools. From-SVN: r251787
Vincent Celier committed
-