summaryrefslogtreecommitdiff
path: root/gcc/ada/einfo.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2015-05-22 10:50:19 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2015-05-22 10:50:19 +0000
commit07c38dd9fb87f8eb530694b66c81e317a940fa18 (patch)
tree1443c116f271fa91e506418a3760bec66ff39650 /gcc/ada/einfo.adb
parent84703fdecda04a4a3257b028a1a45babf11fa04b (diff)
downloadgcc-07c38dd9fb87f8eb530694b66c81e317a940fa18.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223546 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/einfo.adb')
-rw-r--r--gcc/ada/einfo.adb15
1 files changed, 14 insertions, 1 deletions
diff --git a/gcc/ada/einfo.adb b/gcc/ada/einfo.adb
index 78ad3dcf5f0..02433567e3c 100644
--- a/gcc/ada/einfo.adb
+++ b/gcc/ada/einfo.adb
@@ -592,8 +592,8 @@ package body Einfo is
-- Is_Uplevel_Referenced_Entity Flag283
-- Is_Unimplemented Flag284
-- Has_Volatile_Full_Access Flag285
+ -- Needs_Typedef Flag286
- -- (unused) Flag286
-- (unused) Flag287
-- (unused) Flag288
-- (unused) Flag289
@@ -2644,6 +2644,12 @@ package body Einfo is
return Flag22 (Id);
end Needs_No_Actuals;
+ function Needs_Typedef (Id : E) return B is
+ begin
+ pragma Assert (Is_Type (Id));
+ return Flag286 (Id);
+ end Needs_Typedef;
+
function Never_Set_In_Source (Id : E) return B is
begin
return Flag115 (Id);
@@ -5601,6 +5607,12 @@ package body Einfo is
Set_Flag22 (Id, V);
end Set_Needs_No_Actuals;
+ procedure Set_Needs_Typedef (Id : E; V : B := True) is
+ begin
+ pragma Assert (Is_Type (Id));
+ Set_Flag286 (Id, V);
+ end Set_Needs_Typedef;
+
procedure Set_Never_Set_In_Source (Id : E; V : B := True) is
begin
Set_Flag115 (Id, V);
@@ -8834,6 +8846,7 @@ package body Einfo is
W ("Must_Have_Preelab_Init", Flag208 (Id));
W ("Needs_Debug_Info", Flag147 (Id));
W ("Needs_No_Actuals", Flag22 (Id));
+ W ("Needs_Typedef", Flag286 (Id));
W ("Never_Set_In_Source", Flag115 (Id));
W ("No_Dynamic_Predicate_On_actual", Flag276 (Id));
W ("No_Pool_Assigned", Flag131 (Id));