Deleted Added
full compact
srcpos.h (204431) srcpos.h (204433)
1/*
2 * Copyright 2007 Jon Loeliger, Freescale Semiconductor, Inc.
3 *
4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU General Public License as
6 * published by the Free Software Foundation; either version 2 of the
7 * License, or (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
17 * USA
18 */
19
1/*
2 * Copyright 2007 Jon Loeliger, Freescale Semiconductor, Inc.
3 *
4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU General Public License as
6 * published by the Free Software Foundation; either version 2 of the
7 * License, or (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
17 * USA
18 */
19
20#ifndef _SRCPOS_H_
21#define _SRCPOS_H_
22
20/*
21 * Augment the standard YYLTYPE with a filenum index into an
22 * array of all opened filenames.
23 */
24
25#include <stdio.h>
26
27struct dtc_file {

--- 36 unchanged lines hidden (view full) ---

64 YYRHSLOC (Rhs, 0).last_line; \
65 (Current).first_column = (Current).last_column = \
66 YYRHSLOC (Rhs, 0).last_column; \
67 (Current).file = YYRHSLOC (Rhs, 0).file; \
68 } \
69 while (YYID (0))
70
71
23/*
24 * Augment the standard YYLTYPE with a filenum index into an
25 * array of all opened filenames.
26 */
27
28#include <stdio.h>
29
30struct dtc_file {

--- 36 unchanged lines hidden (view full) ---

67 YYRHSLOC (Rhs, 0).last_line; \
68 (Current).first_column = (Current).last_column = \
69 YYRHSLOC (Rhs, 0).last_column; \
70 (Current).file = YYRHSLOC (Rhs, 0).file; \
71 } \
72 while (YYID (0))
73
74
75typedef YYLTYPE srcpos;
72
76
73extern void yyerror(char const *);
74extern void yyerrorf(char const *, ...) __attribute__((format(printf, 1, 2)));
77/*
78 * Fictional source position used for IR nodes that are
79 * created without otherwise knowing a true source position.
80 * For example,constant definitions from the command line.
81 */
82extern srcpos srcpos_empty;
75
76extern struct dtc_file *srcpos_file;
77
78struct search_path {
79 const char *dir; /* NULL for current directory */
80 struct search_path *prev, *next;
81};
82
83extern struct dtc_file *dtc_open_file(const char *fname,
84 const struct search_path *search);
85extern void dtc_close_file(struct dtc_file *file);
83
84extern struct dtc_file *srcpos_file;
85
86struct search_path {
87 const char *dir; /* NULL for current directory */
88 struct search_path *prev, *next;
89};
90
91extern struct dtc_file *dtc_open_file(const char *fname,
92 const struct search_path *search);
93extern void dtc_close_file(struct dtc_file *file);
94
95extern srcpos *srcpos_copy(srcpos *pos);
96extern char *srcpos_string(srcpos *pos);
97extern void srcpos_dump(srcpos *pos);
98
99extern void srcpos_error(srcpos *pos, char const *, ...)
100 __attribute__((format(printf, 2, 3)));
101extern void srcpos_warn(srcpos *pos, char const *, ...)
102 __attribute__((format(printf, 2, 3)));
103
104#endif /* _SRCPOS_H_ */