aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/c.bqn2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/c.bqn b/src/c.bqn
index de8b77b7..5d10238a 100644
--- a/src/c.bqn
+++ b/src/c.bqn
@@ -223,7 +223,7 @@ Parse ← {r‿vn‿i‿e‿def←𝕨⋄nv←≠vn
d↩(0≤dpf)⌾(dp⊸/)d⋄zda←0¨da←/def≤0 # Turn def ¯1 ← into ↩
dn←(dg←zda∾(df←d/idf)∾≠fsc)⊔da∾dv←d/idv # Identifier name ID, per-block
# Order every referenced identifier, and an undeclaration for each declaration
- ixf←((1=ic)+idf⊏¯1∾cb/gf)∾df⊏(≠𝕩)∾cc⊏gf # First order by block index, open for real and closed for virtual
+ ixf←((1=ic)+idf⊏¯1∾cb/gf)∾df⊏(≠𝕩)∾1-˜cc⊏gf# First order by block index, open for real and closed for virtual
ig←(⍋⊏⟜(ixx←idv∾dv))⊸⊏⍋ixf # Then order by name
{"Redefinition"_err_(𝕩⊏·∾⟜(d⊸/)ID) ¬ixx∨○(»⊸≠𝕩⊸⊏)ixf} (≠d)⊸≤⊸/ig
ig↩<⟜(≠d)⊸/(⍋ds←+`ig⊏d∾¯1¨dv)⊏ig # Last order by declaration depth