+2021-03-08  Tom Tromey  <tom@tromey.com>
+
+       * f-exp.h (eval_op_f_allocated): Declare.
+       (fortran_allocated_operation): New typedef.
+       * f-lang.c (eval_op_f_allocated): No longer static.
+
 2021-03-08  Tom Tromey  <tom@tromey.com>
 
        * f-lang.c (eval_op_f_associated): New functions.
 
 /* Definitions for Fortran expressions
 
-   Copyright (C) 2020 Free Software Foundation, Inc.
+   Copyright (C) 2020, 2021 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
                                           enum exp_opcode opcode,
                                           struct value *arg1,
                                           struct value *arg2);
+extern struct value * eval_op_f_allocated (struct type *expect_type,
+                                          struct expression *exp,
+                                          enum noside noside,
+                                          enum exp_opcode op,
+                                          struct value *arg1);
 
 namespace expr
 {
                                               eval_op_f_floor>;
 using fortran_kind_operation = unop_operation<UNOP_FORTRAN_KIND,
                                              eval_op_f_kind>;
+using fortran_allocated_operation = unop_operation<UNOP_FORTRAN_ALLOCATED,
+                                                  eval_op_f_allocated>;
 
 using fortran_mod_operation = binop_operation<BINOP_MOD, eval_op_f_mod>;
 using fortran_modulo_operation = binop_operation<BINOP_FORTRAN_MODULO,
 
 
 /* A helper function for UNOP_FORTRAN_ALLOCATED.  */
 
-static struct value *
+struct value *
 eval_op_f_allocated (struct type *expect_type, struct expression *exp,
                     enum noside noside, enum exp_opcode op,
                     struct value *arg1)