summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2020-05-25 13:18:46 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2020-05-28 10:38:23 +0200
commit0f5d1db239d5671c048b827692fb354fafb6b034 (patch)
tree121d908bf2cb5296f5713d760beea18403a5a169
parentspec: Remove superfluous domain attribute (diff)
downloadrtems-central-0f5d1db239d5671c048b827692fb354fafb6b034.tar.bz2
spec: Add function body attribute
-rw-r--r--rtemsqual/interface.py11
-rw-r--r--rtemsqual/tests/spec-interface/func.yml1
-rw-r--r--rtemsqual/tests/spec-interface/func3.yml1
-rw-r--r--rtemsqual/tests/spec-interface/func4.yml1
-rw-r--r--spec/if/impl/dequalify-types-not-compatible.yml2
-rw-r--r--spec/if/rtems/config/get-api-configuration.yml1
-rw-r--r--spec/if/rtems/config/get-maximum-barriers.yml1
-rw-r--r--spec/if/rtems/config/get-maximum-extensions.yml1
-rw-r--r--spec/if/rtems/config/get-maximum-message-queues.yml1
-rw-r--r--spec/if/rtems/config/get-maximum-partitions.yml1
-rw-r--r--spec/if/rtems/config/get-maximum-periods.yml1
-rw-r--r--spec/if/rtems/config/get-maximum-ports.yml1
-rw-r--r--spec/if/rtems/config/get-maximum-regions.yml1
-rw-r--r--spec/if/rtems/config/get-maximum-semaphores.yml1
-rw-r--r--spec/if/rtems/config/get-maximum-tasks.yml1
-rw-r--r--spec/if/rtems/config/get-maximum-timers.yml1
-rw-r--r--spec/if/rtems/config/get-stack-space-size.yml1
-rw-r--r--spec/if/rtems/init/initialize-executive.yml1
-rw-r--r--spec/if/rtems/init/shutdown-executive.yml1
-rw-r--r--spec/if/rtems/status/code-to-errno.yml1
-rw-r--r--spec/if/rtems/status/text.yml1
21 files changed, 27 insertions, 5 deletions
diff --git a/rtemsqual/interface.py b/rtemsqual/interface.py
index 9f3fa465..64648e83 100644
--- a/rtemsqual/interface.py
+++ b/rtemsqual/interface.py
@@ -319,8 +319,9 @@ class Node:
return f"#define {name}"
def _get_function_definition(self, item: Item, definition: Any) -> Lines:
+ body = definition["body"]
ret = self.substitute(definition["return"])
- if "body" in definition:
+ if body:
ret = "static inline " + ret
name = item["name"]
space = "" if ret.endswith("*") else " "
@@ -336,12 +337,12 @@ class Node:
line = f"{ret}{space}{name}(void)"
if len(line) > 79:
line = f"{ret}\n{name}(void)"
- if "body" in definition:
- body = self.substitute("\n ".join(
- definition["body"].strip("\n").split("\n")))
+ if body:
+ body_lines = self.substitute("\n ".join(
+ body.strip("\n").split("\n")))
line = f"""{line}
{{
- {body}
+ {body_lines}
}}"""
else:
line += ";"
diff --git a/rtemsqual/tests/spec-interface/func.yml b/rtemsqual/tests/spec-interface/func.yml
index 5c287b8f..108fa624 100644
--- a/rtemsqual/tests/spec-interface/func.yml
+++ b/rtemsqual/tests/spec-interface/func.yml
@@ -5,6 +5,7 @@ enabled-by: true
brief: Function brief description.
definition:
default:
+ body: null
params:
- int ${.:/params[0]/name}
- const int *${.:/params[1]/name}
diff --git a/rtemsqual/tests/spec-interface/func3.yml b/rtemsqual/tests/spec-interface/func3.yml
index 9bee4821..515feb2d 100644
--- a/rtemsqual/tests/spec-interface/func3.yml
+++ b/rtemsqual/tests/spec-interface/func3.yml
@@ -5,6 +5,7 @@ enabled-by: true
brief: Void function brief description.
definition:
default:
+ body: null
params: []
return: void
variants: []
diff --git a/rtemsqual/tests/spec-interface/func4.yml b/rtemsqual/tests/spec-interface/func4.yml
index 4f5032fa..df16690d 100644
--- a/rtemsqual/tests/spec-interface/func4.yml
+++ b/rtemsqual/tests/spec-interface/func4.yml
@@ -5,6 +5,7 @@ enabled-by: true
brief: Void function brief description with very long return type.
definition:
default:
+ body: null
params: []
return: VeryLongLongLongLongLongLongLongLongLongLongLongLongLongLongLongType
variants: []
diff --git a/spec/if/impl/dequalify-types-not-compatible.yml b/spec/if/impl/dequalify-types-not-compatible.yml
index 136e1b3a..3d05f322 100644
--- a/spec/if/impl/dequalify-types-not-compatible.yml
+++ b/spec/if/impl/dequalify-types-not-compatible.yml
@@ -7,10 +7,12 @@ copyrights:
- Copyright (C) 2014 Paval Pisa
definition:
default:
+ body: null
params: []
return: void *
variants:
- definition:
+ body: null
params: []
return: __attribute__((__error__("RTEMS_DEQUALIFY() types differ not only by
volatile and const"))) void *
diff --git a/spec/if/rtems/config/get-api-configuration.yml b/spec/if/rtems/config/get-api-configuration.yml
index 4f6ce3a7..6fd225ed 100644
--- a/spec/if/rtems/config/get-api-configuration.yml
+++ b/spec/if/rtems/config/get-api-configuration.yml
@@ -5,6 +5,7 @@ copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
definition:
default:
+ body: null
params: []
return: const rtems_api_configuration_table *
variants: []
diff --git a/spec/if/rtems/config/get-maximum-barriers.yml b/spec/if/rtems/config/get-maximum-barriers.yml
index ef4a519f..05d6f328 100644
--- a/spec/if/rtems/config/get-maximum-barriers.yml
+++ b/spec/if/rtems/config/get-maximum-barriers.yml
@@ -6,6 +6,7 @@ copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
definition:
default:
+ body: null
params: []
return: ${/if/c/uint32_t:/name}
variants: []
diff --git a/spec/if/rtems/config/get-maximum-extensions.yml b/spec/if/rtems/config/get-maximum-extensions.yml
index dcfc17bb..2ec5a2f1 100644
--- a/spec/if/rtems/config/get-maximum-extensions.yml
+++ b/spec/if/rtems/config/get-maximum-extensions.yml
@@ -6,6 +6,7 @@ copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
definition:
default:
+ body: null
params: []
return: ${/if/c/uint32_t:/name}
variants: []
diff --git a/spec/if/rtems/config/get-maximum-message-queues.yml b/spec/if/rtems/config/get-maximum-message-queues.yml
index 1eeb35f7..d310cb09 100644
--- a/spec/if/rtems/config/get-maximum-message-queues.yml
+++ b/spec/if/rtems/config/get-maximum-message-queues.yml
@@ -6,6 +6,7 @@ copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
definition:
default:
+ body: null
params: []
return: ${/if/c/uint32_t:/name}
variants: []
diff --git a/spec/if/rtems/config/get-maximum-partitions.yml b/spec/if/rtems/config/get-maximum-partitions.yml
index 1d2c5e8c..ecb612a4 100644
--- a/spec/if/rtems/config/get-maximum-partitions.yml
+++ b/spec/if/rtems/config/get-maximum-partitions.yml
@@ -6,6 +6,7 @@ copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
definition:
default:
+ body: null
params: []
return: ${/if/c/uint32_t:/name}
variants: []
diff --git a/spec/if/rtems/config/get-maximum-periods.yml b/spec/if/rtems/config/get-maximum-periods.yml
index 2a66e63c..0bead49e 100644
--- a/spec/if/rtems/config/get-maximum-periods.yml
+++ b/spec/if/rtems/config/get-maximum-periods.yml
@@ -6,6 +6,7 @@ copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
definition:
default:
+ body: null
params: []
return: ${/if/c/uint32_t:/name}
variants: []
diff --git a/spec/if/rtems/config/get-maximum-ports.yml b/spec/if/rtems/config/get-maximum-ports.yml
index ccc0a8f5..14ecb0ce 100644
--- a/spec/if/rtems/config/get-maximum-ports.yml
+++ b/spec/if/rtems/config/get-maximum-ports.yml
@@ -6,6 +6,7 @@ copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
definition:
default:
+ body: null
params: []
return: ${/if/c/uint32_t:/name}
variants: []
diff --git a/spec/if/rtems/config/get-maximum-regions.yml b/spec/if/rtems/config/get-maximum-regions.yml
index 4f5d8715..6260aebf 100644
--- a/spec/if/rtems/config/get-maximum-regions.yml
+++ b/spec/if/rtems/config/get-maximum-regions.yml
@@ -6,6 +6,7 @@ copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
definition:
default:
+ body: null
params: []
return: ${/if/c/uint32_t:/name}
variants: []
diff --git a/spec/if/rtems/config/get-maximum-semaphores.yml b/spec/if/rtems/config/get-maximum-semaphores.yml
index f0506c50..b9b234d4 100644
--- a/spec/if/rtems/config/get-maximum-semaphores.yml
+++ b/spec/if/rtems/config/get-maximum-semaphores.yml
@@ -6,6 +6,7 @@ copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
definition:
default:
+ body: null
params: []
return: ${/if/c/uint32_t:/name}
variants: []
diff --git a/spec/if/rtems/config/get-maximum-tasks.yml b/spec/if/rtems/config/get-maximum-tasks.yml
index 4e027e0f..587dec7e 100644
--- a/spec/if/rtems/config/get-maximum-tasks.yml
+++ b/spec/if/rtems/config/get-maximum-tasks.yml
@@ -6,6 +6,7 @@ copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
definition:
default:
+ body: null
params: []
return: ${/if/c/uint32_t:/name}
variants: []
diff --git a/spec/if/rtems/config/get-maximum-timers.yml b/spec/if/rtems/config/get-maximum-timers.yml
index 1961ed63..6d756bcd 100644
--- a/spec/if/rtems/config/get-maximum-timers.yml
+++ b/spec/if/rtems/config/get-maximum-timers.yml
@@ -6,6 +6,7 @@ copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
definition:
default:
+ body: null
params: []
return: ${/if/c/uint32_t:/name}
variants: []
diff --git a/spec/if/rtems/config/get-stack-space-size.yml b/spec/if/rtems/config/get-stack-space-size.yml
index 5b17cbea..a33b10b9 100644
--- a/spec/if/rtems/config/get-stack-space-size.yml
+++ b/spec/if/rtems/config/get-stack-space-size.yml
@@ -6,6 +6,7 @@ copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
definition:
default:
+ body: null
params: []
return: ${/if/c/uintptr_t:/name}
variants: []
diff --git a/spec/if/rtems/init/initialize-executive.yml b/spec/if/rtems/init/initialize-executive.yml
index dd5a4c48..a917a4c1 100644
--- a/spec/if/rtems/init/initialize-executive.yml
+++ b/spec/if/rtems/init/initialize-executive.yml
@@ -5,6 +5,7 @@ copyrights:
- Copyright (C) 2015, 2020 embedded brains GmbH (http://www.embedded-brains.de)
definition:
default:
+ body: null
params: []
return: ${/if/rtems/basedefs/no-return:/name} void
variants: []
diff --git a/spec/if/rtems/init/shutdown-executive.yml b/spec/if/rtems/init/shutdown-executive.yml
index bab3153f..2aded543 100644
--- a/spec/if/rtems/init/shutdown-executive.yml
+++ b/spec/if/rtems/init/shutdown-executive.yml
@@ -6,6 +6,7 @@ copyrights:
- Copyright (C) 1989, 2008 On-Line Applications Research Corporation (OAR)
definition:
default:
+ body: null
params:
- ${/if/c/uint32_t:/name} ${.:/params[0]/name}
return: ${/if/rtems/basedefs/no-return:/name} void
diff --git a/spec/if/rtems/status/code-to-errno.yml b/spec/if/rtems/status/code-to-errno.yml
index 054f2ea3..91389970 100644
--- a/spec/if/rtems/status/code-to-errno.yml
+++ b/spec/if/rtems/status/code-to-errno.yml
@@ -5,6 +5,7 @@ copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
definition:
default:
+ body: null
params:
- ${code:/name} ${.:/params[0]/name}
return: int
diff --git a/spec/if/rtems/status/text.yml b/spec/if/rtems/status/text.yml
index eec9aac7..5d540e7f 100644
--- a/spec/if/rtems/status/text.yml
+++ b/spec/if/rtems/status/text.yml
@@ -4,6 +4,7 @@ copyrights:
- Copyright (C) 2014, 2020 embedded brains GmbH (http://www.embedded-brains.de)
definition:
default:
+ body: null
params:
- ${code:/name} ${.:/params[0]/name}
return: const char *