diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2010-09-19 13:48:51 +0000 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2010-09-19 13:48:51 +0000 |
commit | 2231f17fa0b742bec5fdcad0894d02af2ddab08c (patch) | |
tree | b62bef407ee1a1a7c6b27d747db9b145775e6634 /gcc/testsuite/gnat.dg/constant2.adb | |
parent | a10623fb71eb10046cbd3d7ad7dc3b9cef781666 (diff) | |
download | gcc-2231f17fa0b742bec5fdcad0894d02af2ddab08c.zip gcc-2231f17fa0b742bec5fdcad0894d02af2ddab08c.tar.gz gcc-2231f17fa0b742bec5fdcad0894d02af2ddab08c.tar.bz2 |
gigi.h (get_elaboration_procedure): Declare.
* gcc-interface/gigi.h (get_elaboration_procedure): Declare.
(gnat_zaplevel): Likewise.
* gcc-interface/decl.c (gnat_to_gnu_entity): Do not force global
binding level for an external constant.
<E_Constant>: Force the local context and create a fake scope before
translating the defining expression of an external constant.
<object>: Treat external constants at the global level explicitly for
renaming declarations.
(elaborate_expression_1): Force the variable to be static if the
expression is global.
* gcc-interface/trans.c (get_elaboration_procedure): New function.
(call_to_gnu): Use it.
(gnat_to_gnu): Likewise.
<N_Object_Declaration>: Do not test Is_Public to force the creation of
an initialization variable.
(add_decl_expr): Discard the statement if the declaration is external.
* gcc-interface/utils.c (gnat_pushdecl): Do not put the declaration in
the current block if it is external.
(create_var_decl_1): Do not test Is_Public to set TREE_STATIC.
(gnat_zaplevel): New global function.
From-SVN: r164416
Diffstat (limited to 'gcc/testsuite/gnat.dg/constant2.adb')
-rw-r--r-- | gcc/testsuite/gnat.dg/constant2.adb | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/testsuite/gnat.dg/constant2.adb b/gcc/testsuite/gnat.dg/constant2.adb new file mode 100644 index 0000000..41c7e91 --- /dev/null +++ b/gcc/testsuite/gnat.dg/constant2.adb @@ -0,0 +1,11 @@ +-- { dg-do run } +-- { dg-options "-gnatVa" } + +with Constant2_Pkg1; use Constant2_Pkg1; + +procedure Constant2 is +begin + if Val then + raise Program_Error; + end if; +end; |