diff options
Diffstat (limited to 'spec/rtems/basedefs/req/dequalify-depthx-0.yml')
-rw-r--r-- | spec/rtems/basedefs/req/dequalify-depthx-0.yml | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/spec/rtems/basedefs/req/dequalify-depthx-0.yml b/spec/rtems/basedefs/req/dequalify-depthx-0.yml new file mode 100644 index 00000000..7f86363c --- /dev/null +++ b/spec/rtems/basedefs/req/dequalify-depthx-0.yml @@ -0,0 +1,29 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: requirement-refinement + uid: ../if/dequalify-depthx +non-functional-type: interface +rationale: | + ${../if/dequalify-depthx:/name} checks for incompatible pointer types. +references: [] +requirement-type: non-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 + have *i* nested pointers (for example ``*`` for a pointer to ``int``, + ``**`` for a pointer to a pointer of ``int``, ``***`` for a pointer to + a pointer to a pointer to ``int``), + and ${../if/dequalify-depthx:/params[1]/name} is a pointer type with + different (compared to the type of + ${../if/dequalify-depthx:/params[2]/name}) qualifiers + (such as ``const`` or ``volatile``) or the same qualifiers or + without any qualifiers, + and the types of ${../if/dequalify-depthx:/params[1]/name} and + ${../if/dequalify-depthx:/params[2]/name} are compatible in the sense of C, + the macro ${../if/dequalify-depthx:/name} shall result in an expression + which returns a pointer of type ${../if/dequalify-depthx:/params[1]/name} + pointing to the same address as ${../if/dequalify-depthx:/params[2]/name}. +type: requirement |