diff options
author | Robert Dewar <dewar@adacore.com> | 2015-05-22 10:50:19 +0000 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2015-05-22 12:50:19 +0200 |
commit | ed05b790079613774f72ddb421f2d751fcac03fd (patch) | |
tree | 1443c116f271fa91e506418a3760bec66ff39650 /gcc/ada/einfo.ads | |
parent | 6eb187f6f31be9ba4e80c08110482291a637ddba (diff) | |
download | gcc-ed05b790079613774f72ddb421f2d751fcac03fd.zip gcc-ed05b790079613774f72ddb421f2d751fcac03fd.tar.gz gcc-ed05b790079613774f72ddb421f2d751fcac03fd.tar.bz2 |
debug.adb: Update documentation.
2015-05-22 Robert Dewar <dewar@adacore.com>
* debug.adb: Update documentation.
* einfo.ads, einfo.adb (Needs_Typedef): New flag
* exp_unst.adb (Unnest_Subprogram): Mark AREC types as needing
typedef's in C.
* frontend.adb: Update comments.
* gnat1drv.adb (Adjust_Global_Switches): Set all needed flags
for -gnatd.V
* opt.ads (Generate_C_Code): New switch.
* osint-c.adb (Write_C_File_Info): Removed, not used
(Write_H_File_Info): Removed, not used
* osint-c.ads (Write_C_File_Info): Removed, not used
(Write_H_File_Info): Removed, not used
* osint.ads (Write_Info): Minor comment updates.
(Output_FD): Moved from private part to public part of spec.
* sem.adb (Semantics): Force expansion on if in Generate_C_Code
mode.
* atree.ads: minor typo in comment.
* sem_prag.adb (Process_Atomic_Independent_Shared_Volatile):
Do not allow VFA on composite object with aliased component.
From-SVN: r223546
Diffstat (limited to 'gcc/ada/einfo.ads')
-rw-r--r-- | gcc/ada/einfo.ads | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/gcc/ada/einfo.ads b/gcc/ada/einfo.ads index f687d3d..5fe5da8 100644 --- a/gcc/ada/einfo.ads +++ b/gcc/ada/einfo.ads @@ -1405,7 +1405,9 @@ package Einfo is -- Has_Aliased_Components (Flag135) [implementation base type only] -- Defined in array type entities. Indicates that the component type --- of the array is aliased. +-- of the array is aliased. Should this also be set for records to +-- indicate that at least one component is aliased (see processing in +-- Sem_Prag.Process_Atomic_Independent_Shared_Volatile???) -- Has_Alignment_Clause (Flag46) -- Defined in all type entities and objects. Indicates if an alignment @@ -3348,6 +3350,14 @@ package Einfo is -- interpreted as an indexing of the result of the call. It is also -- used to resolve various cases of entry calls. +-- Needs_Typedef (Flag286) +-- Defined for all types and subtypes. Set if it is essential to generate +-- a typedef when we are generating C code from Cprint. Normally we +-- generate typedef's only for source entities, and not for internally +-- generated types, but there are cases, notably the AREC types generated +-- in Exp_Unst when we are unnesting subprograms where we must generate +-- typedef's for non-source types. + -- Never_Set_In_Source (Flag115) -- Defined in all entities, but can be set only for variables and -- parameters. This flag is set if the object is never assigned a value @@ -5441,6 +5451,7 @@ package Einfo is -- May_Inherit_Delayed_Rep_Aspects (Flag262) -- Must_Be_On_Byte_Boundary (Flag183) -- Must_Have_Preelab_Init (Flag208) + -- Needs_Typedef (Flag286) -- Optimize_Alignment_Space (Flag241) -- Optimize_Alignment_Time (Flag242) -- Partial_View_Has_Unknown_Discr (Flag280) @@ -6965,6 +6976,7 @@ package Einfo is function Must_Have_Preelab_Init (Id : E) return B; function Needs_Debug_Info (Id : E) return B; function Needs_No_Actuals (Id : E) return B; + function Needs_Typedef (Id : E) return B; function Never_Set_In_Source (Id : E) return B; function Next_Inlined_Subprogram (Id : E) return E; function No_Dynamic_Predicate_On_Actual (Id : E) return B; @@ -7622,6 +7634,7 @@ package Einfo is procedure Set_Must_Have_Preelab_Init (Id : E; V : B := True); procedure Set_Needs_Debug_Info (Id : E; V : B := True); procedure Set_Needs_No_Actuals (Id : E; V : B := True); + procedure Set_Needs_Typedef (Id : E; V : B := True); procedure Set_Never_Set_In_Source (Id : E; V : B := True); procedure Set_Next_Inlined_Subprogram (Id : E; V : E); procedure Set_No_Dynamic_Predicate_On_Actual (Id : E; V : B := True); @@ -8433,6 +8446,7 @@ package Einfo is pragma Inline (Must_Have_Preelab_Init); pragma Inline (Needs_Debug_Info); pragma Inline (Needs_No_Actuals); + pragma Inline (Needs_Typedef); pragma Inline (Never_Set_In_Source); pragma Inline (Next_Index); pragma Inline (Next_Inlined_Subprogram); @@ -8890,6 +8904,7 @@ package Einfo is pragma Inline (Set_Must_Have_Preelab_Init); pragma Inline (Set_Needs_Debug_Info); pragma Inline (Set_Needs_No_Actuals); + pragma Inline (Set_Needs_Typedef); pragma Inline (Set_Never_Set_In_Source); pragma Inline (Set_Next_Inlined_Subprogram); pragma Inline (Set_No_Dynamic_Predicate_On_Actual); |