summaryrefslogtreecommitdiff
path: root/gcc/ada/decl.c
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2004-01-15 17:24:17 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2004-01-15 17:24:17 +0000
commitca14d7fa4e93eb368568f974f71e6c1d2eed481b (patch)
tree62222cc22dd847637e9f283dc7d0abbbcb358533 /gcc/ada/decl.c
parenta76d79d9b97d072a702e5c530d4103c877102c7c (diff)
downloadgcc-ca14d7fa4e93eb368568f974f71e6c1d2eed481b.tar.gz
2004-01-15 Olivier Hainque <hainque@act-europe.fr>
* decl.c (gnat_to_gnu_entity, E_Variable): Retrieve the object size also when not defining if a Size clause applies. That information is not to be ignored. 2004-01-15 Arnaud Charlet <charlet@act-europe.fr> * Makefile.in (install-gnatlib, gnatlib-shared-default): Set up symbolic links for the shared gnat run time when needed. 2004-01-15 Vasiliy Fofanov <fofanov@act-europe.fr> * memtrack.adb (Gmem_Initialize): check that gmem.out could be opened for writing, and terminate with an error message if not. 2004-01-15 Ed Schonberg <schonberg@gnat.com> * sem_attr.adb (Resolve_Attribute, case 'Access): Remove spurious warning on an access to subprogram in an instance, when the target type is declared in the same generic unit. (Eval_Attribute): If 'access is known to fail accessibility check, rewrite as a raise statement. 2004-01-15 GNAT Script <nobody@gnat.com> * Make-lang.in: Makefile automatically updated git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@75931 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/decl.c')
-rw-r--r--gcc/ada/decl.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/gcc/ada/decl.c b/gcc/ada/decl.c
index 2de25fcd8af..1b0200e2c78 100644
--- a/gcc/ada/decl.c
+++ b/gcc/ada/decl.c
@@ -6,7 +6,7 @@
* *
* C Implementation File *
* *
- * Copyright (C) 1992-2003, Free Software Foundation, Inc. *
+ * Copyright (C) 1992-2004, Free Software Foundation, Inc. *
* *
* GNAT is free software; you can redistribute it and/or modify it under *
* terms of the GNU General Public License as published by the Free Soft- *
@@ -548,11 +548,16 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
}
/* If we are defining the object, see if it has a Size value and
- validate it if so. Then get the new type, if any. */
+ validate it if so. If we are not defining the object and a Size
+ clause applies, simply retrieve the value. We don't want to ignore
+ the clause and it is expected to have been validated already. Then
+ get the new type, if any. */
if (definition)
gnu_size = validate_size (Esize (gnat_entity), gnu_type,
gnat_entity, VAR_DECL, 0,
Has_Size_Clause (gnat_entity));
+ else if (Has_Size_Clause (gnat_entity))
+ gnu_size = UI_To_gnu (Esize (gnat_entity), bitsizetype);
if (gnu_size != 0)
{