- 29 May, 2018 24 commits
-
-
2018-05-29 Ed Schonberg <schonberg@adacore.com> gcc/ada/ * exp_unst.adb (Visit_Node): Exclude selected components whose prefix carry no type. Such selected components appear in unit names that are child units, both in the specification and possibly in an end label for the unit, and they do not contain any relevant uplevel references. From-SVN: r260879
Ed Schonberg committed -
2018-05-29 Arnaud Charlet <charlet@adacore.com> gcc/ada/ * libgnat/a-calend.ads, libgnat/a-calend.adb (Epoch_Offset): Make it a function. From-SVN: r260878
Arnaud Charlet committed -
Based on the Vx6 versions, using a different link spec to accomodate VxWorks 7 specificities, in particular the ability in some configurations to rely on .ctor sections to trigger constructors in kernel modules. 2018-05-29 Olivier Hainque <hainque@adacore.com> gcc/ada/ * libgnat/system-vxworks7-ppc-rtp.ads: New file. * libgnat/system-vxworks7-ppc-kernel.ads: New file. * libgnat/system-vxworks7-e500-rtp.ads: New file. * libgnat/system-vxworks7-e500-kernel.ads: New file. * libgnat/system-vxworks7-x86-rtp.ads: New file. * libgnat/system-vxworks-ppc64-kernel.ads: Rename as ... * libgnat/system-vxworks7-ppc64-kernel.ads: and adjust name of gnat-crtbe link spec to use the vx7 variant. From-SVN: r260877
Olivier Hainque committed -
Enforce a more explicit distinction of crtbegin objects holding either functions with ctor/dtor attributes or _ctors/_dtors arrays, or none of the two (no array, no attributes). Then allow/enforce different linking strategies for VxWorks 7. 2018-05-29 Olivier Hainque <hainque@adacore.com> gcc/ada/ * vx_crtbegin.inc: Use a consistent naming convention for the registration/deregistration functions across RTP or kernel. Remove the ctor/dtor attribute setting based on RTP/kernel, expect the optional attribute extension to be provided by includers instead. * vx_crtbegin.c: Mere inclusion of vx_crtbegin.inc with empty attribute extension for the registration/deregistration functions. * vx_crtbegin_attr.c: New file. Include vx_crtbegin.inc with explicit constructor/destructor attribute extensions. * vx_crtbegin_array.c: New file. Include vx_crtbegin.inc with empty attribute extensions and declare _ctors/_dtors arrays. * vx_crtbegin_auto.c: Remove. * libgnat/system-vxworks7-aarch64-rtp-smp.ads: Use vxworks7-gnat-crtbe-link.spec. * libgnat/system-vxworks7-aarch64.ads: Likewise. * libgnat/system-vxworks7-e500-rtp-smp.ads: Likewise. * libgnat/system-vxworks7-ppc-rtp-smp.ads: Likewise. * libgnat/system-vxworks7-ppc64-rtp-smp.ads: Likewise. * libgnat/system-vxworks7-x86-kernel.ads: Likewise. * libgnat/system-vxworks7-x86-rtp-smp.ads: Likewise. * libgnat/system-vxworks7-x86_64-kernel.ads: Likewise. * libgnat/system-vxworks7-x86_64-rtp-smp.ads: Likewise. From-SVN: r260876
Olivier Hainque committed -
2018-05-29 Piotr Trojanek <trojanek@adacore.com> gcc/ada/ * ali.adb: Minor reformatting. From-SVN: r260875
Piotr Trojanek committed -
2018-05-29 Joel Brobecker <brobecker@adacore.com> gcc/ada/ * doc/gnat_ugn/platform_specific_information.rst: Update package requirements for 32bit GNAT on x86_64-linux. * gnat_ugn.texi: Regenerate. From-SVN: r260874
Joel Brobecker committed -
This decouples -gnatRj from the destination, either standard output or file, so that it only toggles the format of the representation information. 2018-05-29 Eric Botcazou <ebotcazou@adacore.com> gcc/ada/ * doc/gnat_ugn/building_executable_programs_with_gnat.rst (Debugging Control): Adjust description of -gnatRj. * gnat_ugn.texi: Regenerate. * opt.ads (List_Representation_Info_To_JSON): Likewise. * repinfo.adb (List_Rep_Info): Do not automatically create a file if List_Representation_Info_To_JSON is true. * switch-c.adb (Scan_Front_End_Switches) <R>: Remove incompatibility check between -gnatRj and -gnatRs. * usage.adb (Usage): Adjust description of -gnatRj. From-SVN: r260873
Eric Botcazou committed -
Fix Normalize_Pathname to avoid a constraint error. 2018-05-29 Pascal Obry <obry@adacore.com> gcc/ada/ * libgnat/s-os_lib.adb (Normalize_Pathname): Fix handling of ".." in the root directory. gcc/testsuite/ * gnat.dg/normalize_pathname.adb: New testcase. From-SVN: r260872
Pascal Obry committed -
2018-05-29 Pascal Obry <obry@adacore.com> gcc/ada/ * libgnat/s-os_lib.adb: Minor reformatting. From-SVN: r260871
Pascal Obry committed -
2018-05-29 Doug Rupp <rupp@adacore.com> gcc/ada/ * libgnat/a-calend.adb (Epoch_Offset): Move from body to ... * libgnat/a-calend.ads (Epoch_Offset): to private part of spec * libgnat/a-calcon.ads (To_Unix_Nano_Time): New function spec. * libgnat/a-calcon.adb (To_Unix_Nano_Time): New function body. From-SVN: r260870
Doug Rupp committed -
This arranges for the Discriminant_Number of discriminants to be output by -gnatR in JSON mode. This number is referenced in symbolic expressions present for offsets and sizes, so its definition is also required for the sake of completeness. 2018-05-29 Eric Botcazou <ebotcazou@adacore.com> gcc/ada/ * repinfo.ads (JSON format): Document new pair for components. * repinfo.adb (Derived_Discriminant): New function. (List_Structural_Record_Layout): Add Outer_Ent parameter and pass it in recursive calls. If the record type is the parent of an extension, find and list the derived discriminant from the extension, if any. (List_Component_Layout): List the Discriminant_Number in JSON mode. (List_Record_Info): Adjust call to List_Structural_Record_Layout. From-SVN: r260869
Eric Botcazou committed -
This adds a new variant to the -gnatR switch, namely -gnatRj, which causes the compiler to output representation information to a file in the JSON data interchange format. It can be combined with -gnatR0/1/2/3/m (but is incompatible with -gnaRe and -gnatRs). The information output in this mode is a superset of that output in the traditional -gnatR mode, but is otherwise equivalent for the common part. 2018-05-29 Eric Botcazou <ebotcazou@adacore.com> gcc/ada/ * doc/gnat_ugn/building_executable_programs_with_gnat.rst (Alphabetical List of All Switches): Document -gnatRj. (Debugging Control): Likewise. * gnat_ugn.texi: Regenerate. * opt.ads (List_Representation_Info_To_JSON): New boolean variable. * osint-c.adb (Create_Repinfo_File): Use the .json instead of .rep extension if List_Representation_Info_To_JSON is true. * repinfo.ads: Document the JSON output format. * repinfo.adb (List_Location): New procedure. (List_Array_Info): Add support for JSON output. (List_Entities): Likewise. (Unop): Likewise. (Binop): Likewise. (Print_Expr): Likewise. (List_Linker_Section): Likewise. (List_Mechanisms): Likewise. (List_Name): Likewise. (List_Object_Info): Likewise. (List_Record_Info): Likewise. (List_Component_Layout): Likewise. Add Indent parameter. (List_Structural_Record_Layout): New procedure. (List_Attr): Add support for JSON output. (List_Type_Info): Likewise. (Write_Unknown_Val): Likewise. * switch-c.adb (Scan_Front_End_Switches) <R>: Deal with 'j'. * usage.adb (Usage): List -gnatRj. From-SVN: r260868
Eric Botcazou committed -
This extracts a worker procedure for printing the layout of a single component from List_Record_Layout so as to make the next change more readable. 2018-05-29 Eric Botcazou <ebotcazou@adacore.com> gcc/ada/ * repinfo.adb (List_Component_Layout): New procedure extracted from... (List_Record_Layout): ...here. Invoke it. From-SVN: r260867
Eric Botcazou committed -
This factors out the various cases where a marker for an unknown value is output by the -gnatR switches. No functional changes. 2018-05-29 Eric Botcazou <ebotcazou@adacore.com> gcc/ada/ * repinfo.adb (Write_Unknown_Val): New procedure. (List_GCC_Expression): Call it. (List_Record_Layout): Likewise. (Write_Val): Likewise. From-SVN: r260866
Eric Botcazou committed -
2018-05-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> gcc/ada/ * exp_ch4.adb (Expand_N_Op_Abs): Clear Do_Overflow_Check when inserting code to do check. From-SVN: r260865
Richard Kenner committed -
2018-05-29 Arnaud Charlet <charlet@adacore.com> gcc/ada/ * lib-writ.adb (Write_ALI): Do not use new function from s-casuti yet. This breaks build of cross compilers with older versions of GNAT, so better avoid it. From-SVN: r260864
Arnaud Charlet committed -
2018-05-29 Doug Rupp <rupp@adacore.com> gcc/ada/ * libgnarl/s-taprop.ads (Monotonic_Clock): Refine documentation to reflect reality. From-SVN: r260863
Doug Rupp committed -
2018-05-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> gcc/ada/ * exp_ch4.adb (Expand_N_Op_Abs): Always do range check against 'First. From-SVN: r260862
Richard Kenner committed -
The information displayed by -gnatRm was using slightly different naming and formatting conventions than the rest of the -gnatR information with no justification, so this adjusts it for the sake of consistency. For the following package: package P is function F (I : Integer) return Integer; type Rec is limited record I : Integer; end record; procedure P1 (R : Rec; I : out Integer); procedure P2 (R : Rec; I : out Integer); pragma Linker_Section (P2, ".my_section"); package Inner is procedure P3; end Inner; end P; package body P is function F (I : Integer) return Integer is begin return I; end; procedure P1 (R : Rec; I : out Integer) is begin I := R.I; end; procedure P2 (R : Rec; I : out Integer) is begin I := R.I; end; package body Inner is procedure P3 is begin null; end; end Inner; end P; the output of -gnatRm must be: Representation information for unit P (body) -------------------------------------------- Representation information for unit P (spec) -------------------------------------------- function F declared at p7.ads:3:12 convention : Ada I : passed by copy returns by copy for Rec'Size use 32; for Rec'Alignment use 4; for Rec use record I at 0 range 0 .. 31; end record; procedure P1 declared at p7.ads:9:13 convention : Ada R : passed by reference I : passed by copy procedure P2 declared at p7.ads:11:13 convention : Ada R : passed by reference I : passed by copy pragma Linker_Section (P2, ".my_section"); procedure Inner.P3 declared at p7.ads:16:15 convention : Ada 2018-05-29 Eric Botcazou <ebotcazou@adacore.com> gcc/ada/ * repinfo.adb (List_Entities): Do not list the Linker_Section for subprograms here... (List_Mechanisms): ...but here instead. Use consistent name output and formatting conventions. From-SVN: r260861
Eric Botcazou committed -
Normally, ALI files refer to source files using simple names. This allows files to be moved around without disturbing things (causing extra recompilations, etc). However, for configuration files, the full pathname is stored. This patch preparates the code base to store the simple name in this case. 2018-05-29 Bob Duff <duff@adacore.com> gcc/ada/ * lib-writ.adb (Write_ALI): Cleanup: avoid use of global var; call new To_Lower function. * libgnat/s-casuti.ads, libgnat/s-casuti.adb (To_Upper, To_Lower, To_Mixed): New functions. * osint.adb: Cleanup: use Is_Directory_Separator, which correctly allows both '\' and '/' on Windows. From-SVN: r260860
Bob Duff committed -
2018-05-29 Tom de Vries <tom@codesourcery.com> * lib/scanasm.exp (scan-assembler-times): Use proc name in error message. * lib/scanipa.exp (scan-ipa-dump-times): Same. * lib/scanrtl.exp (scan-rtl-dump-times): Same. * lib/scantree.exp (scan-tree-dump-times): Same. From-SVN: r260859
Tom de Vries committed -
2018-05-29 Tom de Vries <tom@codesourcery.com> * lib/scanasm.exp (scan-stack-usage, scan-stack-usage-not) (scan-ada-spec, scan-ada-spec-not, scan-lto-assembler): Use proc name as first argument to dg-scan. From-SVN: r260858
Tom de Vries committed -
2018-05-29 Tom de Vries <tom@codesourcery.com> * lib/scanasm.exp (scan-hidden, scan-not-hidden): Handle being called with no arguments. From-SVN: r260857
Tom de Vries committed -
From-SVN: r260856
GCC Administrator committed
-
- 28 May, 2018 16 commits
-
-
* config.gcc: Identify FreeBSD 3.x and 4.x as unsupported. * config/freebsd-spec.h (FBSD_LIB_SPEC): Only consider FreeBSD 5 and later. From-SVN: r260852
Gerald Pfeifer committed -
2018-05-28 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/85840 * io/write.c (write_real, write_real_g0, write_complex): Use separate local variables for the float string length. From-SVN: r260851
Jerry DeLisle committed -
include: 2018-05-28 Bernd Edlinger <bernd.edlinger@hotmail.de> * splay-tree.h (splay_tree_compare_strings, splay_tree_delete_pointers): Declare new utility functions. libiberty: 2018-05-28 Bernd Edlinger <bernd.edlinger@hotmail.de> * splay-tree.c (splay_tree_compare_strings, splay_tree_delete_pointers): New utility functions. gcc: 2018-05-28 Bernd Edlinger <bernd.edlinger@hotmail.de> * tree-dump.c (dump_node): Use splay_tree_delete_pointers. c-family: 2018-05-28 Bernd Edlinger <bernd.edlinger@hotmail.de> * c-lex.c (get_fileinfo): Use splay_tree_compare_strings and splay_tree_delete_pointers. cp: 2018-05-28 Bernd Edlinger <bernd.edlinger@hotmail.de> * decl2.c (start_static_storage_duration_function): Use splay_tree_delete_pointers. From-SVN: r260850
Bernd Edlinger committed -
2018-05-28 Richard Biener <rguenther@suse.de> PR tree-optimization/85933 * tree-vect-data-refs.c (vect_record_base_alignments): Only look at stmts marked as vectorizable. From-SVN: r260848
Richard Biener committed -
re PR tree-optimization/85934 (ICE: verify_gimple failed (error: type mismatch in vector pack expression)) 2018-05-28 Richard Biener <rguenther@suse.de> PR tree-optimization/85934 * tree-vect-generic.c (expand_vector_operations_1): Hoist vector boolean check before scalar optimization. * gcc.target/i386/pr85934.c: New testcase. From-SVN: r260847
Richard Biener committed -
* doc/invoke.texi (ARM Options): Use @item instead of @itemx for armv5te. From-SVN: r260846
Jakub Jelinek committed -
In dwarf2out.c dwarf2out_var_location () we create loclabels that might contain -1 (for example ".LVL5-1"). Technically those are expressions, not just plain labels. But they work fine everywhere we use them, except when calculating an uleb128 delta between two labels. For example we might create the following DWARF5 location list entry: .byte 0x3 # DW_LLE_startx_length (*.LLST0) .uleb128 0x6 # Location list range start index (*.LVL5-1) .uleb128 .LFE1-.LVL5-1 # Location list length (*.LLST0) .uleb128 0x1 # Location expression size .byte 0x54 # DW_OP_reg4 .byte 0 # DW_LLE_end_of_list (*.LLST0) Note the length is calculated using .uleb128 .LFE1-.LVL5-1. This is wrong, since both .LVL5 and 1 are substracted from .LFE1, instead of 1 being subtracted from .LVL5 first, before substracting from .LFE1. This happens because dw2_asm_output_delta_uleb128 expects two plain labels and simply inserts a minus sign between them. To fix this we simply look if the second label is actually an expression containing a minus sign and then add brackets around it. That will emit the correct .uleb128 expression: .uleb128 .LFE1-(.LVL5-1) # Location list length (*.LLST0) We cannot simply generate the loclabel containing brackets directly because we do use them also in contexts that don't take a full expression (for example we use them with .quad too). gcc/ * dwarf2asm.c (dw2_asm_output_delta_uleb128): Add brackets around lab2 if it is an expression containing a minus sign. From-SVN: r260845
Mark Wielaard committed -
2018-05-28 Eric Botcazou <ebotcazou@adacore.com> gcc/ada/ * repinfo.ads: Minor fixes and tweaks in comments. From-SVN: r260844
Eric Botcazou committed -
This removes the recently added Valop as redundant. No functional changes. 2018-05-28 Eric Botcazou <ebotcazou@adacore.com> gcc/ada/ * repinfo.adb (List_GCC_Expression): Remove Valop and replace calls to it with calls to Unop. From-SVN: r260843
Eric Botcazou committed -
This removes the Truth_Andif_Expr and Truth_Orif_Expr codes for expressions handled by the repinfo unit, since they are redundant with Truth_And_Expr and Truth_Or_Expr respectively in this context. No functional changes. 2018-05-28 Eric Botcazou <ebotcazou@adacore.com> gcc/ada/ * repinfo.ads (TCode): Adjust range. (Truth_Andif_Expr): Remove. (Truth_Orif_Expr): Likewise. (Truth_And_Expr .. Dynamic_Val): Adjust value. * repinfo.adb (Print_Expr): Remove handling of Truth_{And,Or}if_Expr. (Rep_Value): Likewise. * repinfo.h (Truth_Andif_Expr): Remove. (Truth_Orif_Expr): Likewise. (Truth_And_Expr .. Dynamic_Val): Adjust value. * gcc-interface/decl.c (annotate_value) <TRUTH_ANDIF_EXPR>: Fall through to TRUTH_AND_EXPR case. <TRUTH_ORIF_EXPR>: Fall through to TRUTH_OR_EXPR case. From-SVN: r260842
Eric Botcazou committed -
2018-05-28 Ed Schonberg <schonberg@adacore.com> gcc/ada/ * exp_unst.adb (Visit_Node): For indexed components and attribute references, examine index expressions or associated expressions as well to record uplevel references. (Vist_Node): For function and procedure calls, if a formal is an unconstrained array and the actual is constrained, check whether bounds of actual have uplevel references. From-SVN: r260841
Ed Schonberg committed -
2018-05-28 Ed Schonberg <schonberg@adacore.com> gcc/ada/ * einfo.ads, einfo.adb: Exceptions can be uplevel references, and thus they can appear as components of activation records. * exp_unst.adb (Visit_Node): A reference to an exception may be an uplevel reference. From-SVN: r260840
Ed Schonberg committed -
This adjusts the previous change to the cases where the array type is not yet frozen and, therefore, where Size_Depends_On_Discriminant is not yet computed, by doing the computation manually. 2018-05-28 Eric Botcazou <ebotcazou@adacore.com> gcc/ada/ * exp_ch4.adb (Expand_Composite_Equality): Compute whether the size depends on a discriminant manually instead of using the predicate Size_Depends_On_Discriminant in the array type case. gcc/testsuite/ * gnat.dg/renaming12.adb, gnat.dg/renaming12.ads: New testcase. From-SVN: r260839
Eric Botcazou committed -
2018-05-28 Ed Schonberg <schonberg@adacore.com> gcc/ada/ * exp_unst.adb (Check_Static_Type): For a record subtype, check discriminant constraints as well. (Visit_Node): For a selected component, check type of prefix, as is done for indexed components and slices. From-SVN: r260838
Ed Schonberg committed -
2018-05-28 Javier Miranda <miranda@adacore.com> gcc/ada/ * exp_ch4.adb (Real_Range_Check): Add a temporary to store the integer value when converting a float value to a fixed-point value. This is required for CCG because it handles fixed-point types by means of unsigned integer type variables. The range check is now performed using the integer value stored in this temporary. From-SVN: r260837
Javier Miranda committed -
SPARK Reference Manual changed to accept attributes First, Last and Length as not leading to an evaluation of a part of the prefix object. This is reflected here in the checking code for that rule. 2018-05-28 Yannick Moy <moy@adacore.com> gcc/ada/ * sem_util.adb (Is_OK_Volatile_Context): Add attributes First, Last and Length as valid non-interfering contexts for SPARK. From-SVN: r260836
Yannick Moy committed
-