1 /* Language-dependent hooks for GNU Modula-2.
2 Copyright (C) 2003-2023 Free Software Foundation, Inc.
3 Contributed by Gaius Mulley <gaius@glam.ac.uk>
5 This file is part of GNU CC.
7 GNU CC is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 3, or (at your option)
12 GNU CC is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with GNU CC; see the file COPYING. If not, write to
19 the Free Software Foundation, 51 Franklin Street, Fifth Floor,
20 Boston, MA 02110-1301, USA. */
22 #if !defined(GM2_LANG_H)
25 #if defined(GM2_LANG_C)
28 # define EXTERN extern
33 #include "coretypes.h"
39 EXTERN
enum gimplify_status
gm2_gimplify_expr (tree
*, tree
*, tree
*);
40 EXTERN
bool gm2_mark_addressable (tree
);
41 EXTERN tree
gm2_type_for_size (unsigned int bits
, int unsignedp
);
42 EXTERN tree
gm2_type_for_mode (enum machine_mode mode
, int unsignedp
);
43 EXTERN
bool gm2_langhook_init (void);
44 EXTERN
bool gm2_langhook_handle_option (size_t scode
, const char *arg
,
46 int kind ATTRIBUTE_UNUSED
,
47 location_t loc ATTRIBUTE_UNUSED
,
48 const struct cl_option_handlers
*handlers ATTRIBUTE_UNUSED
);
49 EXTERN
void gm2_langhook_init_options (unsigned int decoded_options_count
,
50 struct cl_decoded_option
*decoded_options
);
51 EXTERN
void gm2_genericize (tree fndecl
);
52 EXTERN tree
convert_loc (location_t location
, tree type
, tree expr
);