comparison gcc/plugin.def @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents 77e2b8dfacca
children 84e7813d76e9
comparison
equal deleted inserted replaced
68:561a7518be6b 111:04ced10e8804
1 /* This file contains the definitions for plugin events in GCC. 1 /* This file contains the definitions for plugin events in GCC.
2 Copyright (C) 2009 Free Software Foundation, Inc. 2 Copyright (C) 2009-2017 Free Software Foundation, Inc.
3 3
4 This file is part of GCC. 4 This file is part of GCC.
5 5
6 GCC is free software; you can redistribute it and/or modify it under 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 7 the terms of the GNU General Public License as published by the Free
15 15
16 You should have received a copy of the GNU General Public License 16 You should have received a copy of the GNU General Public License
17 along with GCC; see the file COPYING3. If not see 17 along with GCC; see the file COPYING3. If not see
18 <http://www.gnu.org/licenses/>. */ 18 <http://www.gnu.org/licenses/>. */
19 19
20 /* Called before parsing the body of a function. */
21 DEFEVENT (PLUGIN_START_PARSE_FUNCTION)
22
23 /* After finishing parsing a function. */
24 DEFEVENT (PLUGIN_FINISH_PARSE_FUNCTION)
20 25
21 /* To hook into pass manager. */ 26 /* To hook into pass manager. */
22 DEFEVENT (PLUGIN_PASS_MANAGER_SETUP) 27 DEFEVENT (PLUGIN_PASS_MANAGER_SETUP)
23 28
24 /* After finishing parsing a type. */ 29 /* After finishing parsing a type. */
25 DEFEVENT (PLUGIN_FINISH_TYPE) 30 DEFEVENT (PLUGIN_FINISH_TYPE)
31
32 /* After finishing parsing a declaration. */
33 DEFEVENT (PLUGIN_FINISH_DECL)
26 34
27 /* Useful for summary processing. */ 35 /* Useful for summary processing. */
28 DEFEVENT (PLUGIN_FINISH_UNIT) 36 DEFEVENT (PLUGIN_FINISH_UNIT)
29 37
30 /* Allows to see low level AST in C and C++ frontends. */ 38 /* Allows to see low level AST in C and C++ frontends. */
45 /* Called at end of GGC. */ 53 /* Called at end of GGC. */
46 DEFEVENT (PLUGIN_GGC_END) 54 DEFEVENT (PLUGIN_GGC_END)
47 55
48 /* Register an extra GGC root table. */ 56 /* Register an extra GGC root table. */
49 DEFEVENT (PLUGIN_REGISTER_GGC_ROOTS) 57 DEFEVENT (PLUGIN_REGISTER_GGC_ROOTS)
50
51 /* Register an extra GGC cache table. */
52 DEFEVENT (PLUGIN_REGISTER_GGC_CACHES)
53 58
54 /* Called during attribute registration. */ 59 /* Called during attribute registration. */
55 DEFEVENT (PLUGIN_ATTRIBUTES) 60 DEFEVENT (PLUGIN_ATTRIBUTES)
56 61
57 /* Called before processing a translation unit. */ 62 /* Called before processing a translation unit. */
87 DEFEVENT (PLUGIN_EARLY_GIMPLE_PASSES_END) 92 DEFEVENT (PLUGIN_EARLY_GIMPLE_PASSES_END)
88 93
89 /* Called when a pass is first instantiated. */ 94 /* Called when a pass is first instantiated. */
90 DEFEVENT (PLUGIN_NEW_PASS) 95 DEFEVENT (PLUGIN_NEW_PASS)
91 96
97 /* Called when a file is #include-d or given via the #line directive.
98 this could happen many times. The event data is the included file path,
99 as a const char* pointer. */
100 DEFEVENT (PLUGIN_INCLUDE_FILE)
101
102 /* When adding a new hard-coded plugin event, don't forget to edit in
103 file plugin.c the functions register_callback and
104 invoke_plugin_callbacks_full accordingly! */
105
92 /* After the hard-coded events above, plugins can dynamically allocate events 106 /* After the hard-coded events above, plugins can dynamically allocate events
93 at run time. 107 at run time.
94 PLUGIN_EVENT_FIRST_DYNAMIC only appears as last enum element. */ 108 PLUGIN_EVENT_FIRST_DYNAMIC only appears as last enum element. */