* ada-lang.c (user_select_syms, ada_print_subexp): Pass flags
[deliverable/binutils-gdb.git] / gdb / f-lang.h
CommitLineData
c906108c 1/* Fortran language support definitions for GDB, the GNU debugger.
a2bd3dcd 2
0b302171
JB
3 Copyright (C) 1992-1995, 1998, 2000, 2005, 2007-2012 Free Software
4 Foundation, Inc.
a2bd3dcd 5
c906108c
SS
6 Contributed by Motorola. Adapted from the C definitions by Farooq Butt
7 (fmbutt@engage.sps.mot.com).
8
c5aa993b 9 This file is part of GDB.
c906108c 10
c5aa993b
JM
11 This program is free software; you can redistribute it and/or modify
12 it under the terms of the GNU General Public License as published by
a9762ec7 13 the Free Software Foundation; either version 3 of the License, or
c5aa993b 14 (at your option) any later version.
c906108c 15
c5aa993b
JM
16 This program is distributed in the hope that it will be useful,
17 but WITHOUT ANY WARRANTY; without even the implied warranty of
18 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 GNU General Public License for more details.
c906108c 20
c5aa993b 21 You should have received a copy of the GNU General Public License
a9762ec7 22 along with this program. If not, see <http://www.gnu.org/licenses/>. */
c906108c 23
79d43c61
TT
24struct type_print_options;
25
a14ed312 26extern int f_parse (void);
c906108c 27
a14ed312 28extern void f_error (char *); /* Defined in f-exp.y */
c906108c 29
25b524e8 30extern void f_print_type (struct type *, const char *, struct ui_file *, int,
79d43c61 31 int, const struct type_print_options *);
c906108c 32
d3eab38a
TT
33extern void f_val_print (struct type *, const gdb_byte *, int, CORE_ADDR,
34 struct ui_file *, int,
35 const struct value *,
36 const struct value_print_options *);
c906108c 37
c5aa993b 38/* Language-specific data structures */
c906108c 39
0b4e1325
WZ
40/* In F90 subrange expression, either bound could be empty, indicating that
41 its value is by default that of the corresponding bound of the array or
42 string. So we have four sorts of subrange in F90. This enumeration type
43 is to identify this. */
44
45enum f90_range_type
46 {
47 BOTH_BOUND_DEFAULT, /* "(:)" */
48 LOW_BOUND_DEFAULT, /* "(:high)" */
49 HIGH_BOUND_DEFAULT, /* "(low:)" */
50 NONE_BOUND_DEFAULT /* "(low:high)" */
51 };
52
4357ac6c 53/* A common block. */
c906108c 54
4357ac6c
TT
55struct common_block
56{
57 /* The number of entries in the block. */
58 size_t n_entries;
c906108c 59
4357ac6c
TT
60 /* The contents of the block, allocated using the struct hack. All
61 pointers in the array are non-NULL. */
62 struct symbol *contents[1];
63};
c906108c 64
d78df370 65extern int f77_get_upperbound (struct type *);
c906108c 66
d78df370 67extern int f77_get_lowerbound (struct type *);
c906108c 68
a14ed312 69extern void f77_get_dynamic_array_length (struct type *);
c906108c 70
a14ed312 71extern int calc_f77_array_dims (struct type *);
4cca3ac9
UW
72
73
74/* Fortran (F77) types */
75
76struct builtin_f_type
77{
78 struct type *builtin_character;
79 struct type *builtin_integer;
80 struct type *builtin_integer_s2;
81 struct type *builtin_logical;
82 struct type *builtin_logical_s1;
83 struct type *builtin_logical_s2;
ce4b0682 84 struct type *builtin_logical_s8;
4cca3ac9
UW
85 struct type *builtin_real;
86 struct type *builtin_real_s8;
87 struct type *builtin_real_s16;
88 struct type *builtin_complex_s8;
89 struct type *builtin_complex_s16;
90 struct type *builtin_complex_s32;
91 struct type *builtin_void;
92};
93
94/* Return the Fortran type table for the specified architecture. */
95extern const struct builtin_f_type *builtin_f_type (struct gdbarch *gdbarch);
96
This page took 0.869382 seconds and 4 git commands to generate.