Skip to content

Commit e397391

Browse files
authored
clarify relationship between optional core features and extensions (#523)
1 parent f568385 commit e397391

1 file changed

Lines changed: 17 additions & 16 deletions

File tree

OpenCL_C.txt

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -121,8 +121,8 @@ by the presence of special predefined macros.
121121
IMPORTANT: Feature test macros <<unified-spec, require>> support for OpenCL C
122122
3.0 or newer.
123123

124-
Optional language features are described in this document. They are optional
125-
from OpenCL C 3.0 onwards and therefore are not supported by all
124+
Optional core language features are described in this document. They are
125+
optional from OpenCL C 3.0 onwards and therefore are not supported by all
126126
implementations. When an OpenCL C 3.0 optional feature is supported, an
127127
associated __feature test macro__ will be predefined.
128128

@@ -235,20 +235,21 @@ corresponding optional functionality.
235235
[[extensions]]
236236
=== Extensions
237237

238-
Optional functionality that is not defined in this document is referred to
239-
as extensions. Extensions are described in
240-
<<opencl-extension-spec,the OpenCL Extension Specification>>.
241-
242-
[NOTE]
243-
--
244-
Prior to OpenCL C 3.0 some optional features described in this document were
245-
referred to as optional core features. Their presence could be
246-
indicated by the predefined extension macros. If any of the features has been
247-
an optional extension in earlier OpenCL versions it can still be used as an
248-
extension i.e. the same predefined extension macros are still valid in OpenCL C
249-
3.0 or newer. However, the use of feature macros is preferred whenever
250-
possible.
251-
--
238+
Other optional functionality may be described by language extensions to OpenCL
239+
C. Extensions are described in the <<opencl-extension-spec,OpenCL Extension
240+
Specification>>. When an OpenCL C extension is supported an associated
241+
__extension macro__ will be predefined. Please refer to the OpenCL Extension
242+
Specification for more information about predefined extension macros.
243+
244+
Prior to OpenCL C 3.0, support for some optional core language features was
245+
indicated using predefined extension macros.
246+
247+
When an optional core language feature began as an extension it may have both an
248+
associated feature macro and an associated extension macro. If an optional core
249+
language feature was an optional extension to an earlier version of OpenCL C it
250+
can still be used as an extension, i.e. the same predefined extension macros are
251+
still valid in OpenCL C 3.0 or newer, however the use of feature macros is
252+
preferred whenever possible.
252253

253254
[[supported-data-types]]
254255
== Supported Data Types

0 commit comments

Comments
 (0)