]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/fortran/target-memory.h
ggc-page.c (ggc_pch_write_object): Initialize emptyBytes.
[thirdparty/gcc.git] / gcc / fortran / target-memory.h
CommitLineData
7433458d 1/* Simulate storage of variables into target memory, header.
835aac92 2 Copyright (C) 2007, 2008
7433458d
PT
3 Free Software Foundation, Inc.
4 Contributed by Paul Thomas and Brooks Moses
5
6This file is part of GCC.
7
8GCC is free software; you can redistribute it and/or modify it under
9the terms of the GNU General Public License as published by the Free
d234d788 10Software Foundation; either version 3, or (at your option) any later
7433458d
PT
11version.
12
13GCC is distributed in the hope that it will be useful, but WITHOUT ANY
14WARRANTY; without even the implied warranty of MERCHANTABILITY or
15FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
16for more details.
17
18You should have received a copy of the GNU General Public License
d234d788
NC
19along with GCC; see the file COPYING3. If not see
20<http://www.gnu.org/licenses/>. */
7433458d
PT
21
22#ifndef GFC_TARGET_MEMORY_H
23#define GFC_TARGET_MEMORY_H
24
25#include "gfortran.h"
26
00a4618b 27/* Convert a BOZ to REAL or COMPLEX. */
c7abc45c 28bool gfc_convert_boz (gfc_expr *, gfc_typespec *);
00a4618b 29
7433458d
PT
30/* Return the size of an expression in its target representation. */
31size_t gfc_target_expr_size (gfc_expr *);
32
33/* Write a constant expression in binary form to a target buffer. */
d393bbd7
FXC
34int gfc_encode_character (int, int, const gfc_char_t *, unsigned char *,
35 size_t);
7433458d
PT
36int gfc_target_encode_expr (gfc_expr *, unsigned char *, size_t);
37
38/* Read a target buffer into a constant expression. */
20585ad6
BM
39
40int gfc_interpret_integer (int, unsigned char *, size_t, mpz_t);
41int gfc_interpret_float (int, unsigned char *, size_t, mpfr_t);
42int gfc_interpret_complex (int, unsigned char *, size_t, mpfr_t, mpfr_t);
43int gfc_interpret_logical (int, unsigned char *, size_t, int *);
44int gfc_interpret_character (unsigned char *, size_t, gfc_expr *);
45int gfc_interpret_derived (unsigned char *, size_t, gfc_expr *);
7433458d
PT
46int gfc_target_interpret_expr (unsigned char *, size_t, gfc_expr *);
47
9d99ee7b
PT
48/* Merge overlapping equivalence initializers for trans-common.c. */
49size_t gfc_merge_initializers (gfc_typespec, gfc_expr *,
50 unsigned char *, unsigned char *,
51 size_t);
52
7433458d 53#endif /* GFC_TARGET_MEMORY_H */