Fix a function decl in gfortran
Bernd Schmidt
bernds@codesourcery.com
Wed Jun 4 17:29:00 GMT 2014
On 06/04/2014 09:40 AM, Tobias Burnus wrote:
> Still untested patch, but I cannot resist pointing out stupid
> typos by myself.
>
> I intent to tests the build and test the patch - and then to
> commit it as obvious. If you see problems with this approach
> please scream now.
Even with this applied, I'm still seeing similar failures. I'm now
looking at gfortran.dg/realloc_on_assign_1.f03 and related testcases.
(gdb) p gfc_debug_expr(gfc_expr*) (expr)
_gfortran_reshape_4[[((MAIN__:src(FULL)) ((/ , /)) ((arg not-present))
((arg not-present)))]]
[later:]
(gdb) p exp
$17 = <call_expr 0x7ffff064ac60>
(gdb) pge
_gfortran_reshape_4 (_631, _630, _629, 0B, 0B)
(gdb) p fndecl
$18 = <function_decl 0x7ffff07e5b00 _gfortran_reshape_4>
(gdb) pt
<function_decl 0x7ffff07e5b00 _gfortran_reshape_4
type <function_type
type <void_type void VOID
align 8 symtab 0 alias set -1 canonical type
pointer_to_this <pointer_type>>
SI
size <integer_cst constant 32>
unit size <integer_cst constant 4>
align 32 symtab 0 alias set -1 canonical type
attributes <tree_list
purpose <identifier_node fn spec>
value <tree_list 0x7ffff07fddc0
value <string_cst 0x7ffff07f8f60 constant ".wrr">>>
arg-types <tree_list value <reference_type >
chain <tree_list value <reference_type >
chain <tree_list value <reference_type >
chain <tree_list value <void_type void>>>>>
pointer_to_this <pointer_type >>
and in libgfortran:
void
reshape_4 (gfc_array_i4 * const restrict ret,
gfc_array_i4 * const restrict source,
shape_type * const restrict shape,
gfc_array_i4 * const restrict pad,
shape_type * const restrict order)
So we're seeing more arguments in the call than on the decl (oddly the
call only has four arguments at the assembly level, but that might a
problem with my backend - I'll investigate).
Bernd
More information about the Gcc-patches
mailing list