]>
Commit | Line | Data |
---|---|---|
c63539ff ML |
1 | .. |
2 | Copyright 1988-2022 Free Software Foundation, Inc. | |
3 | This is part of the GCC manual. | |
4 | For copying conditions, see the copyright.rst file. | |
5 | ||
6 | .. _architecture-implementation: | |
7 | ||
8 | Architecture | |
9 | ************ | |
10 | ||
11 | * The values or expressions assigned to the macros specified in the | |
12 | headers ``<float.h>``, ``<limits.h>``, and ``<stdint.h>`` | |
13 | (C90, C99 and C11 5.2.4.2, C99 7.18.2, C99 7.18.3, C11 7.20.2, C11 7.20.3). | |
14 | ||
15 | Determined by ABI. | |
16 | ||
17 | * The result of attempting to indirectly access an object with | |
18 | automatic or thread storage duration from a thread other than the one | |
19 | with which it is associated (C11 6.2.4). | |
20 | ||
21 | Such accesses are supported, subject to the same requirements for | |
22 | synchronization for concurrent accesses as for concurrent accesses to | |
23 | any object. | |
24 | ||
25 | * The number, order, and encoding of bytes in any object | |
26 | (when not explicitly specified in this International Standard) (C99 | |
27 | and C11 6.2.6.1). | |
28 | ||
29 | Determined by ABI. | |
30 | ||
31 | * Whether any extended alignments are supported and the contexts | |
32 | in which they are supported (C11 6.2.8). | |
33 | ||
34 | Extended alignments up to 2^{28} (bytes) are supported for | |
35 | objects of automatic storage duration. Alignments supported for | |
36 | objects of static and thread storage duration are determined by the | |
37 | ABI. | |
38 | ||
39 | * Valid alignment values other than those returned by an _Alignof | |
40 | expression for fundamental types, if any (C11 6.2.8). | |
41 | ||
42 | Valid alignments are powers of 2 up to and including 2^{28}. | |
43 | ||
44 | * The value of the result of the ``sizeof`` and ``_Alignof`` | |
45 | operators (C90 6.3.3.4, C99 and C11 6.5.3.4). | |
46 | ||
47 | Determined by ABI. |