aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/lib-xref-spark_specific.adb
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2015-10-23 12:49:44 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2015-10-23 12:49:44 +0200
commit265ca04aba7ca04a86809b1adf88217c091d42e8 (patch)
tree530c94ce4d6a30f8ade550d63e95bdef926af889 /gcc/ada/lib-xref-spark_specific.adb
parent45969c973faf786d16c198c42c4055903d08658f (diff)
downloadgcc-265ca04aba7ca04a86809b1adf88217c091d42e8.zip
gcc-265ca04aba7ca04a86809b1adf88217c091d42e8.tar.gz
gcc-265ca04aba7ca04a86809b1adf88217c091d42e8.tar.bz2
[multiple changes]
2015-10-23 Ed Schonberg <schonberg@adacore.com> * sem_dim.adb (Analyze_Dimension_Extension_Or_Record_Aggregate): Handle properly a box-initialized aggregate component. 2015-10-23 Yannick Moy <moy@adacore.com> * sem_prag.adb (Analyze_Pragma): Reject Volatile_Function not placed on a function. 2015-10-23 Yannick Moy <moy@adacore.com> * a-extiin.ads, a-reatim.ads, a-interr.ads, a-exetim-mingw.ads, a-exetim-default.ads, a-exetim.ads, a-taside.ads: Add "Global => null" contract on subprograms. * lib-xref-spark_specific.adb: collect scopes for stubs of protected objects 2015-10-23 Arnaud Charlet <charlet@adacore.com> * gnat1drv.adb (Adjust_Global_Switches): Enable Back_Annotate_Rep_Info to get size information from gigi. (Gnat1drv): Code clean ups. * frontend.adb (Frontend): Ditto. From-SVN: r229231
Diffstat (limited to 'gcc/ada/lib-xref-spark_specific.adb')
-rw-r--r--gcc/ada/lib-xref-spark_specific.adb23
1 files changed, 21 insertions, 2 deletions
diff --git a/gcc/ada/lib-xref-spark_specific.adb b/gcc/ada/lib-xref-spark_specific.adb
index a396714..8d76159 100644
--- a/gcc/ada/lib-xref-spark_specific.adb
+++ b/gcc/ada/lib-xref-spark_specific.adb
@@ -112,6 +112,10 @@ package body SPARK_Specific is
(N : Node_Id;
Process : Node_Processing;
Inside_Stubs : Boolean);
+ procedure Traverse_Protected_Body
+ (N : Node_Id;
+ Process : Node_Processing;
+ Inside_Stubs : Boolean);
procedure Traverse_Package_Body
(N : Node_Id;
Process : Node_Processing;
@@ -1201,6 +1205,9 @@ package body SPARK_Specific is
elsif Nkind (Lu) = N_Package_Body then
Traverse_Package_Body (Lu, Process, Inside_Stubs);
+ elsif Nkind (Lu) = N_Protected_Body then
+ Traverse_Protected_Body (Lu, Process, Inside_Stubs);
+
-- All other cases of compilation units (e.g. renamings), are not
-- declarations, or else generic declarations which are ignored.
@@ -1298,8 +1305,7 @@ package body SPARK_Specific is
(Private_Declarations (N), Process, Inside_Stubs);
when N_Protected_Body =>
- Traverse_Declarations_Or_Statements
- (Declarations (N), Process, Inside_Stubs);
+ Traverse_Protected_Body (N, Process, Inside_Stubs);
when N_Protected_Body_Stub =>
if Present (Library_Unit (N)) then
@@ -1475,6 +1481,19 @@ package body SPARK_Specific is
(Private_Declarations (Spec), Process, Inside_Stubs);
end Traverse_Package_Declaration;
+ -----------------------------
+ -- Traverse_Protected_Body --
+ -----------------------------
+
+ procedure Traverse_Protected_Body
+ (N : Node_Id;
+ Process : Node_Processing;
+ Inside_Stubs : Boolean) is
+ begin
+ Traverse_Declarations_Or_Statements
+ (Declarations (N), Process, Inside_Stubs);
+ end Traverse_Protected_Body;
+
------------------------------
-- Traverse_Subprogram_Body --
------------------------------