diff options
Diffstat (limited to 'rules/CC/EXPRESSIONS')
-rw-r--r-- | rules/CC/EXPRESSIONS | 18 |
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" |