From: ebotcazou Date: Tue, 21 Apr 2009 07:10:01 +0000 (+0000) Subject: * gcc-interface/decl.c (gnat_to_gnu_entity) : Do not make X-Git-Tag: upstream/4.9.2~36585 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=aac684f2c78efe82304307b46f784da84d76cded;p=platform%2Fupstream%2Flinaro-gcc.git * gcc-interface/decl.c (gnat_to_gnu_entity) : Do not make constant objects covered by 13.3(19) volatile. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146468 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 0e48f78..d771e98 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,5 +1,10 @@ 2009-04-21 Eric Botcazou + * gcc-interface/decl.c (gnat_to_gnu_entity) : Do not make + constant objects covered by 13.3(19) volatile. + +2009-04-21 Eric Botcazou + * gcc-interface/utils.c (create_type_decl): Do not pass declarations of dummy fat pointer types to the debug back-end. diff --git a/gcc/ada/gcc-interface/decl.c b/gcc/ada/gcc-interface/decl.c index 390d458..18ebeff 100644 --- a/gcc/ada/gcc-interface/decl.c +++ b/gcc/ada/gcc-interface/decl.c @@ -967,15 +967,12 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition) /* Make a volatile version of this object's type if we are to make the object volatile. We also interpret 13.3(19) conservatively - and disallow any optimizations for an object covered by it. */ + and disallow any optimizations for such a non-constant object. */ if ((Treat_As_Volatile (gnat_entity) - || (Is_Exported (gnat_entity) - /* Exclude exported constants created by the compiler, - which should boil down to static dispatch tables and - make it possible to put them in read-only memory. */ - && (Comes_From_Source (gnat_entity) || !const_flag)) - || Is_Imported (gnat_entity) - || Present (Address_Clause (gnat_entity))) + || (!const_flag + && (Is_Exported (gnat_entity) + || Is_Imported (gnat_entity) + || Present (Address_Clause (gnat_entity))))) && !TYPE_VOLATILE (gnu_type)) gnu_type = build_qualified_type (gnu_type, (TYPE_QUALS (gnu_type)