summaryrefslogtreecommitdiffstats
path: root/spec/rtems/basedefs/req/weak-1.yml
blob: 71d0b485d93658e5f0121fe6f48810cba3c514c9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
SPDX-License-Identifier: CC-BY-SA-4.0
copyrights:
- Copyright (C) 2020 embedded brains GmbH & Co. KG
enabled-by: true
functional-type: function
links:
- role: interface-function
  uid: ../if/weak
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: functional
text: |
  When the code is compiled with the GNU C compiler,
  and the produced target file format is ELF or a.out,
  and the ${../if/weak:/name} macro is part of a function definition
  at global scope or variable definition at global scope,
  and there is another symbol at global scope with the same name as the above
  mentioned function or variable,
  and this other symbol is not defined with the ${../if/weak:/name} macro or
  otherwise defined or declared ``weak``,
  and both functions or variables have the same type,
  and in case of variables both variables have the same alignment and
  storage size,
  the macro shall cause the code to behave as if the function or variable
  defined with the ${../if/weak:/name} macro does not exist.
type: requirement