diff options
author | Thomas Schwinge <thomas@codesourcery.com> | 2023-12-11 22:52:54 +0100 |
---|---|---|
committer | Thomas Schwinge <thomas@codesourcery.com> | 2023-12-11 23:07:17 +0100 |
commit | 453e0f45a49f425992bc47ff8909ed8affc29d2e (patch) | |
tree | 6e67bdbd656d474a791c3d1ffecd3b19fbbc674b | |
parent | 6008b80b25d71827fb26ce49f49aae02b645bb12 (diff) | |
download | gcc-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.
-rw-r--r-- | gcc/fortran/trans-openmp.cc | 2 |
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); } |