aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite
diff options
context:
space:
mode:
authorOlivier Hainque <hainque@adacore.com>2008-07-17 14:18:27 +0000
committerOlivier Hainque <hainque@gcc.gnu.org>2008-07-17 14:18:27 +0000
commita7a46bb2d96c538337c19f5ba9bb55fb7b34c726 (patch)
tree3b74d3ff953a20ee785835248912fbefebafef7c /gcc/testsuite
parent711b299844b8eb77451d96a360f4525fc005279e (diff)
downloadgcc-a7a46bb2d96c538337c19f5ba9bb55fb7b34c726.zip
gcc-a7a46bb2d96c538337c19f5ba9bb55fb7b34c726.tar.gz
gcc-a7a46bb2d96c538337c19f5ba9bb55fb7b34c726.tar.bz2
utils.c (create_var_decl_1): Relax expectations on the PUBLIC_FLAG argument...
ada/ * utils.c (create_var_decl_1): Relax expectations on the PUBLIC_FLAG argument, to apply to references in addition to definitions. Prevent setting TREE_STATIC on externals. (gnat_pushdecl): Always clear DECL_CONTEXT on public externals. testsuite/ * gnat.dg/tree_static_def.ad[bs]: Support for ... * gnat.dg/tree_static_use.adb: New test. * gnat.dg/decl_ctx_def.ads: Support for ... * gnat.dg/decl_ctx_use.ad[bs]: New test. From-SVN: r137923
Diffstat (limited to 'gcc/testsuite')
-rw-r--r--gcc/testsuite/ChangeLog7
-rw-r--r--gcc/testsuite/gnat.dg/decl_ctx_def.ads4
-rw-r--r--gcc/testsuite/gnat.dg/decl_ctx_use.adb14
-rw-r--r--gcc/testsuite/gnat.dg/decl_ctx_use.ads5
-rw-r--r--gcc/testsuite/gnat.dg/tree_static_def.adb11
-rw-r--r--gcc/testsuite/gnat.dg/tree_static_def.ads10
-rw-r--r--gcc/testsuite/gnat.dg/tree_static_use.adb12
7 files changed, 63 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 55d0839..e5cd6a3 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,10 @@
+2008-07-17 Olivier Hainque <hainque@adacore.com>
+
+ * gnat.dg/tree_static_def.ad[bs]: Support for ...
+ * gnat.dg/tree_static_use.adb: New test.
+ * gnat.dg/decl_ctx_def.ads: Support for ...
+ * gnat.dg/decl_ctx_use.ad[bs]: New test.
+
2008-07-17 Julian Brown <julian@codesourcery.com>
Mark Mitchell <mark@codesourcery.com>
diff --git a/gcc/testsuite/gnat.dg/decl_ctx_def.ads b/gcc/testsuite/gnat.dg/decl_ctx_def.ads
new file mode 100644
index 0000000..dd004df
--- /dev/null
+++ b/gcc/testsuite/gnat.dg/decl_ctx_def.ads
@@ -0,0 +1,4 @@
+
+package DECL_CTX_Def is
+ X : exception;
+end;
diff --git a/gcc/testsuite/gnat.dg/decl_ctx_use.adb b/gcc/testsuite/gnat.dg/decl_ctx_use.adb
new file mode 100644
index 0000000..c4fde2b
--- /dev/null
+++ b/gcc/testsuite/gnat.dg/decl_ctx_use.adb
@@ -0,0 +1,14 @@
+-- { dg-do compile }
+-- { dg-options "-O1" }
+with DECL_CTX_Def; use DECL_CTX_Def;
+package body DECL_CTX_Use is
+ procedure Check_1 is
+ begin
+ raise X;
+ end;
+
+ procedure Check_2 is
+ begin
+ raise X;
+ end;
+end;
diff --git a/gcc/testsuite/gnat.dg/decl_ctx_use.ads b/gcc/testsuite/gnat.dg/decl_ctx_use.ads
new file mode 100644
index 0000000..2f38f89
--- /dev/null
+++ b/gcc/testsuite/gnat.dg/decl_ctx_use.ads
@@ -0,0 +1,5 @@
+
+package DECL_CTX_Use is
+ procedure Check_1;
+ procedure Check_2;
+end;
diff --git a/gcc/testsuite/gnat.dg/tree_static_def.adb b/gcc/testsuite/gnat.dg/tree_static_def.adb
new file mode 100644
index 0000000..ed86747
--- /dev/null
+++ b/gcc/testsuite/gnat.dg/tree_static_def.adb
@@ -0,0 +1,11 @@
+
+package body TREE_STATIC_Def is
+
+ procedure check (i : int; v : integer) is
+ begin
+ if i.value /= v then
+ raise program_error;
+ end if;
+ end;
+end;
+
diff --git a/gcc/testsuite/gnat.dg/tree_static_def.ads b/gcc/testsuite/gnat.dg/tree_static_def.ads
new file mode 100644
index 0000000..1ea58ee
--- /dev/null
+++ b/gcc/testsuite/gnat.dg/tree_static_def.ads
@@ -0,0 +1,10 @@
+package TREE_STATIC_Def is
+
+ type Int is record
+ Value : Integer;
+ end record;
+
+ procedure check (I : Int; v : integer);
+
+ One : constant Int := (Value => 1);
+end;
diff --git a/gcc/testsuite/gnat.dg/tree_static_use.adb b/gcc/testsuite/gnat.dg/tree_static_use.adb
new file mode 100644
index 0000000..ff02b54
--- /dev/null
+++ b/gcc/testsuite/gnat.dg/tree_static_use.adb
@@ -0,0 +1,12 @@
+-- { dg-do run }
+-- { dg-options "-O1" }
+
+with TREE_STATIC_Def; use TREE_STATIC_Def;
+
+procedure TREE_STATIC_Use is
+ I : Int := One;
+begin
+ check (I, 1);
+end;
+
+