summaryrefslogtreecommitdiff
path: root/gcc/ada/sprint.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2007-04-06 09:27:42 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2007-04-06 09:27:42 +0000
commit41ee875ca042606c60974bfc41225388785c6409 (patch)
tree09de6cbedd12384c33d75cfc489f9993e719764d /gcc/ada/sprint.adb
parentb3c77df2cbe4abe8eed06dad6f0579d99724feb5 (diff)
downloadgcc-41ee875ca042606c60974bfc41225388785c6409.tar.gz
2007-04-06 Ed Schonberg <schonberg@adacore.com>
Robert Dewar <dewar@adacore.com> * sinfo.ads, sinfo.adb (Coextensions): New element list for allocators, to chain nested components that are allocators for access discriminants of the enclosing object. Add N_Push and N_Pop nodes New field Exception_Label added (Local_Raise_Statements): New field in N_Exception_Handler_Node (Local_Raise_Not_OK): New flag in N_Exception_Handler_Node (Is_Coextension): New flag for allocators, to mark allocators that correspond to access discriminants of dynamically allocated objects. (N_Block_Statement): Document the fact that the corresponding entity can be an E_Return_Statement. (Is_Coextension): New flag for allocators. Remove all code for DSP option * sprint.ads, sprint.adb: Display basic information for class_wide subtypes. Add handling of N_Push and N_Pop nodes git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123600 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/sprint.adb')
-rw-r--r--gcc/ada/sprint.adb39
1 files changed, 38 insertions, 1 deletions
diff --git a/gcc/ada/sprint.adb b/gcc/ada/sprint.adb
index 2343aec98cc..51131e3a67f 100644
--- a/gcc/ada/sprint.adb
+++ b/gcc/ada/sprint.adb
@@ -2218,6 +2218,42 @@ package body Sprint is
Write_Str (", ");
end if;
+ when N_Pop_Constraint_Error_Label =>
+ Write_Indent_Str ("%pop_constraint_error_label");
+
+ when N_Pop_Program_Error_Label =>
+ Write_Indent_Str ("%pop_program_error_label");
+
+ when N_Pop_Storage_Error_Label =>
+ Write_Indent_Str ("%pop_storage_error_label");
+
+ when N_Push_Constraint_Error_Label =>
+ Write_Indent_Str ("%push_constraint_error_label (");
+
+ if Present (Exception_Label (Node)) then
+ Write_Name_With_Col_Check (Chars (Exception_Label (Node)));
+ end if;
+
+ Write_Str (")");
+
+ when N_Push_Program_Error_Label =>
+ Write_Indent_Str ("%push_program_error_label (");
+
+ if Present (Exception_Label (Node)) then
+ Write_Name_With_Col_Check (Chars (Exception_Label (Node)));
+ end if;
+
+ Write_Str (")");
+
+ when N_Push_Storage_Error_Label =>
+ Write_Indent_Str ("%push_storage_error_label (");
+
+ if Present (Exception_Label (Node)) then
+ Write_Name_With_Col_Check (Chars (Exception_Label (Node)));
+ end if;
+
+ Write_Str (")");
+
when N_Pragma =>
Write_Indent_Str_Sloc ("pragma ");
Write_Name_With_Col_Check (Chars (Node));
@@ -3698,7 +3734,8 @@ package body Sprint is
-- Class-Wide types
- when E_Class_Wide_Type =>
+ when E_Class_Wide_Type |
+ E_Class_Wide_Subtype =>
Write_Header;
Write_Name_With_Col_Check (Chars (Etype (Typ)));
Write_Str ("'Class");