Skip to content

Commit 2ad25c0

Browse files
lenarycmuellner
authored andcommitted
Address Feedback
1 parent 1f5d95e commit 2ad25c0

File tree

1 file changed

+31
-33
lines changed

1 file changed

+31
-33
lines changed

src/c-api.adoc

Lines changed: 31 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -152,31 +152,6 @@ For example:
152152
|`+__riscv_cmodel_large+` |1 |Defined if using `large` code model.
153153
|===
154154

155-
[id=unstable_preprocessor_definitions]
156-
=== Unstable Preprocessor Definitions
157-
158-
The following preprocessor definitions should be treated as unstable, and not
159-
relied upon by the public interfaces in your code. They may be changed by new
160-
compiler versions, compiler options, or on a per-processor basis.
161-
162-
.Unstable Preprocessor Definitions
163-
[cols="30,~"]
164-
|===
165-
|*Name* |*Description*
166-
|`+__GCC_CONSTRUCTIVE_SIZE+` |The maximum recommended size of contiguous memory occupied by two objects accessed with temporal locality by concurrent threads.
167-
|`+__GCC_DESTRUCTIVE_SIZE+` |The minimum recommended offset between two concurrently-accessed objects to avoid additional performance degradation due to contention introduced by the implementation.
168-
|`+INT_FASTN_WIDTH+` |Bit width of an object of type `+int_fastN_t+`
169-
|`+INT_FASTN_MIN+` |Minimum value of an object of type `+int_fastN_t+`
170-
|`+INT_FASTN_MAX+` |Maximum value of an object of type `+int_fastN_t+`
171-
|`+INT_LEASTN_WIDTH+` |Bit width of an object of type `+int_leastN_t+`
172-
|`+INT_LEASTN_MIN+` |Minimum value of an object of type `+int_leastN_t+`
173-
|`+INT_LEASTN_MAX+` |Maximum value of an object of type `+int_leastN_t+`
174-
|`+UINT_FASTN_WIDTH+` |Bit width of an object of type `+uint_fastN_t+`
175-
|`+UINT_FASTN_MAX+` |Maximum value of an object of type `+uint_fastN_t+`
176-
|`+UINT_LEASTN_WIDTH+` |Bit width of an object of type `+uint_leastN_t+`
177-
|`+UINT_LEASTN_MAX+` |Maximum value of an object of type `+uint_leastN_t+`
178-
|===
179-
180155
=== Deprecated Preprocessor Definitions
181156

182157
.fn-1: footnote:[Not all compilers provide `-mno-div` and `-mno-fdiv` option.]
@@ -195,17 +170,40 @@ compiler versions, compiler options, or on a per-processor basis.
195170
|`+__riscv_compressed+` |1 |`C` extension is available. | `+__riscv_c+`
196171
|===
197172

198-
== C Types
173+
== Non-Interoperable Types and Definitions
174+
175+
There are several implementation-defined C/C++ types and constants that are
176+
usually implemented in RISC-V implementations. The types and constants in this
177+
section should not be relied upon by public interfaces in your code. Their
178+
definitions may be changed by new compiler versions, compiler options, or on a
179+
per-processor basis.
199180

200-
Most C type sizes and alignments are defined by the ABI.
181+
[id=non_interoperable_constants]
182+
.Non-Interoperable C/C++ Constants
183+
[cols="30,~"]
184+
|===
185+
|*Name* |*Description*
186+
|`+std::hardware_constructive_interference_size+` |The maximum recommended size of contiguous memory occupied by two objects accessed with temporal locality by concurrent threads.
187+
|`+std::hardware_destructive_interference_size+` |The minimum recommended offset between two concurrently-accessed objects to avoid additional performance degradation due to contention introduced by the implementation.
188+
|`+INT_FASTN_WIDTH+` |Bit width of an object of type `+int_fastN_t+`
189+
|`+INT_FASTN_MIN+` |Minimum value of an object of type `+int_fastN_t+`
190+
|`+INT_FASTN_MAX+` |Maximum value of an object of type `+int_fastN_t+`
191+
|`+INT_LEASTN_WIDTH+` |Bit width of an object of type `+int_leastN_t+`
192+
|`+INT_LEASTN_MIN+` |Minimum value of an object of type `+int_leastN_t+`
193+
|`+INT_LEASTN_MAX+` |Maximum value of an object of type `+int_leastN_t+`
194+
|`+UINT_FASTN_WIDTH+` |Bit width of an object of type `+uint_fastN_t+`
195+
|`+UINT_FASTN_MAX+` |Maximum value of an object of type `+uint_fastN_t+`
196+
|`+UINT_LEASTN_WIDTH+` |Bit width of an object of type `+uint_leastN_t+`
197+
|`+UINT_LEASTN_MAX+` |Maximum value of an object of type `+uint_leastN_t+`
198+
|===
201199

202-
=== Unstable C Type Sizes and Alignments
200+
=== Non-Interoperable Types
203201

204-
The following type sizes and alignments should be treated as unstable, and not
205-
relied upon by the public interfaces in your code. They may be changed by new
206-
compiler versions, compiler options, or on a per-processor basis.
202+
Most C type sizes and alignments are defined by the ABI. The following types
203+
should not be relied upon by public interfaces in your code. Their sizes and
204+
alignments are not fixed.
207205

208-
.Unstable Type Sizes and Alignments
206+
.Non-Interoperable Types
209207
[cols="30,~"]
210208
|===
211209
|*Type* |*Description*
@@ -215,7 +213,7 @@ compiler versions, compiler options, or on a per-processor basis.
215213
|`+uint_leastN_t+` |Smallest unsigned integer types with widths of at least `+N+` bits.
216214
|===
217215

218-
The corresponding Macro constants are also unstable (see <<unstable_preprocessor_definitions, Unstable Preprocessor Definitions>>).
216+
The corresponding constants are also unstable (see <<non_interoperable_constants, Non-Interoperable Constants>>).
219217

220218
== Function Attributes
221219

0 commit comments

Comments
 (0)