]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/hosthooks.h
Fortran: fix issues with class(*) assignment [PR114827]
[thirdparty/gcc.git] / gcc / hosthooks.h
CommitLineData
476d9098 1/* The host_hooks data structure.
a945c346 2 Copyright (C) 2003-2024 Free Software Foundation, Inc.
476d9098 3
63b025a5 4This file is part of GCC.
476d9098 5
63b025a5 6GCC is free software; you can redistribute it and/or modify
476d9098 7it under the terms of the GNU General Public License as published by
9dcd6f09 8the Free Software Foundation; either version 3, or (at your option)
476d9098
GK
9any later version.
10
63b025a5 11GCC is distributed in the hope that it will be useful,
476d9098
GK
12but WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14GNU General Public License for more details.
15
16You should have received a copy of the GNU General Public License
9dcd6f09
NC
17along with GCC; see the file COPYING3. If not see
18<http://www.gnu.org/licenses/>. */
476d9098
GK
19
20#ifndef GCC_HOST_HOOKS_H
21#define GCC_HOST_HOOKS_H
22
1d088dee 23struct host_hooks
476d9098 24{
1d088dee 25 void (*extra_signals) (void);
476d9098 26
4d0c31e6
RH
27 /* Identify an address that's likely to be free in a subsequent invocation
28 of the compiler. The area should be able to hold SIZE bytes. FD is an
29 open file descriptor if the host would like to probe with mmap. */
30 void * (*gt_pch_get_address) (size_t size, int fd);
31
32 /* ADDR is an address returned by gt_pch_get_address. Attempt to allocate
747380f4
JJ
33 SIZE bytes at the same address (preferrably) or some other address
34 and load it with the data from FD at OFFSET. Return -1 if we couldn't
35 allocate memory, otherwise update ADDR to the actual address where it got
36 allocated, return 0 if the memory is allocated but the data not loaded,
37 return 1 if done. */
38 int (*gt_pch_use_address) (void *&addr, size_t size, int fd, size_t offset);
18c81520 39
90aa6719
DS
40 /* Return the alignment required for allocating virtual memory. Usually
41 this is the same as pagesize. */
42 size_t (*gt_pch_alloc_granularity) (void);
43
476d9098
GK
44 /* Whenever you add entries here, make sure you adjust hosthooks-def.h. */
45};
46
47/* Each host provides its own. */
48extern const struct host_hooks host_hooks;
49
50#endif /* GCC_LANG_HOOKS_H */