The transformation is either useless or counter-productive or even wrong.
Tested on x86_64-suse-linux, applied on the mainline.
2016-05-16 Eric Botcazou <ebotca...@adacore.com>
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Do not
build a specific type for the object if it is deemed a constant.
--
Eric Botcazou
Index: gcc-interface/decl.c
===================================================================
--- gcc-interface/decl.c (revision 236279)
+++ gcc-interface/decl.c (working copy)
@@ -1437,9 +1437,6 @@ gnat_to_gnu_entity (Entity_Id gnat_entit
= build_reference_type (TYPE_OBJECT_RECORD_TYPE (gnu_array));
}
- if (const_flag)
- gnu_type = change_qualified_type (gnu_type, TYPE_QUAL_CONST);
-
/* Convert the expression to the type of the object if need be. */
if (gnu_expr && initial_value_needs_conversion (gnu_type, gnu_expr))
gnu_expr = convert (gnu_type, gnu_expr);