diff options
| author | Tristan Gingold <gingold@adacore.com> | 2012-07-16 13:10:02 +0000 |
|---|---|---|
| committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2012-07-16 15:10:02 +0200 |
| commit | b15062a82dd6ed8ac63c65da904ac5c5caf39108 (patch) | |
| tree | 6ee0e07e764406617f8f8b5651122752fcf8ea7f /gcc/ada/gcc-interface/decl.c | |
| parent | 9d08a38d3b668199dbb2b6ebd501bb857af5da57 (diff) | |
| download | gcc-b15062a82dd6ed8ac63c65da904ac5c5caf39108.zip gcc-b15062a82dd6ed8ac63c65da904ac5c5caf39108.tar.gz gcc-b15062a82dd6ed8ac63c65da904ac5c5caf39108.tar.bz2 | |
decl.c (intrin_return_compatible_p): Map Address to void *.
2012-07-16 Tristan Gingold <gingold@adacore.com>
* decl.c (intrin_return_compatible_p): Map Address to void *.
From-SVN: r189536
Diffstat (limited to 'gcc/ada/gcc-interface/decl.c')
| -rw-r--r-- | gcc/ada/gcc-interface/decl.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/ada/gcc-interface/decl.c b/gcc/ada/gcc-interface/decl.c index 9a2dc45..ef7c87c 100644 --- a/gcc/ada/gcc-interface/decl.c +++ b/gcc/ada/gcc-interface/decl.c @@ -8046,6 +8046,10 @@ intrin_return_compatible_p (intrin_binding_t * inb) && !VOID_TYPE_P (btin_return_type)) return true; + /* If return type is Address (integer type), map it to void *. */ + if (Is_Descendent_Of_Address (Etype (inb->gnat_entity))) + ada_return_type = ptr_void_type_node; + /* Check return types compatibility otherwise. Note that this handles void/void as well. */ if (intrin_types_incompatible_p (btin_return_type, ada_return_type)) |
