From 5644b1f785de5c381bf76088075a1cac229d37b2 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 7 Sep 2022 13:53:19 +0200 Subject: spec: Use proper type for interface functions --- spec/rtems/attr/req/default-equals.yml | 4 ++-- spec/rtems/attr/req/semaphore-class.yml | 4 ++-- spec/rtems/basedefs/req/alias-0.yml | 4 ++-- spec/rtems/basedefs/req/align-down-0.yml | 4 ++-- spec/rtems/basedefs/req/align-up-0.yml | 4 ++-- spec/rtems/basedefs/req/aligned-0.yml | 4 ++-- spec/rtems/basedefs/req/alignof-0.yml | 4 ++-- spec/rtems/basedefs/req/alignof-1.yml | 4 ++-- spec/rtems/basedefs/req/alignof-2.yml | 4 ++-- spec/rtems/basedefs/req/alignof-3.yml | 4 ++-- spec/rtems/basedefs/req/alloc-align-0.yml | 4 ++-- spec/rtems/basedefs/req/alloc-size-0.yml | 4 ++-- spec/rtems/basedefs/req/alloc-size-2-0.yml | 4 ++-- spec/rtems/basedefs/req/array-size-0.yml | 4 ++-- spec/rtems/basedefs/req/compiler-deprecated-attribute-0.yml | 4 ++-- spec/rtems/basedefs/req/compiler-memory-barrier-0.yml | 4 ++-- spec/rtems/basedefs/req/compiler-no-return-attribute-0.yml | 4 ++-- spec/rtems/basedefs/req/compiler-packed-attribute-0.yml | 4 ++-- spec/rtems/basedefs/req/compiler-pure-attribute-0.yml | 4 ++-- spec/rtems/basedefs/req/compiler-unused-attribute-0.yml | 4 ++-- spec/rtems/basedefs/req/concat-0.yml | 4 ++-- spec/rtems/basedefs/req/concat-1.yml | 4 ++-- spec/rtems/basedefs/req/concat-2.yml | 4 ++-- spec/rtems/basedefs/req/const-0.yml | 4 ++-- spec/rtems/basedefs/req/container-of-0.yml | 4 ++-- spec/rtems/basedefs/req/declare-global-symbol-0.yml | 4 ++-- spec/rtems/basedefs/req/deconst-0.yml | 4 ++-- spec/rtems/basedefs/req/define-global-symbol-0.yml | 4 ++-- spec/rtems/basedefs/req/define-global-symbol-1.yml | 4 ++-- spec/rtems/basedefs/req/deprecated-0.yml | 4 ++-- spec/rtems/basedefs/req/dequalify-0.yml | 4 ++-- spec/rtems/basedefs/req/dequalify-depthx-0.yml | 4 ++-- spec/rtems/basedefs/req/devolatile-0.yml | 4 ++-- spec/rtems/basedefs/req/expand-0.yml | 4 ++-- spec/rtems/basedefs/req/false-0.yml | 4 ++-- spec/rtems/basedefs/req/have-member-same-type-0.yml | 4 ++-- spec/rtems/basedefs/req/inline-routine-0.yml | 4 ++-- spec/rtems/basedefs/req/malloclike-0.yml | 4 ++-- spec/rtems/basedefs/req/no-inline-0.yml | 4 ++-- spec/rtems/basedefs/req/no-return-0.yml | 4 ++-- spec/rtems/basedefs/req/noinit-0.yml | 4 ++-- spec/rtems/basedefs/req/obfuscate-variable-0.yml | 4 ++-- spec/rtems/basedefs/req/packed-0.yml | 4 ++-- spec/rtems/basedefs/req/packed-1.yml | 4 ++-- spec/rtems/basedefs/req/packed-2.yml | 4 ++-- spec/rtems/basedefs/req/predict-false-0.yml | 4 ++-- spec/rtems/basedefs/req/predict-true-0.yml | 4 ++-- spec/rtems/basedefs/req/printflike-0.yml | 4 ++-- spec/rtems/basedefs/req/printflike-1.yml | 4 ++-- spec/rtems/basedefs/req/pure-0.yml | 4 ++-- spec/rtems/basedefs/req/return-address-0.yml | 4 ++-- spec/rtems/basedefs/req/section-0.yml | 4 ++-- spec/rtems/basedefs/req/static-analysis-0.yml | 4 ++-- spec/rtems/basedefs/req/static-analysis-1.yml | 4 ++-- spec/rtems/basedefs/req/static-assert-0.yml | 4 ++-- spec/rtems/basedefs/req/string-0.yml | 4 ++-- spec/rtems/basedefs/req/true-0.yml | 4 ++-- spec/rtems/basedefs/req/typeof-refx-0.yml | 4 ++-- spec/rtems/basedefs/req/unreachable-0.yml | 4 ++-- spec/rtems/basedefs/req/unused-0.yml | 4 ++-- spec/rtems/basedefs/req/unused-1.yml | 4 ++-- spec/rtems/basedefs/req/unused-2.yml | 4 ++-- spec/rtems/basedefs/req/unused-3.yml | 4 ++-- spec/rtems/basedefs/req/used-0.yml | 4 ++-- spec/rtems/basedefs/req/warn-unused-result-0.yml | 4 ++-- spec/rtems/basedefs/req/weak-0.yml | 4 ++-- spec/rtems/basedefs/req/weak-1.yml | 4 ++-- spec/rtems/basedefs/req/weak-alias-0.yml | 4 ++-- spec/rtems/basedefs/req/weak-alias-1.yml | 4 ++-- spec/rtems/basedefs/req/xconcat-0.yml | 4 ++-- spec/rtems/basedefs/req/xconcat-1.yml | 4 ++-- spec/rtems/basedefs/req/xconcat-2.yml | 4 ++-- spec/rtems/basedefs/req/xconcat-3.yml | 4 ++-- spec/rtems/basedefs/req/xstring-0.yml | 4 ++-- spec/rtems/basedefs/req/zero-length-array-0.yml | 4 ++-- spec/rtems/clock/req/get-ticks-per-second.yml | 4 ++-- spec/rtems/clock/req/get-ticks-since-boot.yml | 4 ++-- spec/rtems/message/req/buffer.yml | 4 ++-- spec/rtems/mode/req/masks-all.yml | 4 ++-- spec/rtems/option/req/default-equals.yml | 4 ++-- 80 files changed, 160 insertions(+), 160 deletions(-) diff --git a/spec/rtems/attr/req/default-equals.yml b/spec/rtems/attr/req/default-equals.yml index 00a2cfa6..4d011127 100644 --- a/spec/rtems/attr/req/default-equals.yml +++ b/spec/rtems/attr/req/default-equals.yml @@ -2,13 +2,13 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/default -non-functional-type: interface rationale: null references: [] -requirement-type: non-functional +requirement-type: functional text: | The value of macro ${../if/default:/name} shall be equal to the value of expression ``${../if/fifo:/name} | ${../if/local:/name}``. diff --git a/spec/rtems/attr/req/semaphore-class.yml b/spec/rtems/attr/req/semaphore-class.yml index 12a6e91a..dcb154e7 100644 --- a/spec/rtems/attr/req/semaphore-class.yml +++ b/spec/rtems/attr/req/semaphore-class.yml @@ -2,13 +2,13 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/semaphore-class -non-functional-type: interface rationale: null references: [] -requirement-type: non-functional +requirement-type: functional text: | The ${../if/semaphore-class:/name} constant shall be equal to the bitwise or of ${../if/binary-semaphore:/name}, ${../if/counting-semaphore:/name}, and diff --git a/spec/rtems/basedefs/req/alias-0.yml b/spec/rtems/basedefs/req/alias-0.yml index fdfead11..3b9da6a6 100644 --- a/spec/rtems/basedefs/req/alias-0.yml +++ b/spec/rtems/basedefs/req/alias-0.yml @@ -2,13 +2,13 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/alias -non-functional-type: interface rationale: null references: [] -requirement-type: non-functional +requirement-type: functional text: | When argument ${../if/alias:/params[0]/name} is a name of a function, and the macro ${../if/alias:/name} call is in the same compilation unit diff --git a/spec/rtems/basedefs/req/align-down-0.yml b/spec/rtems/basedefs/req/align-down-0.yml index e588ce68..254e30ba 100644 --- a/spec/rtems/basedefs/req/align-down-0.yml +++ b/spec/rtems/basedefs/req/align-down-0.yml @@ -2,13 +2,13 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/align-down -non-functional-type: interface rationale: null references: [] -requirement-type: non-functional +requirement-type: functional text: | When the argument ${../if/align-down:/params[1]/name} is a positive power of two integer, diff --git a/spec/rtems/basedefs/req/align-up-0.yml b/spec/rtems/basedefs/req/align-up-0.yml index 897cd5f3..3b661de9 100644 --- a/spec/rtems/basedefs/req/align-up-0.yml +++ b/spec/rtems/basedefs/req/align-up-0.yml @@ -2,13 +2,13 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/align-up -non-functional-type: interface rationale: null references: [] -requirement-type: non-functional +requirement-type: functional text: | When the argument ${../if/align-up:/params[1]/name} is a positive power of two integer, diff --git a/spec/rtems/basedefs/req/aligned-0.yml b/spec/rtems/basedefs/req/aligned-0.yml index e9d6f41d..f13c1bd5 100644 --- a/spec/rtems/basedefs/req/aligned-0.yml +++ b/spec/rtems/basedefs/req/aligned-0.yml @@ -2,15 +2,15 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/aligned -non-functional-type: interface rationale: | Note that the ${../if/aligned:/name} macro can often only increases the alignment but under some circumstances, it can also decrease the alignment. references: [] -requirement-type: non-functional +requirement-type: functional text: | When the argument ${../if/aligned:/params[0]/name} is a positive power of two integer, diff --git a/spec/rtems/basedefs/req/alignof-0.yml b/spec/rtems/basedefs/req/alignof-0.yml index 01e47b53..3c49d9cc 100644 --- a/spec/rtems/basedefs/req/alignof-0.yml +++ b/spec/rtems/basedefs/req/alignof-0.yml @@ -2,16 +2,16 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/alignof -non-functional-type: interface rationale: | Note that if not ``__STDC_VERSION__ >= 201112L`` and neither ``__cplusplus >= 201103L``, the result of this call may return a value which is not appropriate for alignment. references: [] -requirement-type: non-functional +requirement-type: functional text: | When the code is compiled with a C compiler and the ``__STDC_VERSION__`` symbol is defined with version ``201112L`` or diff --git a/spec/rtems/basedefs/req/alignof-1.yml b/spec/rtems/basedefs/req/alignof-1.yml index 786d0998..4ee2d792 100644 --- a/spec/rtems/basedefs/req/alignof-1.yml +++ b/spec/rtems/basedefs/req/alignof-1.yml @@ -2,13 +2,13 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/alignof -non-functional-type: interface rationale: null references: [] -requirement-type: non-functional +requirement-type: functional text: | When the code is compiled with a C compiler and the ``__STDC_VERSION__`` symbol is defined with version ``201112L`` or diff --git a/spec/rtems/basedefs/req/alignof-2.yml b/spec/rtems/basedefs/req/alignof-2.yml index ba703273..8eb59678 100644 --- a/spec/rtems/basedefs/req/alignof-2.yml +++ b/spec/rtems/basedefs/req/alignof-2.yml @@ -2,13 +2,13 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/alignof -non-functional-type: interface rationale: null references: [] -requirement-type: non-functional +requirement-type: functional text: | When the code is compiled with a C compiler and the ``__STDC_VERSION__`` symbol is defined with version ``201112L`` or diff --git a/spec/rtems/basedefs/req/alignof-3.yml b/spec/rtems/basedefs/req/alignof-3.yml index 12b17e93..e4600351 100644 --- a/spec/rtems/basedefs/req/alignof-3.yml +++ b/spec/rtems/basedefs/req/alignof-3.yml @@ -2,13 +2,13 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/alignof -non-functional-type: interface rationale: null references: [] -requirement-type: non-functional +requirement-type: functional text: | The macro ${../if/alignof:/name} shall result in an constant integer of type size_t. diff --git a/spec/rtems/basedefs/req/alloc-align-0.yml b/spec/rtems/basedefs/req/alloc-align-0.yml index df83fe43..4de29395 100644 --- a/spec/rtems/basedefs/req/alloc-align-0.yml +++ b/spec/rtems/basedefs/req/alloc-align-0.yml @@ -2,13 +2,13 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/alloc-align -non-functional-type: interface rationale: null references: [] -requirement-type: non-functional +requirement-type: functional text: | When the code is compiled with the GNU C compiler, and the ${../if/alloc-align:/name} macro is used as last part of a diff --git a/spec/rtems/basedefs/req/alloc-size-0.yml b/spec/rtems/basedefs/req/alloc-size-0.yml index 0bdc0688..5a67eb56 100644 --- a/spec/rtems/basedefs/req/alloc-size-0.yml +++ b/spec/rtems/basedefs/req/alloc-size-0.yml @@ -2,13 +2,13 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/alloc-size -non-functional-type: interface rationale: null references: [] -requirement-type: non-functional +requirement-type: functional text: | When the code is compiled with the GNU C compiler, and the ${../if/alloc-size:/name} macro is used as last part of a diff --git a/spec/rtems/basedefs/req/alloc-size-2-0.yml b/spec/rtems/basedefs/req/alloc-size-2-0.yml index 1d120589..1ea49d90 100644 --- a/spec/rtems/basedefs/req/alloc-size-2-0.yml +++ b/spec/rtems/basedefs/req/alloc-size-2-0.yml @@ -2,13 +2,13 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/alloc-size-2 -non-functional-type: interface rationale: null references: [] -requirement-type: non-functional +requirement-type: functional text: | When the code is compiled with the GNU C compiler, and the ${../if/alloc-size-2:/name} macro is used as last part of a diff --git a/spec/rtems/basedefs/req/array-size-0.yml b/spec/rtems/basedefs/req/array-size-0.yml index d0dbe5eb..620e1ddf 100644 --- a/spec/rtems/basedefs/req/array-size-0.yml +++ b/spec/rtems/basedefs/req/array-size-0.yml @@ -2,13 +2,13 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/array-size -non-functional-type: interface rationale: null references: [] -requirement-type: non-functional +requirement-type: functional text: | When the argument ${../if/alloc-size:/params[0]/name} evaluates to an value of a C one-dimensional array type, diff --git a/spec/rtems/basedefs/req/compiler-deprecated-attribute-0.yml b/spec/rtems/basedefs/req/compiler-deprecated-attribute-0.yml index 0078adf3..672b9055 100644 --- a/spec/rtems/basedefs/req/compiler-deprecated-attribute-0.yml +++ b/spec/rtems/basedefs/req/compiler-deprecated-attribute-0.yml @@ -2,13 +2,13 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/compiler-deprecated-attribute -non-functional-type: interface rationale: null references: [] -requirement-type: non-functional +requirement-type: functional text: | The macro ${../if/compiler-deprecated-attribute:/name} shall have exactly the same effect as the macro ${../if/deprecated:/name}. diff --git a/spec/rtems/basedefs/req/compiler-memory-barrier-0.yml b/spec/rtems/basedefs/req/compiler-memory-barrier-0.yml index ba599745..c540bd05 100644 --- a/spec/rtems/basedefs/req/compiler-memory-barrier-0.yml +++ b/spec/rtems/basedefs/req/compiler-memory-barrier-0.yml @@ -2,10 +2,10 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/compiler-memory-barrier -non-functional-type: interface rationale: | A Full Software Memory Barrier prevents the compiler to move loads and stores (in any direction) beyond the point where the barrier is in the @@ -13,7 +13,7 @@ rationale: | This is a compile time only barrier. The CPU optimizations can still move instructions over the barrier at run-time. references: [] -requirement-type: non-functional +requirement-type: functional text: | When the code is compiled with the GNU C compiler, the ${../if/compiler-memory-barrier:/name} macro shall diff --git a/spec/rtems/basedefs/req/compiler-no-return-attribute-0.yml b/spec/rtems/basedefs/req/compiler-no-return-attribute-0.yml index 17edb7fc..0a6223ed 100644 --- a/spec/rtems/basedefs/req/compiler-no-return-attribute-0.yml +++ b/spec/rtems/basedefs/req/compiler-no-return-attribute-0.yml @@ -2,13 +2,13 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/compiler-no-return-attribute -non-functional-type: interface rationale: null references: [] -requirement-type: non-functional +requirement-type: functional text: | The macro ${../if/compiler-no-return-attribute:/name} shall have exactly the same effect as the macro ${../if/no-return:/name}. diff --git a/spec/rtems/basedefs/req/compiler-packed-attribute-0.yml b/spec/rtems/basedefs/req/compiler-packed-attribute-0.yml index 03f78132..53a1e5e6 100644 --- a/spec/rtems/basedefs/req/compiler-packed-attribute-0.yml +++ b/spec/rtems/basedefs/req/compiler-packed-attribute-0.yml @@ -2,13 +2,13 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/compiler-packed-attribute -non-functional-type: interface rationale: null references: [] -requirement-type: non-functional +requirement-type: functional text: | The macro ${../if/compiler-packed-attribute:/name} shall have exactly the same effect as the macro ${../if/packed:/name}. diff --git a/spec/rtems/basedefs/req/compiler-pure-attribute-0.yml b/spec/rtems/basedefs/req/compiler-pure-attribute-0.yml index b29ef14c..480ede14 100644 --- a/spec/rtems/basedefs/req/compiler-pure-attribute-0.yml +++ b/spec/rtems/basedefs/req/compiler-pure-attribute-0.yml @@ -2,13 +2,13 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/compiler-pure-attribute -non-functional-type: interface rationale: null references: [] -requirement-type: non-functional +requirement-type: functional text: | The macro ${../if/compiler-pure-attribute:/name} shall have exactly the same effect as the macro ${../if/pure:/name}. diff --git a/spec/rtems/basedefs/req/compiler-unused-attribute-0.yml b/spec/rtems/basedefs/req/compiler-unused-attribute-0.yml index 91b93bf3..e1988a16 100644 --- a/spec/rtems/basedefs/req/compiler-unused-attribute-0.yml +++ b/spec/rtems/basedefs/req/compiler-unused-attribute-0.yml @@ -2,13 +2,13 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/compiler-unused-attribute -non-functional-type: interface rationale: null references: [] -requirement-type: non-functional +requirement-type: functional text: | The macro ${../if/compiler-unused-attribute:/name} shall have exactly the same effect as the macro ${../if/unused:/name}. diff --git a/spec/rtems/basedefs/req/concat-0.yml b/spec/rtems/basedefs/req/concat-0.yml index ec030144..a5a05d54 100644 --- a/spec/rtems/basedefs/req/concat-0.yml +++ b/spec/rtems/basedefs/req/concat-0.yml @@ -2,15 +2,15 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/concat -non-functional-type: interface rationale: | The rules for nested use of the ## operator are arcane. The result of such nested macro calls is undefined. references: [] -requirement-type: non-functional +requirement-type: functional text: | When neither argument is a call of the macro ${../if/concat:/name} itself, the macro shall result in both argument values diff --git a/spec/rtems/basedefs/req/concat-1.yml b/spec/rtems/basedefs/req/concat-1.yml index 3cac3c9d..400f3e97 100644 --- a/spec/rtems/basedefs/req/concat-1.yml +++ b/spec/rtems/basedefs/req/concat-1.yml @@ -2,15 +2,15 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/concat -non-functional-type: interface rationale: | There should be no additional character before, between or after the arguments in the result. references: [] -requirement-type: non-functional +requirement-type: functional text: | The macro ${../if/concat:/name} shall result in only those characters which also appear in its argument values. diff --git a/spec/rtems/basedefs/req/concat-2.yml b/spec/rtems/basedefs/req/concat-2.yml index aa2c03fd..17b7f164 100644 --- a/spec/rtems/basedefs/req/concat-2.yml +++ b/spec/rtems/basedefs/req/concat-2.yml @@ -2,13 +2,13 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/concat -non-functional-type: interface rationale: null references: [] -requirement-type: non-functional +requirement-type: functional text: | The macro ${../if/concat:/name} shall make its result subject to C pre-processor operations. diff --git a/spec/rtems/basedefs/req/const-0.yml b/spec/rtems/basedefs/req/const-0.yml index 9cb637ac..427c7691 100644 --- a/spec/rtems/basedefs/req/const-0.yml +++ b/spec/rtems/basedefs/req/const-0.yml @@ -2,13 +2,13 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/const -non-functional-type: interface rationale: null references: [] -requirement-type: non-functional +requirement-type: functional text: | When the code is compiled with the GNU C compiler, and the ${../if/const:/name} macro is attached to a diff --git a/spec/rtems/basedefs/req/container-of-0.yml b/spec/rtems/basedefs/req/container-of-0.yml index ed46bb69..e0939c39 100644 --- a/spec/rtems/basedefs/req/container-of-0.yml +++ b/spec/rtems/basedefs/req/container-of-0.yml @@ -2,13 +2,13 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/container-of -non-functional-type: interface rationale: null references: [] -requirement-type: non-functional +requirement-type: functional text: | When argument ${../if/container-of:/params[0]/name} points to a member field of a structure or union or C++ class, diff --git a/spec/rtems/basedefs/req/declare-global-symbol-0.yml b/spec/rtems/basedefs/req/declare-global-symbol-0.yml index d936b206..079a89c6 100644 --- a/spec/rtems/basedefs/req/declare-global-symbol-0.yml +++ b/spec/rtems/basedefs/req/declare-global-symbol-0.yml @@ -2,14 +2,14 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/declare-global-symbol -non-functional-type: interface rationale: | See also ${../if/define-global-symbol:/name}. references: [] -requirement-type: non-functional +requirement-type: functional text: | When the macro ${../if/declare-global-symbol:/name} appears at file scope, and argument ${../if/declare-global-symbol:/params[0]/name} after undergoing diff --git a/spec/rtems/basedefs/req/deconst-0.yml b/spec/rtems/basedefs/req/deconst-0.yml index 44ba13ec..2f574243 100644 --- a/spec/rtems/basedefs/req/deconst-0.yml +++ b/spec/rtems/basedefs/req/deconst-0.yml @@ -2,13 +2,13 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/deconst -non-functional-type: interface rationale: null references: [] -requirement-type: non-functional +requirement-type: functional text: | When ${../if/deconst:/params[0]/name} is a non-const pointer type, and ${../if/deconst:/params[1]/name} is a pointer to a value of const type, diff --git a/spec/rtems/basedefs/req/define-global-symbol-0.yml b/spec/rtems/basedefs/req/define-global-symbol-0.yml index 325deff3..493d80e9 100644 --- a/spec/rtems/basedefs/req/define-global-symbol-0.yml +++ b/spec/rtems/basedefs/req/define-global-symbol-0.yml @@ -2,15 +2,15 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/define-global-symbol -non-functional-type: interface rationale: | See also ${../if/declare-global-symbol:/name}. *File scope* excludes for example a placement in a function body. references: [] -requirement-type: non-functional +requirement-type: functional text: | When the macro ${../if/define-global-symbol:/name} appears at file scope, and argument ${../if/define-global-symbol:/params[0]/name} after undergoing diff --git a/spec/rtems/basedefs/req/define-global-symbol-1.yml b/spec/rtems/basedefs/req/define-global-symbol-1.yml index 4ee561f5..eb00f03e 100644 --- a/spec/rtems/basedefs/req/define-global-symbol-1.yml +++ b/spec/rtems/basedefs/req/define-global-symbol-1.yml @@ -2,13 +2,13 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/define-global-symbol -non-functional-type: interface rationale: null references: [] -requirement-type: non-functional +requirement-type: functional text: | The macro ${../if/define-global-symbol:/name} shall define a global symbol of ``void`` pointer type with the value being an address. diff --git a/spec/rtems/basedefs/req/deprecated-0.yml b/spec/rtems/basedefs/req/deprecated-0.yml index d7430d43..2f327a6b 100644 --- a/spec/rtems/basedefs/req/deprecated-0.yml +++ b/spec/rtems/basedefs/req/deprecated-0.yml @@ -2,13 +2,13 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/deprecated -non-functional-type: interface rationale: null references: [] -requirement-type: non-functional +requirement-type: functional text: | When the code is compiled with the GNU C compiler, and the ${../if/deprecated:/name} macro is used as last part of a diff --git a/spec/rtems/basedefs/req/dequalify-0.yml b/spec/rtems/basedefs/req/dequalify-0.yml index 7245dac3..f8b51e3f 100644 --- a/spec/rtems/basedefs/req/dequalify-0.yml +++ b/spec/rtems/basedefs/req/dequalify-0.yml @@ -2,13 +2,13 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/dequalify -non-functional-type: interface rationale: null references: [] -requirement-type: non-functional +requirement-type: functional text: | When ${../if/dequalify:/params[0]/name} is a non-const non-volatile pointer type, diff --git a/spec/rtems/basedefs/req/dequalify-depthx-0.yml b/spec/rtems/basedefs/req/dequalify-depthx-0.yml index 99010fb0..f8b78654 100644 --- a/spec/rtems/basedefs/req/dequalify-depthx-0.yml +++ b/spec/rtems/basedefs/req/dequalify-depthx-0.yml @@ -2,14 +2,14 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/dequalify-depthx -non-functional-type: interface rationale: | ${../if/dequalify-depthx:/name} checks for incompatible pointer types. references: [] -requirement-type: non-functional +requirement-type: functional text: | When the argument value of ${../if/dequalify-depthx:/params[0]/name} consists of a sequence of *i* ``*`` and the types of both other arguments both diff --git a/spec/rtems/basedefs/req/devolatile-0.yml b/spec/rtems/basedefs/req/devolatile-0.yml index ed471fba..ec17a96d 100644 --- a/spec/rtems/basedefs/req/devolatile-0.yml +++ b/spec/rtems/basedefs/req/devolatile-0.yml @@ -2,13 +2,13 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/devolatile -non-functional-type: interface rationale: null references: [] -requirement-type: non-functional +requirement-type: functional text: | When ${../if/devolatile:/params[0]/name} is a non-volatile pointer type, and ${../if/devolatile:/params[1]/name} is a pointer to a value of diff --git a/spec/rtems/basedefs/req/expand-0.yml b/spec/rtems/basedefs/req/expand-0.yml index 07ad1865..683d0504 100644 --- a/spec/rtems/basedefs/req/expand-0.yml +++ b/spec/rtems/basedefs/req/expand-0.yml @@ -2,13 +2,13 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/expand -non-functional-type: interface rationale: null references: [] -requirement-type: non-functional +requirement-type: functional text: | The macro ${../if/expand:/name} shall apply all possible C pre-processor substitutions to its argument value diff --git a/spec/rtems/basedefs/req/false-0.yml b/spec/rtems/basedefs/req/false-0.yml index 1b0c8eb8..af923e1e 100644 --- a/spec/rtems/basedefs/req/false-0.yml +++ b/spec/rtems/basedefs/req/false-0.yml @@ -2,13 +2,13 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/false -non-functional-type: interface rationale: null references: [] -requirement-type: non-functional +requirement-type: functional text: | The macro ${../if/false:/name} shall result in the text 0. type: requirement diff --git a/spec/rtems/basedefs/req/have-member-same-type-0.yml b/spec/rtems/basedefs/req/have-member-same-type-0.yml index f138988e..e8b419b6 100644 --- a/spec/rtems/basedefs/req/have-member-same-type-0.yml +++ b/spec/rtems/basedefs/req/have-member-same-type-0.yml @@ -2,10 +2,10 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/have-member-same-type -non-functional-type: interface rationale: | The ${../if/have-member-same-type:/name} does only work in C. Type qualifiers do not matter (``const int`` is @@ -15,7 +15,7 @@ rationale: | indirection matters (``**int`` is not compatible with ``*int``). See https://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html#index-_005f_005fbuiltin_005ftypes_005fcompatible_005fp references: [] -requirement-type: non-functional +requirement-type: functional text: | When the code is compiled with the GNU C compiler, and argument ${../if/have-member-same-type:/params[0]/name} is a union or diff --git a/spec/rtems/basedefs/req/inline-routine-0.yml b/spec/rtems/basedefs/req/inline-routine-0.yml index 844d5917..db388d93 100644 --- a/spec/rtems/basedefs/req/inline-routine-0.yml +++ b/spec/rtems/basedefs/req/inline-routine-0.yml @@ -2,10 +2,10 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/inline-routine -non-functional-type: interface rationale: | ``inline`` and ``__inline__`` have the same effect at least for the GNU C compiler. ``__inline__`` works even if the GNU C compiler @@ -17,7 +17,7 @@ rationale: | file, consider ``extern inline`` instead (see the compiler documentation). references: [] -requirement-type: non-functional +requirement-type: functional text: | The ${../if/inline-routine:/name} macro shall evaluate to the keywords ``static inline`` or ``static __inline__`` diff --git a/spec/rtems/basedefs/req/malloclike-0.yml b/spec/rtems/basedefs/req/malloclike-0.yml index 6d70bc5f..f5a9aab3 100644 --- a/spec/rtems/basedefs/req/malloclike-0.yml +++ b/spec/rtems/basedefs/req/malloclike-0.yml @@ -2,16 +2,16 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/malloclike -non-functional-type: interface rationale: | Functions like malloc() and calloc() have this property but functions like realloc() do not have this property because the memory it returns may pointer to valid objects. references: [] -requirement-type: non-functional +requirement-type: functional text: | When the code is compiled with the GNU C compiler, and the ${../if/malloclike:/name} macro is used as last part of a diff --git a/spec/rtems/basedefs/req/no-inline-0.yml b/spec/rtems/basedefs/req/no-inline-0.yml index f720c117..6e36bfea 100644 --- a/spec/rtems/basedefs/req/no-inline-0.yml +++ b/spec/rtems/basedefs/req/no-inline-0.yml @@ -2,15 +2,15 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/no-inline -non-functional-type: interface rationale: | If the function has no side effects, it may still be subject to inlining. To avoid this, produce an artificial side effect with ``asm ("");``. references: [] -requirement-type: non-functional +requirement-type: functional text: | When the code is compiled with the GNU C compiler, and the ${../if/no-inline:/name} macro is used as last part of a diff --git a/spec/rtems/basedefs/req/no-return-0.yml b/spec/rtems/basedefs/req/no-return-0.yml index 48b19570..0b49cb5f 100644 --- a/spec/rtems/basedefs/req/no-return-0.yml +++ b/spec/rtems/basedefs/req/no-return-0.yml @@ -2,16 +2,16 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/no-return -non-functional-type: interface rationale: | The GNU C compiler can optimize such a function without regard to what would happen if it ever did return. Declaring a function ${../if/no-return:/name} also avoids spurious warnings of uninitialized variables. references: [] -requirement-type: non-functional +requirement-type: functional text: | When the code is compiled with the GNU C compiler starting at version 2.5 or the ``__cplusplus`` symbol is defined with version ``201103L`` or higher diff --git a/spec/rtems/basedefs/req/noinit-0.yml b/spec/rtems/basedefs/req/noinit-0.yml index b60d0c3a..853e6d7a 100644 --- a/spec/rtems/basedefs/req/noinit-0.yml +++ b/spec/rtems/basedefs/req/noinit-0.yml @@ -2,13 +2,13 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/noinit -non-functional-type: interface rationale: null references: [] -requirement-type: non-functional +requirement-type: functional text: | When the code is compiled with the GNU C compiler, and the ${../if/section:/name} macro is attached to a diff --git a/spec/rtems/basedefs/req/obfuscate-variable-0.yml b/spec/rtems/basedefs/req/obfuscate-variable-0.yml index 19cde26d..653c0ab9 100644 --- a/spec/rtems/basedefs/req/obfuscate-variable-0.yml +++ b/spec/rtems/basedefs/req/obfuscate-variable-0.yml @@ -2,13 +2,13 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/obfuscate-variable -non-functional-type: interface rationale: null references: [] -requirement-type: non-functional +requirement-type: functional text: | When the code is compiled with the GNU C compiler, and argument ${../if/obfuscate-variable:/params[0]/name} diff --git a/spec/rtems/basedefs/req/packed-0.yml b/spec/rtems/basedefs/req/packed-0.yml index 3bccd29a..3c0fa72d 100644 --- a/spec/rtems/basedefs/req/packed-0.yml +++ b/spec/rtems/basedefs/req/packed-0.yml @@ -2,15 +2,15 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/packed -non-functional-type: interface rationale: | Note: The 4.1, 4.2 and 4.3 series of GCC ignore the packed attribute on bit-fields of type char. references: [] -requirement-type: non-functional +requirement-type: functional text: | When the code is compiled with the GNU C compiler, and the ${../if/packed:/name} macro is used as last part of a diff --git a/spec/rtems/basedefs/req/packed-1.yml b/spec/rtems/basedefs/req/packed-1.yml index d3899261..f3bd9794 100644 --- a/spec/rtems/basedefs/req/packed-1.yml +++ b/spec/rtems/basedefs/req/packed-1.yml @@ -2,16 +2,16 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/packed -non-functional-type: interface rationale: | The effect of the ${../if/packed:/name} macro is not propagated into any structure, union or C++ class which is member of the structure, union or C++ class declaration to which the macro is attached. references: [] -requirement-type: non-functional +requirement-type: functional text: | When the code is compiled with the GNU C compiler, and the ${../if/packed:/name} macro is attached to a diff --git a/spec/rtems/basedefs/req/packed-2.yml b/spec/rtems/basedefs/req/packed-2.yml index 24bcf5d9..89e60784 100644 --- a/spec/rtems/basedefs/req/packed-2.yml +++ b/spec/rtems/basedefs/req/packed-2.yml @@ -2,13 +2,13 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/packed -non-functional-type: interface rationale: null references: [] -requirement-type: non-functional +requirement-type: functional text: | When the code is compiled with the GNU C compiler, and the ${../if/packed:/name} macro is attached to a diff --git a/spec/rtems/basedefs/req/predict-false-0.yml b/spec/rtems/basedefs/req/predict-false-0.yml index aa88bc51..59de8c3f 100644 --- a/spec/rtems/basedefs/req/predict-false-0.yml +++ b/spec/rtems/basedefs/req/predict-false-0.yml @@ -2,16 +2,16 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/predict-false -non-functional-type: interface rationale: | Example: ``if ( ${../if/predict-false:/name}( -1 == i ) ) { ... }``. The GNU C compiler uses this information for branch optimization. ``builtin-expect-probability`` defaults to 90%. references: [] -requirement-type: non-functional +requirement-type: functional text: | When the code is compiled with the GNU C compiler, and the ${../if/predict-false:/name} macro is used as a conditional diff --git a/spec/rtems/basedefs/req/predict-true-0.yml b/spec/rtems/basedefs/req/predict-true-0.yml index 6f1aaf95..ec3fdf65 100644 --- a/spec/rtems/basedefs/req/predict-true-0.yml +++ b/spec/rtems/basedefs/req/predict-true-0.yml @@ -2,10 +2,10 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/predict-true -non-functional-type: interface rationale: | Example: ``if ( ${../if/predict-true:/name}( 99 > i ) ) { ... }``. The GNU C compiler uses this information for branch optimization. @@ -14,7 +14,7 @@ rationale: | "the result is 1" not "the result is not 0" as one would expect for ``true``. references: [] -requirement-type: non-functional +requirement-type: functional text: | When the code is compiled with the GNU C compiler, and the ${../if/predict-true:/name} macro is used as a conditional diff --git a/spec/rtems/basedefs/req/printflike-0.yml b/spec/rtems/basedefs/req/printflike-0.yml index de11b9f1..ff5f69da 100644 --- a/spec/rtems/basedefs/req/printflike-0.yml +++ b/spec/rtems/basedefs/req/printflike-0.yml @@ -2,16 +2,16 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/printflike -non-functional-type: interface rationale: | Counting of arguments starts at 1 from the left with the exception of non-static C++ methods where the counting starts with 2 due to the implicit ``this`` argument. references: [] -requirement-type: non-functional +requirement-type: functional text: | When the code is compiled with the GNU C compiler, and the ${../if/printflike:/name} macro is used as last part of a diff --git a/spec/rtems/basedefs/req/printflike-1.yml b/spec/rtems/basedefs/req/printflike-1.yml index c79aad40..c1e23397 100644 --- a/spec/rtems/basedefs/req/printflike-1.yml +++ b/spec/rtems/basedefs/req/printflike-1.yml @@ -2,10 +2,10 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/printflike -non-functional-type: interface rationale: | This case is for functions where the arguments are not available to be checked (such as ``vprintf``). The compiler will only check @@ -15,7 +15,7 @@ rationale: | exception of non-static C++ methods where the counting starts with 2 due to the implicit ``this`` argument. references: [] -requirement-type: non-functional +requirement-type: functional text: | When the code is compiled with the GNU C compiler, and the ${../if/printflike:/name} macro is used as last part of a diff --git a/spec/rtems/basedefs/req/pure-0.yml b/spec/rtems/basedefs/req/pure-0.yml index a878fdcb..414ff58b 100644 --- a/spec/rtems/basedefs/req/pure-0.yml +++ b/spec/rtems/basedefs/req/pure-0.yml @@ -2,13 +2,13 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/pure -non-functional-type: interface rationale: null references: [] -requirement-type: non-functional +requirement-type: functional text: | When the code is compiled with the GNU C compiler, and the ${../if/pure:/name} macro is attached to a diff --git a/spec/rtems/basedefs/req/return-address-0.yml b/spec/rtems/basedefs/req/return-address-0.yml index 863f1d40..c2c97f71 100644 --- a/spec/rtems/basedefs/req/return-address-0.yml +++ b/spec/rtems/basedefs/req/return-address-0.yml @@ -2,10 +2,10 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/return-address -non-functional-type: interface rationale: | From the GNU C compiler documentation: @@ -21,7 +21,7 @@ rationale: | Under these circumstances it is at least difficult to specify what the actual result of this macro is. references: [] -requirement-type: non-functional +requirement-type: functional text: | When the code is compiled with the GNU C compiler, the ${../if/return-address:/name} macro shall evaluate to the diff --git a/spec/rtems/basedefs/req/section-0.yml b/spec/rtems/basedefs/req/section-0.yml index 133069b7..c05a2593 100644 --- a/spec/rtems/basedefs/req/section-0.yml +++ b/spec/rtems/basedefs/req/section-0.yml @@ -2,13 +2,13 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/section -non-functional-type: interface rationale: null references: [] -requirement-type: non-functional +requirement-type: functional text: | When the code is compiled with the GNU C compiler, and the ${../if/section:/name} macro is attached to a diff --git a/spec/rtems/basedefs/req/static-analysis-0.yml b/spec/rtems/basedefs/req/static-analysis-0.yml index 346cf33e..d87021b8 100644 --- a/spec/rtems/basedefs/req/static-analysis-0.yml +++ b/spec/rtems/basedefs/req/static-analysis-0.yml @@ -2,13 +2,13 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/static-analysis -non-functional-type: interface rationale: null references: [] -requirement-type: non-functional +requirement-type: functional text: | When the macro ``__COVERITY__`` is defined, the macro ${../if/static-analysis:/name} shall be defined. diff --git a/spec/rtems/basedefs/req/static-analysis-1.yml b/spec/rtems/basedefs/req/static-analysis-1.yml index ee33b872..bd7cec3d 100644 --- a/spec/rtems/basedefs/req/static-analysis-1.yml +++ b/spec/rtems/basedefs/req/static-analysis-1.yml @@ -2,13 +2,13 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/static-analysis -non-functional-type: interface rationale: null references: [] -requirement-type: non-functional +requirement-type: functional text: | When the macro ``__COVERITY__`` is not defined, the macro ${../if/static-analysis:/name} shall be not defined. diff --git a/spec/rtems/basedefs/req/static-assert-0.yml b/spec/rtems/basedefs/req/static-assert-0.yml index 2bffcbf4..ae1f95fb 100644 --- a/spec/rtems/basedefs/req/static-assert-0.yml +++ b/spec/rtems/basedefs/req/static-assert-0.yml @@ -2,13 +2,13 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/static-assert -non-functional-type: interface rationale: null references: [] -requirement-type: non-functional +requirement-type: functional text: | When the argument ${../if/static-assert:/params[0]/name} after applying all possible C pre-processor substitutions to its diff --git a/spec/rtems/basedefs/req/string-0.yml b/spec/rtems/basedefs/req/string-0.yml index 399a898e..5a72d5d8 100644 --- a/spec/rtems/basedefs/req/string-0.yml +++ b/spec/rtems/basedefs/req/string-0.yml @@ -2,15 +2,15 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/string -non-functional-type: interface rationale: | The exact rules on how this string is build are defined by the C standard and are too complex to be repeated in this requirement. references: [] -requirement-type: non-functional +requirement-type: functional text: | The ${../if/string:/name} macro shall result in a string formed by the C pre-processor ``#`` operator placed before the formal parameter. diff --git a/spec/rtems/basedefs/req/true-0.yml b/spec/rtems/basedefs/req/true-0.yml index a6e69e44..6fd4b865 100644 --- a/spec/rtems/basedefs/req/true-0.yml +++ b/spec/rtems/basedefs/req/true-0.yml @@ -2,13 +2,13 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/true -non-functional-type: interface rationale: null references: [] -requirement-type: non-functional +requirement-type: functional text: | The macro ${../if/true:/name} shall result in the text 1. type: requirement diff --git a/spec/rtems/basedefs/req/typeof-refx-0.yml b/spec/rtems/basedefs/req/typeof-refx-0.yml index 8017776a..3a7dbb0e 100644 --- a/spec/rtems/basedefs/req/typeof-refx-0.yml +++ b/spec/rtems/basedefs/req/typeof-refx-0.yml @@ -2,17 +2,17 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/typeof-refx -non-functional-type: interface rationale: | From the GNU C compiler documentation: The operand of ${../if/typeof-refx:/params[1]/name} is evaluated for its side effects if and only if it is an expression of variably modified type or the name of such a type. references: [] -requirement-type: non-functional +requirement-type: functional text: | When the argument value of ${../if/typeof-refx:/params[0]/name} consists of a sequence of *i* ``*`` and the type of the other argument diff --git a/spec/rtems/basedefs/req/unreachable-0.yml b/spec/rtems/basedefs/req/unreachable-0.yml index 2b4b5039..d50f78eb 100644 --- a/spec/rtems/basedefs/req/unreachable-0.yml +++ b/spec/rtems/basedefs/req/unreachable-0.yml @@ -2,15 +2,15 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/unreachable -non-functional-type: interface rationale: | The use of this macro will suppress some compiler warnings and may permit some compiler optimizations. references: [] -requirement-type: non-functional +requirement-type: functional text: | When the code is compiled with the GNU C compiler, and the ${../if/unreachable:/name} macro is placed in a part of diff --git a/spec/rtems/basedefs/req/unused-0.yml b/spec/rtems/basedefs/req/unused-0.yml index 422ddb2a..b725f297 100644 --- a/spec/rtems/basedefs/req/unused-0.yml +++ b/spec/rtems/basedefs/req/unused-0.yml @@ -2,13 +2,13 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/unused -non-functional-type: interface rationale: null references: [] -requirement-type: non-functional +requirement-type: functional text: | When the code is compiled with the GNU C compiler, and the ${../if/unused:/name} macro is attached to a function definition, diff --git a/spec/rtems/basedefs/req/unused-1.yml b/spec/rtems/basedefs/req/unused-1.yml index 1501c427..ae598667 100644 --- a/spec/rtems/basedefs/req/unused-1.yml +++ b/spec/rtems/basedefs/req/unused-1.yml @@ -2,13 +2,13 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/unused -non-functional-type: interface rationale: null references: [] -requirement-type: non-functional +requirement-type: functional text: | When the code is compiled with the GNU C compiler, and the ${../if/unused:/name} macro is appended to a label in this form: diff --git a/spec/rtems/basedefs/req/unused-2.yml b/spec/rtems/basedefs/req/unused-2.yml index 32e08b12..0edfe064 100644 --- a/spec/rtems/basedefs/req/unused-2.yml +++ b/spec/rtems/basedefs/req/unused-2.yml @@ -2,13 +2,13 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/unused -non-functional-type: interface rationale: null references: [] -requirement-type: non-functional +requirement-type: functional text: | When the code is compiled with the GNU C compiler, and the ${../if/unused:/name} macro is attached to a type diff --git a/spec/rtems/basedefs/req/unused-3.yml b/spec/rtems/basedefs/req/unused-3.yml index b2d2bcb2..bed26981 100644 --- a/spec/rtems/basedefs/req/unused-3.yml +++ b/spec/rtems/basedefs/req/unused-3.yml @@ -2,13 +2,13 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/unused -non-functional-type: interface rationale: null references: [] -requirement-type: non-functional +requirement-type: functional text: | When the code is compiled with the GNU C compiler, and the ${../if/unused:/name} macro is attached to a variable definition, diff --git a/spec/rtems/basedefs/req/used-0.yml b/spec/rtems/basedefs/req/used-0.yml index 7a95a770..08921f7b 100644 --- a/spec/rtems/basedefs/req/used-0.yml +++ b/spec/rtems/basedefs/req/used-0.yml @@ -2,13 +2,13 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/used -non-functional-type: interface rationale: null references: [] -requirement-type: non-functional +requirement-type: functional text: | When the code is compiled with the GNU C compiler, and the ${../if/used:/name} is macro attached to diff --git a/spec/rtems/basedefs/req/warn-unused-result-0.yml b/spec/rtems/basedefs/req/warn-unused-result-0.yml index 4fef4b24..f34fb6eb 100644 --- a/spec/rtems/basedefs/req/warn-unused-result-0.yml +++ b/spec/rtems/basedefs/req/warn-unused-result-0.yml @@ -2,13 +2,13 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/warn-unused-result -non-functional-type: interface rationale: null references: [] -requirement-type: non-functional +requirement-type: functional text: | When the code is compiled with the GNU C compiler, and the ${../if/warn-unused-result:/name} macro is used as last part diff --git a/spec/rtems/basedefs/req/weak-0.yml b/spec/rtems/basedefs/req/weak-0.yml index 3b32ed99..c4180c24 100644 --- a/spec/rtems/basedefs/req/weak-0.yml +++ b/spec/rtems/basedefs/req/weak-0.yml @@ -2,13 +2,13 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/weak -non-functional-type: interface rationale: null references: [] -requirement-type: non-functional +requirement-type: functional text: | When the code is compiled with the GNU C compiler, and the produced target file format is ELF or a.out, diff --git a/spec/rtems/basedefs/req/weak-1.yml b/spec/rtems/basedefs/req/weak-1.yml index b09affc4..7eb35968 100644 --- a/spec/rtems/basedefs/req/weak-1.yml +++ b/spec/rtems/basedefs/req/weak-1.yml @@ -2,16 +2,16 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/weak -non-functional-type: interface rationale: | The other symbol with the same name can possibly be defined in another compilation unit and linked with the compilation unit containing the function or variable defined with ${../if/weak:/name}. references: [] -requirement-type: non-functional +requirement-type: functional text: | When the code is compiled with the GNU C compiler, and the produced target file format is ELF or a.out, diff --git a/spec/rtems/basedefs/req/weak-alias-0.yml b/spec/rtems/basedefs/req/weak-alias-0.yml index 91c9ce03..6e344d8c 100644 --- a/spec/rtems/basedefs/req/weak-alias-0.yml +++ b/spec/rtems/basedefs/req/weak-alias-0.yml @@ -2,13 +2,13 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/weak-alias -non-functional-type: interface rationale: null references: [] -requirement-type: non-functional +requirement-type: functional text: | When the code is compiled with the GNU C compiler, and the produced target file format is ELF or a.out, diff --git a/spec/rtems/basedefs/req/weak-alias-1.yml b/spec/rtems/basedefs/req/weak-alias-1.yml index 12143c89..f22e7e45 100644 --- a/spec/rtems/basedefs/req/weak-alias-1.yml +++ b/spec/rtems/basedefs/req/weak-alias-1.yml @@ -2,17 +2,17 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/weak-alias -non-functional-type: interface rationale: | The other function at global scope with the same name as ``newname`` can possibly be defined in another compilation unit and linked with the compilation unit containing the function defined with ${../if/weak-alias:/name}. references: [] -requirement-type: non-functional +requirement-type: functional text: | When the code is compiled with the GNU C compiler, and the produced target file format is ELF or a.out, diff --git a/spec/rtems/basedefs/req/xconcat-0.yml b/spec/rtems/basedefs/req/xconcat-0.yml index 31b2c9c4..c8b98c84 100644 --- a/spec/rtems/basedefs/req/xconcat-0.yml +++ b/spec/rtems/basedefs/req/xconcat-0.yml @@ -2,16 +2,16 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/xconcat -non-functional-type: interface rationale: | All possible C pre-processor substitutions include here calls to the macro itself as well as none if no substitution is possible. references: [] -requirement-type: non-functional +requirement-type: functional text: | The macro ${../if/xconcat:/name} shall apply all possible C pre-processor substitutions to its argument values diff --git a/spec/rtems/basedefs/req/xconcat-1.yml b/spec/rtems/basedefs/req/xconcat-1.yml index 428e0971..c5a6bf3f 100644 --- a/spec/rtems/basedefs/req/xconcat-1.yml +++ b/spec/rtems/basedefs/req/xconcat-1.yml @@ -2,13 +2,13 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/xconcat -non-functional-type: interface rationale: null references: [] -requirement-type: non-functional +requirement-type: functional text: | The macro ${../if/xconcat:/name} shall result in the substituted argument values textually concatenated diff --git a/spec/rtems/basedefs/req/xconcat-2.yml b/spec/rtems/basedefs/req/xconcat-2.yml index 9538d52f..cd71d3a7 100644 --- a/spec/rtems/basedefs/req/xconcat-2.yml +++ b/spec/rtems/basedefs/req/xconcat-2.yml @@ -2,15 +2,15 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/xconcat -non-functional-type: interface rationale: | There should be no additional character before, between or after the arguments in the result. references: [] -requirement-type: non-functional +requirement-type: functional text: | The macro ${../if/xconcat:/name} shall result in only those characters which also appear in its argument values diff --git a/spec/rtems/basedefs/req/xconcat-3.yml b/spec/rtems/basedefs/req/xconcat-3.yml index 3e80e75f..ac83793e 100644 --- a/spec/rtems/basedefs/req/xconcat-3.yml +++ b/spec/rtems/basedefs/req/xconcat-3.yml @@ -2,13 +2,13 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/xconcat -non-functional-type: interface rationale: null references: [] -requirement-type: non-functional +requirement-type: functional text: | The macro ${../if/xconcat:/name} shall make its result subject to C pre-processor substitutions. diff --git a/spec/rtems/basedefs/req/xstring-0.yml b/spec/rtems/basedefs/req/xstring-0.yml index 92e5d9cd..430fb674 100644 --- a/spec/rtems/basedefs/req/xstring-0.yml +++ b/spec/rtems/basedefs/req/xstring-0.yml @@ -2,15 +2,15 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/xstring -non-functional-type: interface rationale: | The exact rules on how this string is build are defined by the C standard and are too complex to be repeated in this requirement. references: [] -requirement-type: non-functional +requirement-type: functional text: | The macro ${../if/xstring:/name} shall apply all possible C pre-processor substitutions to its argument values before diff --git a/spec/rtems/basedefs/req/zero-length-array-0.yml b/spec/rtems/basedefs/req/zero-length-array-0.yml index ffca761b..9d3b5191 100644 --- a/spec/rtems/basedefs/req/zero-length-array-0.yml +++ b/spec/rtems/basedefs/req/zero-length-array-0.yml @@ -2,10 +2,10 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/zero-length-array -non-functional-type: interface rationale: | From GNU C documentation: @@ -29,7 +29,7 @@ rationale: | that 0 elements). See the documentation of the GNU C compiler below keyword: *arrays of length zero*. references: [] -requirement-type: non-functional +requirement-type: functional text: | When the code is compiled with the GNU C compiler, and the ${../if/zero-length-array:/name} macro is used as diff --git a/spec/rtems/clock/req/get-ticks-per-second.yml b/spec/rtems/clock/req/get-ticks-per-second.yml index f34b82cf..b36cbb4d 100644 --- a/spec/rtems/clock/req/get-ticks-per-second.yml +++ b/spec/rtems/clock/req/get-ticks-per-second.yml @@ -2,13 +2,13 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/get-ticks-per-second -non-functional-type: interface rationale: null references: [] -requirement-type: non-functional +requirement-type: functional text: | The ${../if/get-ticks-per-second:/name} function shall return the number of clock ticks per second which is defined indirectly diff --git a/spec/rtems/clock/req/get-ticks-since-boot.yml b/spec/rtems/clock/req/get-ticks-since-boot.yml index 95c40881..f0b530e3 100644 --- a/spec/rtems/clock/req/get-ticks-since-boot.yml +++ b/spec/rtems/clock/req/get-ticks-since-boot.yml @@ -2,13 +2,13 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/get-ticks-since-boot -non-functional-type: interface rationale: null references: [] -requirement-type: non-functional +requirement-type: functional text: | The ${../if/get-ticks-since-boot:/name} function shall return the number of ${/glossary/clock-tick:/plural} since a diff --git a/spec/rtems/message/req/buffer.yml b/spec/rtems/message/req/buffer.yml index e5ea6580..dda4c0bb 100644 --- a/spec/rtems/message/req/buffer.yml +++ b/spec/rtems/message/req/buffer.yml @@ -2,13 +2,13 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/buffer -non-functional-type: interface rationale: null references: [] -requirement-type: non-functional +requirement-type: functional text: | When argument ${../if/buffer:/params[0]/name} is the size of the largest possible message in bytes diff --git a/spec/rtems/mode/req/masks-all.yml b/spec/rtems/mode/req/masks-all.yml index 8acf5f6a..b9e8cebf 100644 --- a/spec/rtems/mode/req/masks-all.yml +++ b/spec/rtems/mode/req/masks-all.yml @@ -2,13 +2,13 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/all-mode-masks -non-functional-type: interface rationale: null references: [] -requirement-type: non-functional +requirement-type: functional text: | The bitwise and of a task mode mask constant and ${../if/all-mode-masks:/name} shall be equal to the task mode mask constant. diff --git a/spec/rtems/option/req/default-equals.yml b/spec/rtems/option/req/default-equals.yml index 64093484..dafa27d0 100644 --- a/spec/rtems/option/req/default-equals.yml +++ b/spec/rtems/option/req/default-equals.yml @@ -2,13 +2,13 @@ SPDX-License-Identifier: CC-BY-SA-4.0 copyrights: - Copyright (C) 2021 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true +functional-type: function links: - role: interface-function uid: ../if/default -non-functional-type: interface rationale: null references: [] -requirement-type: non-functional +requirement-type: functional text: | The value of macro ${../if/default:/name} shall be equal to the value of expression ``${../if/wait:/name}``. -- cgit v1.2.3