diff options
author | Pierre-Marie de Rodat <derodat@adacore.com> | 2015-06-01 08:49:46 +0000 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2015-06-01 08:49:46 +0000 |
commit | 66dc4b95404311ba09996e37f7a8c0f1472feac7 (patch) | |
tree | 5386fd9538398c41beb3461cebe10eb2a79cf4fa /gcc/ada | |
parent | bd769c83256714df9ed384c4ce63e37bd0ffac62 (diff) | |
download | gcc-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/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/ada/gcc-interface/decl.c | 4 |
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; } |