summaryrefslogtreecommitdiffstats
path: root/spec/rtems/basedefs/req/weak-alias-0.yml
diff options
context:
space:
mode:
Diffstat (limited to 'spec/rtems/basedefs/req/weak-alias-0.yml')
-rw-r--r--spec/rtems/basedefs/req/weak-alias-0.yml28
1 files changed, 28 insertions, 0 deletions
diff --git a/spec/rtems/basedefs/req/weak-alias-0.yml b/spec/rtems/basedefs/req/weak-alias-0.yml
new file mode 100644
index 00000000..2d0de8b2
--- /dev/null
+++ b/spec/rtems/basedefs/req/weak-alias-0.yml
@@ -0,0 +1,28 @@
+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/weak-alias
+non-functional-type: interface
+rationale: null
+references: []
+requirement-type: non-functional
+text: |
+ When the code is compiled with the GNU C compiler,
+ and the produced target file format is ELF or a.out,
+ and argument ${../if/weak-alias:/params[0]/name} is a name of a function,
+ and the macro ${../if/weak-alias:/name} call is in the same compilation unit
+ as the function,
+ and the macro is not used in block scope,
+ and the macro is used in this form:
+ ``<return-type> newname([argument-type-list]) ${../if/weak-alias:/name}(oldname)``;,
+ and the ``<return-type>`` and ``argument-type-list`` match the
+ signature of the function ``oldname``,
+ and there is no other function symbol at global scope with the same name as
+ ``newname``,
+ the ${../if/weak-alias:/name} macro shall cause the compiler to create
+ an additional name (``newname`` in the syntax) for the function
+ given as argument ${../if/weak-alias:/params[0]/name}.
+type: requirement