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
This commit is contained in:
Tristan Gingold 2012-07-16 13:10:02 +00:00 committed by Arnaud Charlet
parent 9d08a38d3b
commit b15062a82d
2 changed files with 9 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2012-07-16 Tristan Gingold <gingold@adacore.com>
* gcc-interface/decl.c (intrin_return_compatible_p): Map Address to
void *.
2012-07-16 Thomas Quinot <quinot@adacore.com>
* exp_ch9.adb (Ensure_Statement_Present): New subprogram.

View File

@ -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))