merge from gcc
[binutils.git] / gold / script-c.h
blobe40488985d0fac1f6d07e508a6e8f57011e695d9
1 /* script-c.h -- C interface for linker scripts in gold. */
3 /* This file exists so that both the bison parser and script.cc can
4 include it, so that they can communicate back and forth. */
6 #ifndef GOLD_SCRIPT_C_H
7 #define GOLD_SCRIPT_C_H
9 #ifdef __cplusplus
10 extern "C" {
11 #endif
13 #include "yyscript.h"
15 /* The bison parser function. */
17 extern int
18 yyparse(void* closure);
20 /* Called by the bison parser skeleton to return the next token. */
22 extern int
23 yylex(YYSTYPE*, void* closure);
25 /* Called by the bison parser skeleton to report an error. */
27 extern void
28 yyerror(void* closure, const char*);
30 /* Called by the bison parser to add a file to the link. */
32 extern void
33 script_add_file(void* closure, const char*);
35 /* Called by the bison parser to start and stop a group. */
37 extern void
38 script_start_group(void* closure);
39 extern void
40 script_end_group(void* closure);
42 /* Called by the bison parser to start and end an AS_NEEDED list. */
44 extern void
45 script_start_as_needed(void* closure);
46 extern void
47 script_end_as_needed(void* closure);
49 #ifdef __cplusplus
51 #endif
53 #endif /* !defined(GOLD_SCRIPT_C_H) */