diff options
author | Jon Loeliger <jdl@freescale.com> | 2007-03-23 15:18:41 -0500 |
---|---|---|
committer | Jon Loeliger <jdl@freescale.com> | 2007-03-26 08:36:07 -0500 |
commit | e45e6fd274826991c2b7e01fde4d73110487e0e0 (patch) | |
tree | 5770119a61cc0c2767757a507e074ddd4e80e34e /treesource.c | |
parent | b29597d9a343761f768a9d78a63f1c09e71b43d2 (diff) | |
download | dtc-e45e6fd274826991c2b7e01fde4d73110487e0e0.tar.gz |
DTC: Add support for a C-like #include "file" mechanism.
Keeps track of open files in a stack, and assigns
a filenum to source positions for each lexical token.
Modified error reporting to show source file as well.
No policy on file directory basis has been decided.
Still handles stdin.
Tested on all arch/powerpc/boot/dts DTS files
Signed-off-by: Jon Loeliger <jdl@freescale.com>
Diffstat (limited to 'treesource.c')
-rw-r--r-- | treesource.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/treesource.c b/treesource.c index e9bbaa5..c067b20 100644 --- a/treesource.c +++ b/treesource.c @@ -19,6 +19,7 @@ */ #include "dtc.h" +#include "srcpos.h" extern FILE *yyin; extern int yyparse(void); @@ -26,11 +27,12 @@ extern void yyerror(char const *); struct boot_info *the_boot_info; -struct boot_info *dt_from_source(FILE *f) +struct boot_info *dt_from_source(const char *fname) { the_boot_info = NULL; - yyin = f; + push_input_file(fname); + if (yyparse() != 0) return NULL; |