GCC Middle and Back End API Reference
Main Page
Namespaces
Data Structures
Files
File List
Globals
context.h
Go to the documentation of this file.
1
/* context.h - Holder for global state
2
Copyright (C) 2013 Free Software Foundation, Inc.
3
4
This file is part of GCC.
5
6
GCC is free software; you can redistribute it and/or modify it under
7
the terms of the GNU General Public License as published by the Free
8
Software Foundation; either version 3, or (at your option) any later
9
version.
10
11
GCC is distributed in the hope that it will be useful, but WITHOUT ANY
12
WARRANTY; without even the implied warranty of MERCHANTABILITY or
13
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14
for more details.
15
16
You should have received a copy of the GNU General Public License
17
along with GCC; see the file COPYING3. If not see
18
<http://www.gnu.org/licenses/>. */
19
20
#ifndef GCC_CONTEXT_H
21
#define GCC_CONTEXT_H
22
23
namespace
gcc {
24
25
class
pass_manager
;
26
class
dump_manager
;
27
28
/* GCC's internal state can be divided into zero or more
29
"parallel universe" of state; an instance of this class is one such
30
context of state. */
31
class
context
32
{
33
public
:
34
context
();
35
36
/* Pass-management. */
37
38
pass_manager
*
get_passes
() { gcc_assert (
m_passes
);
return
m_passes
; }
39
40
/* Handling dump files. */
41
42
dump_manager
*
get_dumps
() {gcc_assert (
m_dumps
);
return
m_dumps
; }
43
44
private
:
45
/* Pass-management. */
46
pass_manager
*
m_passes
;
47
48
/* Dump files. */
49
dump_manager
*
m_dumps
;
50
51
};
// class context
52
53
}
// namespace gcc
54
55
/* The global singleton context aka "g".
56
(the name is chosen to be easy to type in a debugger). */
57
extern
gcc::context
*
g
;
58
59
#endif
/* ! GCC_CONTEXT_H */
gcc
context.h
Generated by
1.8.1.1