https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115804
--- Comment #5 from Stefan Schulze Frielinghaus <stefansf at gcc dot gnu.org> --- I did a quick test and with diff --git a/gcc/m2/gm2-gcc/m2builtins.cc b/gcc/m2/gm2-gcc/m2builtins.cc index cfb4751e15a..4263a4e297f 100644 --- a/gcc/m2/gm2-gcc/m2builtins.cc +++ b/gcc/m2/gm2-gcc/m2builtins.cc @@ -1031,7 +1031,8 @@ DoBuiltinIsfinite (location_t location, tree value) tree functype = TREE_TYPE (gm2_isfinite_node); tree funcptr = build1 (ADDR_EXPR, build_pointer_type (functype), gm2_isfinite_node); - tree call = m2treelib_DoCall1 (location, ptr_type_node, funcptr, value); + tree rettype = TREE_TYPE (functype); + tree call = m2treelib_DoCall1 (location, rettype, funcptr, value); return call; } it seems to work just fine. Skimming over the code other builtins as e.g. DoBuiltinIsnan need to be changed, too.