diff options
author | Olivier Hainque <hainque@adacore.com> | 2008-07-17 14:18:27 +0000 |
---|---|---|
committer | Olivier Hainque <hainque@gcc.gnu.org> | 2008-07-17 14:18:27 +0000 |
commit | a7a46bb2d96c538337c19f5ba9bb55fb7b34c726 (patch) | |
tree | 3b74d3ff953a20ee785835248912fbefebafef7c /gcc/testsuite | |
parent | 711b299844b8eb77451d96a360f4525fc005279e (diff) | |
download | gcc-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/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/testsuite/gnat.dg/decl_ctx_def.ads | 4 | ||||
-rw-r--r-- | gcc/testsuite/gnat.dg/decl_ctx_use.adb | 14 | ||||
-rw-r--r-- | gcc/testsuite/gnat.dg/decl_ctx_use.ads | 5 | ||||
-rw-r--r-- | gcc/testsuite/gnat.dg/tree_static_def.adb | 11 | ||||
-rw-r--r-- | gcc/testsuite/gnat.dg/tree_static_def.ads | 10 | ||||
-rw-r--r-- | gcc/testsuite/gnat.dg/tree_static_use.adb | 12 |
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; + + |