summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSascha Roloff <sascha.roloff@huawei.com>2024-09-11 15:28:49 +0200
committerSascha Roloff <sascha.roloff@huawei.com>2024-09-12 17:38:30 +0200
commit76ab9217628084c661176118d5a8020a3366f04c (patch)
tree76d716d6d853cee5b346530771e0aef38d24719f
parent6dba91abb5696f9c0cb905c0e820dbad91d63dd4 (diff)
downloadjustbuild-76ab9217628084c661176118d5a8020a3366f04c.tar.gz
Rules CC: Deduplicate args returned by expressions collecting args from dependencies
-rw-r--r--rules/CC/EXPRESSIONS50
1 files changed, 28 insertions, 22 deletions
diff --git a/rules/CC/EXPRESSIONS b/rules/CC/EXPRESSIONS
index 2413f98c..32022ce3 100644
--- a/rules/CC/EXPRESSIONS
+++ b/rules/CC/EXPRESSIONS
@@ -320,18 +320,21 @@
}
, "imports": {"list_provider": ["./", "..", "field_list_provider"]}
, "expression":
- { "type": "++"
+ { "type": "nub_right"
, "$1":
- { "type": "foreach"
- , "var": "fieldname"
- , "range": {"type": "var", "name": "deps-fieldnames"}
- , "body":
- { "type": "let*"
- , "bindings":
- [ ["provider", "compile-args"]
- , ["transition", {"type": "var", "name": "deps-transition"}]
- ]
- , "body": {"type": "CALL_EXPRESSION", "name": "list_provider"}
+ { "type": "++"
+ , "$1":
+ { "type": "foreach"
+ , "var": "fieldname"
+ , "range": {"type": "var", "name": "deps-fieldnames"}
+ , "body":
+ { "type": "let*"
+ , "bindings":
+ [ ["provider", "compile-args"]
+ , ["transition", {"type": "var", "name": "deps-transition"}]
+ ]
+ , "body": {"type": "CALL_EXPRESSION", "name": "list_provider"}
+ }
}
}
}
@@ -387,18 +390,21 @@
}
, "imports": {"list_provider": ["./", "..", "field_list_provider"]}
, "expression":
- { "type": "++"
+ { "type": "nub_right"
, "$1":
- { "type": "foreach"
- , "var": "fieldname"
- , "range": {"type": "var", "name": "deps-fieldnames"}
- , "body":
- { "type": "let*"
- , "bindings":
- [ ["provider", "link-args"]
- , ["transition", {"type": "var", "name": "deps-transition"}]
- ]
- , "body": {"type": "CALL_EXPRESSION", "name": "list_provider"}
+ { "type": "++"
+ , "$1":
+ { "type": "foreach"
+ , "var": "fieldname"
+ , "range": {"type": "var", "name": "deps-fieldnames"}
+ , "body":
+ { "type": "let*"
+ , "bindings":
+ [ ["provider", "link-args"]
+ , ["transition", {"type": "var", "name": "deps-transition"}]
+ ]
+ , "body": {"type": "CALL_EXPRESSION", "name": "list_provider"}
+ }
}
}
}