https://gcc.gnu.org/g:82384a2eda628a11a8bb6484b229f1feab8fa97b
commit r16-4910-g82384a2eda628a11a8bb6484b229f1feab8fa97b Author: Yuao Ma <[email protected]> Date: Thu Oct 30 21:53:17 2025 +0800 fortran: remove redundant code related to constant pointer in atomic_cas This part is unreachable after r16-4474-g2c1949bf152f8f. gcc/fortran/ChangeLog: * intrinsic.texi: Fix typo. * trans-intrinsic.cc (conv_intrinsic_atomic_cas): Remove unreachable code. Diff: --- gcc/fortran/intrinsic.texi | 2 +- gcc/fortran/trans-intrinsic.cc | 8 -------- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/gcc/fortran/intrinsic.texi b/gcc/fortran/intrinsic.texi index 9012c2a5746d..b2d1e4559883 100644 --- a/gcc/fortran/intrinsic.texi +++ b/gcc/fortran/intrinsic.texi @@ -2239,7 +2239,7 @@ is different, the value is converted to the kind of @var{ATOM}. program atomic use iso_fortran_env logical(atomic_logical_kind) :: atom[*], prev - call atomic_cas (atom[1], prev, .false., .true.)) + call atomic_cas (atom[1], prev, .false., .true.) end program atomic @end smallexample diff --git a/gcc/fortran/trans-intrinsic.cc b/gcc/fortran/trans-intrinsic.cc index 89a03d874ecb..5b9111d3faee 100644 --- a/gcc/fortran/trans-intrinsic.cc +++ b/gcc/fortran/trans-intrinsic.cc @@ -12844,14 +12844,6 @@ conv_intrinsic_atomic_cas (gfc_code *code) new_val = gfc_build_addr_expr (NULL_TREE, tmp); } - /* Convert a constant to a pointer. */ - if (!POINTER_TYPE_P (TREE_TYPE (comp))) - { - tmp = gfc_create_var (TREE_TYPE (TREE_TYPE (old)), "comp"); - gfc_add_modify (&block, tmp, fold_convert (TREE_TYPE (tmp), comp)); - comp = gfc_build_addr_expr (NULL_TREE, tmp); - } - gfc_init_se (&argse, NULL); gfc_get_caf_token_offset (&argse, &token, &offset, caf_decl, atom, atom_expr);
