OpenCores
URL https://opencores.org/ocsvn/scarts/scarts/trunk

Subversion Repositories scarts

[/] [scarts/] [trunk/] [toolchain/] [scarts-gcc/] [gcc-4.1.1/] [gcc/] [fortran/] [trans-types.h] - Blame information for rev 12

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 12 jlechner
/* Header for Fortran 95 types backend support.
2
   Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
3
   Contributed by Paul Brook <paul@nowt.org>
4
   and Steven Bosscher <s.bosscher@student.tudelft.nl>
5
 
6
This file is part of GCC.
7
 
8
GCC is free software; you can redistribute it and/or modify it under
9
the terms of the GNU General Public License as published by the Free
10
Software Foundation; either version 2, or (at your option) any later
11
version.
12
 
13
GCC is distributed in the hope that it will be useful, but WITHOUT ANY
14
WARRANTY; without even the implied warranty of MERCHANTABILITY or
15
FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
16
for more details.
17
 
18
You should have received a copy of the GNU General Public License
19
along with GCC; see the file COPYING.  If not, write to the Free
20
Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
21
02110-1301, USA.  */
22
 
23
 
24
#ifndef GFC_BACKEND_H
25
#define GFC_BACKEND_H
26
 
27
#define GFC_DTYPE_RANK_MASK 0x07
28
#define GFC_DTYPE_TYPE_SHIFT 3
29
#define GFC_DTYPE_TYPE_MASK 0x38
30
#define GFC_DTYPE_SIZE_SHIFT 6
31
 
32
enum
33
{
34
  GFC_DTYPE_UNKNOWN = 0,
35
  GFC_DTYPE_INTEGER,
36
  GFC_DTYPE_LOGICAL,
37
  GFC_DTYPE_REAL,
38
  GFC_DTYPE_COMPLEX,
39
  GFC_DTYPE_DERIVED,
40
  GFC_DTYPE_CHARACTER
41
};
42
 
43
extern GTY(()) tree gfc_array_index_type;
44
extern GTY(()) tree gfc_array_range_type;
45
extern GTY(()) tree gfc_character1_type_node;
46
extern GTY(()) tree ppvoid_type_node;
47
extern GTY(()) tree pvoid_type_node;
48
extern GTY(()) tree pchar_type_node;
49
 
50
/* This is the type used to hold the lengths of character variables.
51
   It must be the same as the corresponding definition in gfortran.h.  */
52
/* TODO: This is still hardcoded as kind=4 in some bits of the compiler
53
   and runtime library.  */
54
extern GTY(()) tree gfc_charlen_type_node;
55
 
56
/* be-function.c */
57
void gfc_convert_function_code (gfc_namespace *);
58
 
59
/* trans-types.c */
60
void gfc_init_kinds (void);
61
void gfc_init_types (void);
62
 
63
tree gfc_get_int_type (int);
64
tree gfc_get_real_type (int);
65
tree gfc_get_complex_type (int);
66
tree gfc_get_logical_type (int);
67
tree gfc_get_character_type (int, gfc_charlen *);
68
tree gfc_get_character_type_len (int, tree);
69
 
70
tree gfc_sym_type (gfc_symbol *);
71
tree gfc_typenode_for_spec (gfc_typespec *);
72
 
73
tree gfc_get_function_type (gfc_symbol *);
74
 
75
tree gfc_type_for_size (unsigned, int);
76
tree gfc_type_for_mode (enum machine_mode, int);
77
tree gfc_unsigned_type (tree);
78
tree gfc_signed_type (tree);
79
tree gfc_signed_or_unsigned_type (int, tree);
80
 
81
tree gfc_get_element_type (tree);
82
tree gfc_get_array_type_bounds (tree, int, tree *, tree *, int);
83
tree gfc_get_nodesc_array_type (tree, gfc_array_spec *, int);
84
 
85
/* Add a field of given name and type to a UNION_TYPE or RECORD_TYPE.  */
86
tree gfc_add_field_to_struct (tree *, tree, tree, tree);
87
 
88
/* Layout and output debugging info for a type.  */
89
void gfc_finish_type (tree);
90
 
91
/* Some functions have an extra parameter for the return value.  */
92
int gfc_return_by_reference (gfc_symbol *);
93
 
94
/* Returns true if the array sym does not require a descriptor.  */
95
int gfc_is_nodesc_array (gfc_symbol *);
96
 
97
/* Return the DTYPE for an array.  */
98
tree gfc_get_dtype (tree);
99
 
100
#endif

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.