summaryrefslogtreecommitdiffstats
path: root/spec/rtems/basedefs/req/alloc-size-2-0.yml
blob: fb4c7e9bc7a2e8df5b8c889920f77b80aa681787 (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
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/alloc-size-2
rationale: null
references: []
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
  function declaration,
  and ${../if/alloc-size-2:/params[0]/name} as well as
  ${../if/alloc-size-2:/params[1]/name} are constant numbers
  referring to two different arguments of that function
  (counting of arguments starts at 1 from the left),
  and the declared function returns a pointer to memory with the size in bytes
  provided by the multiplication of the function arguments
  number ${../if/alloc-size-2:/params[0]/name} and
  ${../if/alloc-size-2:/params[1]/name},
  the macro shall cause the compiler to improve the correctness of
  ``__builtin_object_sizepointer`` analysis.
type: requirement