aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorThomas Schwinge <thomas@codesourcery.com>2023-12-11 22:52:54 +0100
committerThomas Schwinge <thomas@codesourcery.com>2023-12-11 23:07:17 +0100
commit453e0f45a49f425992bc47ff8909ed8affc29d2e (patch)
tree6e67bdbd656d474a791c3d1ffecd3b19fbbc674b /gcc
parent6008b80b25d71827fb26ce49f49aae02b645bb12 (diff)
downloadgcc-453e0f45a49f425992bc47ff8909ed8affc29d2e.zip
gcc-453e0f45a49f425992bc47ff8909ed8affc29d2e.tar.gz
gcc-453e0f45a49f425992bc47ff8909ed8affc29d2e.tar.bz2
Resolve ICE in 'gcc/fortran/trans-openmp.cc:gfc_omp_call_is_alloc'
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.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/fortran/trans-openmp.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/fortran/trans-openmp.cc b/gcc/fortran/trans-openmp.cc
index 9518492..f7c73a5 100644
--- a/gcc/fortran/trans-openmp.cc
+++ b/gcc/fortran/trans-openmp.cc
@@ -8381,10 +8381,10 @@ gfc_omp_call_is_alloc (tree ptr)
{
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);
}