aboutsummaryrefslogtreecommitdiffstats
path: root/tests/verilog/include_self.v
diff options
context:
space:
mode:
authorZachary Snow <zach@zachjs.com>2021-02-25 15:53:55 -0500
committerZachary Snow <zachary.j.snow@gmail.com>2021-03-01 12:28:33 -0500
commit1ec5994100510d6fb9e18ff7234ede496f831a51 (patch)
tree77c8403f0ece00ad1b42e2e91f86befe0f736cac /tests/verilog/include_self.v
parentb6904a8e5344fcd01c1a0feea281cd7d7bf0f210 (diff)
downloadyosys-1ec5994100510d6fb9e18ff7234ede496f831a51.tar.gz
yosys-1ec5994100510d6fb9e18ff7234ede496f831a51.tar.bz2
yosys-1ec5994100510d6fb9e18ff7234ede496f831a51.zip
verilog: fix handling of nested ifdef directives
- track depth so we know whether to consider higher-level elsifs - error on unmatched endif/elsif/else
Diffstat (limited to 'tests/verilog/include_self.v')
-rw-r--r--tests/verilog/include_self.v30
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/verilog/include_self.v b/tests/verilog/include_self.v
new file mode 100644
index 000000000..23ffc7104
--- /dev/null
+++ b/tests/verilog/include_self.v
@@ -0,0 +1,30 @@
+`ifdef GUARD_5
+module top;
+ wire x;
+endmodule
+
+`elsif GUARD_4
+`define GUARD_5
+`include "include_self.v"
+
+`elsif GUARD_3
+`define GUARD_4
+`include "include_self.v"
+
+`elsif GUARD_2
+`define GUARD_3
+`include "include_self.v"
+
+`elsif GUARD_1
+`define GUARD_2
+`include "include_self.v"
+
+`elsif GUARD_0
+`define GUARD_1
+`include "include_self.v"
+
+`else
+`define GUARD_0
+`include "include_self.v"
+
+`endif