Fix fortran size_type_node parameter passing.
2019-05-22 Andrew Stubbs <ams@codesourcery.com> gcc/fortran/ * trans-stmt.c (gfc_trans_critical): Use size_type_node for gfor_fndecl_caf_lock and gfor_fndecl_caf_unlock calls. (gfc_trans_allocate): Use size_type_node for gfor_fndecl_caf_sync_all call. From-SVN: r271512
This commit is contained in:
parent
88a8126a90
commit
0f09fc8a84
@ -1,3 +1,10 @@
|
|||||||
|
2019-05-22 Andrew Stubbs <ams@codesourcery.com>
|
||||||
|
|
||||||
|
* trans-stmt.c (gfc_trans_critical): Use size_type_node for
|
||||||
|
gfor_fndecl_caf_lock and gfor_fndecl_caf_unlock calls.
|
||||||
|
(gfc_trans_allocate): Use size_type_node for gfor_fndecl_caf_sync_all
|
||||||
|
call.
|
||||||
|
|
||||||
2019-05-22 Jeff Law <law@redhat.com>
|
2019-05-22 Jeff Law <law@redhat.com>
|
||||||
Mark Eggleston <mark.eggleston@codethink.com>
|
Mark Eggleston <mark.eggleston@codethink.com>
|
||||||
|
|
||||||
|
@ -1576,12 +1576,13 @@ gfc_trans_critical (gfc_code *code)
|
|||||||
|
|
||||||
if (flag_coarray == GFC_FCOARRAY_LIB)
|
if (flag_coarray == GFC_FCOARRAY_LIB)
|
||||||
{
|
{
|
||||||
|
tree zero_size = build_zero_cst (size_type_node);
|
||||||
token = gfc_get_symbol_decl (code->resolved_sym);
|
token = gfc_get_symbol_decl (code->resolved_sym);
|
||||||
token = GFC_TYPE_ARRAY_CAF_TOKEN (TREE_TYPE (token));
|
token = GFC_TYPE_ARRAY_CAF_TOKEN (TREE_TYPE (token));
|
||||||
tmp = build_call_expr_loc (input_location, gfor_fndecl_caf_lock, 7,
|
tmp = build_call_expr_loc (input_location, gfor_fndecl_caf_lock, 7,
|
||||||
token, integer_zero_node, integer_one_node,
|
token, zero_size, integer_one_node,
|
||||||
null_pointer_node, null_pointer_node,
|
null_pointer_node, null_pointer_node,
|
||||||
null_pointer_node, integer_zero_node);
|
null_pointer_node, zero_size);
|
||||||
gfc_add_expr_to_block (&block, tmp);
|
gfc_add_expr_to_block (&block, tmp);
|
||||||
|
|
||||||
/* It guarantees memory consistency within the same segment */
|
/* It guarantees memory consistency within the same segment */
|
||||||
@ -1601,10 +1602,11 @@ gfc_trans_critical (gfc_code *code)
|
|||||||
|
|
||||||
if (flag_coarray == GFC_FCOARRAY_LIB)
|
if (flag_coarray == GFC_FCOARRAY_LIB)
|
||||||
{
|
{
|
||||||
|
tree zero_size = build_zero_cst (size_type_node);
|
||||||
tmp = build_call_expr_loc (input_location, gfor_fndecl_caf_unlock, 6,
|
tmp = build_call_expr_loc (input_location, gfor_fndecl_caf_unlock, 6,
|
||||||
token, integer_zero_node, integer_one_node,
|
token, zero_size, integer_one_node,
|
||||||
null_pointer_node, null_pointer_node,
|
null_pointer_node, null_pointer_node,
|
||||||
integer_zero_node);
|
zero_size);
|
||||||
gfc_add_expr_to_block (&block, tmp);
|
gfc_add_expr_to_block (&block, tmp);
|
||||||
|
|
||||||
/* It guarantees memory consistency within the same segment */
|
/* It guarantees memory consistency within the same segment */
|
||||||
@ -6772,9 +6774,10 @@ gfc_trans_allocate (gfc_code * code)
|
|||||||
if (needs_caf_sync)
|
if (needs_caf_sync)
|
||||||
{
|
{
|
||||||
/* Add a sync all after the allocation has been executed. */
|
/* Add a sync all after the allocation has been executed. */
|
||||||
|
tree zero_size = build_zero_cst (size_type_node);
|
||||||
tmp = build_call_expr_loc (input_location, gfor_fndecl_caf_sync_all,
|
tmp = build_call_expr_loc (input_location, gfor_fndecl_caf_sync_all,
|
||||||
3, null_pointer_node, null_pointer_node,
|
3, null_pointer_node, null_pointer_node,
|
||||||
integer_zero_node);
|
zero_size);
|
||||||
gfc_add_expr_to_block (&post, tmp);
|
gfc_add_expr_to_block (&post, tmp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user