[PATCH] support byacc in addition to bison

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



Use -b to explicitly set file prefix, so that byacc generates files with
the same names as bison.

Add %locations to dtc-parser.y to explicitly enable location tracking
for byacc, and define YYERROR_CALL to prevent byacc from defining it to
call yyerror with 2 parameters because of the locations directive,
because dtc-parser.y defines yyerror to accept one parameter.

Signed-off-by: Ethan Sommer <e5ten.arch@xxxxxxxxx>
---
 Makefile     | 2 +-
 dtc-parser.y | 4 ++++
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index e955242..4d88157 100644
--- a/Makefile
+++ b/Makefile
@@ -368,6 +368,6 @@ clean: libfdt_clean pylibfdt_clean tests_clean
 
 %.tab.c %.tab.h %.output: %.y
 	@$(VECHO) BISON $@
-	$(BISON) -d $<
+	$(BISON) -b $(basename $(basename $@)) -d $<
 
 FORCE:
diff --git a/dtc-parser.y b/dtc-parser.y
index 2ed4dc1..40dcf4f 100644
--- a/dtc-parser.y
+++ b/dtc-parser.y
@@ -2,6 +2,8 @@
 /*
  * (C) Copyright David Gibson <dwg@xxxxxxxxxxx>, IBM Corporation.  2005.
  */
+%locations
+
 %{
 #include <stdio.h>
 #include <inttypes.h>
@@ -17,6 +19,8 @@ extern void yyerror(char const *s);
 		treesource_error = true; \
 	} while (0)
 
+#define YYERROR_CALL(msg) yyerror(msg)
+
 extern struct dt_info *parser_output;
 extern bool treesource_error;
 %}
-- 
2.23.0




[Index of Archives]     [Device Tree]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux