GDB (xrefs)

/tmp/gdb-8.1/gdb/f-lang.h
Go to the documentation of this file.
1 /* Fortran language support definitions for GDB, the GNU debugger.
2
3 Copyright (C) 1992-2018 Free Software Foundation, Inc.
4
5 Contributed by Motorola. Adapted from the C definitions by Farooq Butt
6 (fmbutt@engage.sps.mot.com).
7
8 This file is part of GDB.
9
10 This program is free software; you can redistribute it and/or modify
11 it under the terms of the GNU General Public License as published by
12 the Free Software Foundation; either version 3 of the License, or
13 (at your option) any later version.
14
15 This program is distributed in the hope that it will be useful,
16 but WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 GNU General Public License for more details.
19
20 You should have received a copy of the GNU General Public License
21 along with this program. If not, see <http://www.gnu.org/licenses/>. */
22
23 struct type_print_options;
24 struct parser_state;
25
26 extern int f_parse (struct parser_state *);
27
28 extern void f_yyerror (const char *); /* Defined in f-exp.y */
29
30 extern void f_print_type (struct type *, const char *, struct ui_file *, int,
31 int, const struct type_print_options *);
32
33 extern void f_val_print (struct type *, int, CORE_ADDR,
34 struct ui_file *, int,
35 struct value *,
36 const struct value_print_options *);
37
38 /* Language-specific data structures */
39
40 /* A common block. */
41
42 struct common_block
43 {
44 /* The number of entries in the block. */
45 size_t n_entries;
46
47 /* The contents of the block, allocated using the struct hack. All
48 pointers in the array are non-NULL. */
49 struct symbol *contents[1];
50 };
51
52 extern int f77_get_upperbound (struct type *);
53
54 extern int f77_get_lowerbound (struct type *);
55
56 extern void f77_get_dynamic_array_length (struct type *);
57
58 extern int calc_f77_array_dims (struct type *);
59
60
61 /* Fortran (F77) types */
62
63 struct builtin_f_type
64 {
65 struct type *builtin_character;
66 struct type *builtin_integer;
67 struct type *builtin_integer_s2;
68 struct type *builtin_logical;
69 struct type *builtin_logical_s1;
70 struct type *builtin_logical_s2;
71 struct type *builtin_logical_s8;
72 struct type *builtin_real;
73 struct type *builtin_real_s8;
74 struct type *builtin_real_s16;
75 struct type *builtin_complex_s8;
76 struct type *builtin_complex_s16;
77 struct type *builtin_complex_s32;
78 struct type *builtin_void;
79 };
80
81 /* Return the Fortran type table for the specified architecture. */
82 extern const struct builtin_f_type *builtin_f_type (struct gdbarch *gdbarch);
83
gdbarch
Definition: gdbarch.c:127
builtin_f_type::builtin_real_s8
struct type * builtin_real_s8
Definition: f-lang.h:73
CORE_ADDR
bfd_vma CORE_ADDR
Definition: common-types.h:41
builtin_f_type::builtin_integer_s2
struct type * builtin_integer_s2
Definition: f-lang.h:67
builtin_f_type
Definition: f-lang.h:63
builtin_f_type::builtin_real_s16
struct type * builtin_real_s16
Definition: f-lang.h:74
builtin_f_type::builtin_logical_s8
struct type * builtin_logical_s8
Definition: f-lang.h:71
builtin_f_type::builtin_logical_s2
struct type * builtin_logical_s2
Definition: f-lang.h:70
builtin_f_type::builtin_logical
struct type * builtin_logical
Definition: f-lang.h:68
f_yyerror
void f_yyerror(const char *)
f_val_print
void f_val_print(struct type *, int, CORE_ADDR, struct ui_file *, int, struct value *, const struct value_print_options *)
Definition: f-valprint.c:211
common_block
Definition: f-lang.h:42
ui_file
Definition: ui-file.h:26
common_block::n_entries
size_t n_entries
Definition: f-lang.h:45
f_print_type
void f_print_type(struct type *, const char *, struct ui_file *, int, int, const struct type_print_options *)
Definition: f-typeprint.c:51
f77_get_upperbound
int f77_get_upperbound(struct type *)
Definition: f-valprint.c:54
common_block::contents
struct symbol * contents[1]
Definition: f-lang.h:49
builtin_f_type::builtin_complex_s16
struct type * builtin_complex_s16
Definition: f-lang.h:76
builtin_f_type::builtin_complex_s32
struct type * builtin_complex_s32
Definition: f-lang.h:77
value_print_options
Definition: valprint.h:25
f77_get_dynamic_array_length
void f77_get_dynamic_array_length(struct type *)
builtin_f_type::builtin_character
struct type * builtin_character
Definition: f-lang.h:65
builtin_f_type::builtin_integer
struct type * builtin_integer
Definition: f-lang.h:66
f77_get_lowerbound
int f77_get_lowerbound(struct type *)
Definition: f-valprint.c:45
type
Definition: gdbtypes.h:749
builtin_f_type
const struct builtin_f_type * builtin_f_type(struct gdbarch *gdbarch)
Definition: f-lang.c:364
parser_state
Definition: parser-defs.h:38
f_parse
int f_parse(struct parser_state *)
Definition: f-exp.c:2924
value
Definition: value.c:169
calc_f77_array_dims
int calc_f77_array_dims(struct type *)
Definition: eval.c:3280
builtin_f_type::builtin_complex_s8
struct type * builtin_complex_s8
Definition: f-lang.h:75
type_print_options
Definition: typeprint.h:41
builtin_f_type::builtin_void
struct type * builtin_void
Definition: f-lang.h:78
builtin_f_type::builtin_real
struct type * builtin_real
Definition: f-lang.h:72
symbol
Definition: symtab.h:1049
builtin_f_type::builtin_logical_s1
struct type * builtin_logical_s1
Definition: f-lang.h:69