Fix-up for recent commit
2505a8b41d3b74a545755a278f3750a29c1340b6
"OpenMP: Minor '!$omp allocators' cleanup", which caused:
{+FAIL: gfortran.dg/gomp/allocate-5.f90 -O (internal compiler error: tree check: expected class 'type', have 'declaration' (function_decl) in gfc_omp_call_is_alloc, at fortran/trans-openmp.cc:8386)+}
[-PASS:-]{+FAIL:+} gfortran.dg/gomp/allocate-5.f90 -O (test for excess errors)
..., and similarly in 'libgomp.fortran/allocators-1.f90',
'libgomp.fortran/allocators-2.f90', 'libgomp.fortran/allocators-3.f90',
'libgomp.fortran/allocators-4.f90', 'libgomp.fortran/allocators-5.f90'.
gcc/fortran/
* trans-openmp.cc (gfc_omp_call_is_alloc): Resolve ICE.
{
fn = build_function_type_list (boolean_type_node, ptr_type_node,
NULL_TREE);
- fn = build_fn_decl ("GOMP_is_alloc", fn);
tree att = build_tree_list (NULL_TREE, build_string (4, ". R "));
att = tree_cons (get_identifier ("fn spec"), att, TYPE_ATTRIBUTES (fn));
fn = build_type_attribute_variant (fn, att);
+ fn = build_fn_decl ("GOMP_is_alloc", fn);
}
return build_call_expr_loc (input_location, fn, 1, ptr);
}