aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada
diff options
context:
space:
mode:
authorPierre-Marie de Rodat <derodat@adacore.com>2015-06-01 08:49:46 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2015-06-01 08:49:46 +0000
commit66dc4b95404311ba09996e37f7a8c0f1472feac7 (patch)
tree5386fd9538398c41beb3461cebe10eb2a79cf4fa /gcc/ada
parentbd769c83256714df9ed384c4ce63e37bd0ffac62 (diff)
downloadgcc-66dc4b95404311ba09996e37f7a8c0f1472feac7.zip
gcc-66dc4b95404311ba09996e37f7a8c0f1472feac7.tar.gz
gcc-66dc4b95404311ba09996e37f7a8c0f1472feac7.tar.bz2
decl.c (gnat_to_gnu_entity): Replace pointer types with references ones for functions that return references.
* gcc-interface/decl.c (gnat_to_gnu_entity): Replace pointer types with references ones for functions that return references. From-SVN: r223920
Diffstat (limited to 'gcc/ada')
-rw-r--r--gcc/ada/ChangeLog5
-rw-r--r--gcc/ada/gcc-interface/decl.c4
2 files changed, 7 insertions, 2 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index fe91cc4..7c03f7e 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,8 @@
+2015-06-01 Pierre-Marie de Rodat <derodat@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Replace pointer types with
+ references ones for functions that return references.
+
2015-06-01 Eric Botcazou <ebotcazou@adacore.com>
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Incomplete_Type>: For a
diff --git a/gcc/ada/gcc-interface/decl.c b/gcc/ada/gcc-interface/decl.c
index 35930e0..dd2b06f 100644
--- a/gcc/ada/gcc-interface/decl.c
+++ b/gcc/ada/gcc-interface/decl.c
@@ -4198,7 +4198,7 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
type the pointer type and make a note of that. */
if (Returns_By_Ref (gnat_entity))
{
- gnu_return_type = build_pointer_type (gnu_return_type);
+ gnu_return_type = build_reference_type (gnu_return_type);
return_by_direct_ref_p = true;
}
@@ -4216,7 +4216,7 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
the actual return type is the pointer type. */
else if (Requires_Transient_Scope (gnat_return_type))
{
- gnu_return_type = build_pointer_type (gnu_return_type);
+ gnu_return_type = build_reference_type (gnu_return_type);
return_unconstrained_p = true;
}