summaryrefslogtreecommitdiff
path: root/rules/CC/EXPRESSIONS
diff options
context:
space:
mode:
Diffstat (limited to 'rules/CC/EXPRESSIONS')
-rw-r--r--rules/CC/EXPRESSIONS18
1 files changed, 17 insertions, 1 deletions
diff --git a/rules/CC/EXPRESSIONS b/rules/CC/EXPRESSIONS
index b551787d..462d2196 100644
--- a/rules/CC/EXPRESSIONS
+++ b/rules/CC/EXPRESSIONS
@@ -405,7 +405,23 @@
]
, ["objects", {"type": "CALL_EXPRESSION", "name": "objects"}]
, [ "base name"
- , {"type": "join", "$1": {"type": "FIELD", "name": "name"}}
+ , { "type": "let*"
+ , "bindings":
+ [ [ "name"
+ , {"type": "join", "$1": {"type": "FIELD", "name": "name"}}
+ ]
+ ]
+ , "body":
+ { "type": "if"
+ , "cond": {"type": "var", "name": "objects"}
+ , "then":
+ { "type": "assert_non_empty"
+ , "msg": "A name has to be provided for non-header-only libraries"
+ , "$1": {"type": "var", "name": "name"}
+ }
+ , "else": {"type": "var", "name": "name"}
+ }
+ }
]
, [ "libname"
, { "type": "join"