Home | History | Annotate | Download | only in Sema

Lines Matching refs:OpenCL

522     // its address (which is not allowed in OpenCL v1.0 s6.8.a.3).
523 if (getLangOpts().OpenCL) {
662 // OpenCL usually rejects direct accesses to values of 'half' type.
663 if (getLangOpts().OpenCL && !getOpenCLOptions().cl_khr_fp16 &&
1644 // OpenCL v1.1 s6.5.3: a string literal is in the constant address space.
1645 if (getLangOpts().OpenCL) {
3384 } else if (getLangOpts().OpenCL &&
3534 // [OpenCL 1.1 6.11.12] "The vec_step built-in function takes a built-in
3536 // Every built-in scalar type (OpenCL 1.1 6.1.1) is either an arithmetic
3566 // Allow sizeof(void)/alignof(void) as an extension, unless in OpenCL where
3567 // this is an error (OpenCL v1.1 s6.3.k)
3569 unsigned DiagID = S.LangOpts.OpenCL ? diag::err_opencl_sizeof_alignof_type
5879 // OpenCL requires that we convert `true` boolean expressions to -1, but
5909 // In OpenCL, casts between vectors of different types are not allowed.
5910 // (See OpenCL 6.2).
5913 || (getLangOpts().OpenCL &&
5964 // Check for an altivec or OpenCL literal,
5968 if ((getLangOpts().AltiVec || getLangOpts().ZVector || getLangOpts().OpenCL)
6064 // For OpenCL, when the number of initializers is a single value,
6066 if (getLangOpts().OpenCL &&
6159 // OpenCL v1.1 s6.3.i says the condition cannot be a floating point type.
6160 if (S.getLangOpts().OpenCL && CondTy->isFloatingType()) {
6249 // For OpenCL:
6259 // For OpenCL, non-null composite type is returned only for cases 1a and 1b.
6262 // OpenCL cases 1c, 2a, 2b, and 2c.
6268 if (S.getLangOpts().OpenCL) {
6269 // OpenCL v1.1 s6.5 - Conversion between pointers to distinct address
6315 // Cases 1a and 1b for OpenCL.
6326 // For case 1a of OpenCL, S.ImpCastExprToType will not insert bitcast
6419 /// Used when handling the OpenCL conditional operator where the
6422 /// OpenCL v1.1 s6.3.i and s6.11.6 together require that the scalar
6475 /// Used when handling the OpenCL conditional operator where the
6479 /// according to OpenCL v1.1 s6.3.i. Both operands are then converted
6500 // with an OpenCL name. Instead, we just print a description.
6517 /// \brief Return false if this is a valid OpenCL condition vector
6520 // OpenCL v1.1 s6.11.6 says the elements of the vector must be of
6535 /// OpenCL v1.1 s6.11.6 requires that both vector types have the same
6563 /// OpenCL (aka "ternary selection operator", OpenCL v1.1
6578 // result as specified in OpenCL v1.1 s6.3.i.
6587 // OpenCL v1.1 s6.11.6.
6632 // The OpenCL
6634 if (getLangOpts().OpenCL && Cond.get()->getType()->isVectorType())
6667 // OpenCL v2.0 s6.12.5 - Blocks cannot be used as expressions of the ternary
6669 if (getLangOpts().OpenCL &&
7825 /// If the language is OpenCL, we only use conversions that promote scalar
7842 if (S.getLangOpts().OpenCL &&
7848 if (S.getLangOpts().OpenCL &&
7975 // OpenCL V1.1 6.2.6.p1:
7979 if (getLangOpts().OpenCL &&
8206 if (S.getLangOpts().OpenCL && isLHSPointer && isRHSPointer) {
8530 // OpenCL 6.3j: shift values are effectively % word size of LHS (more defined),
8532 if (S.getLangOpts().OpenCL)
8606 /// \brief Return the resulting type when an OpenCL vector is shifted
8611 // OpenCL v1.1 s6.3.j says RHS can be a vector only if LHS is a vector.
8636 // OpenCL v1.1 s6.3.j says that the operands need to be integers.
8650 // OpenCL v1.1 s6.3.j says that for vector types, the operators
8678 if (LangOpts.OpenCL)
8682 // like OpenCL shifts, except that neither the LHS nor the RHS is
9234 // Treat NULL constant as a special case in OpenCL.
9235 if (getLangOpts().OpenCL && !LHSIsNull && !RHSIsNull) {
9517 if (getLangOpts().OpenCL && getLangOpts().OpenCLVersion < 120 &&
9595 // OpenCL v1.1 s6.3.g: The logical operators and (&&), or (||) do
9597 if (Context.getLangOpts().OpenCL &&
10227 } else if(S.getLangOpts().OpenCL && ResType->isVectorType() &&
10229 // OpenCL V1.2 6.3 says dec/inc ops operate on integer vector types.
10377 // OpenCL v1.0 s6.8.a.3: Pointers to functions are not allowed.
10378 if (LangOpts.OpenCL && op->getType()->isFunctionType()) {
10817 if (getLangOpts().OpenCL) {
10831 // OpenCL special types - image, sampler, pipe, and blocks are to be used
11309 if (getLangOpts().OpenCL) {
11313 // OpenCL special types - image, sampler, pipe, and blocks are to be used
11382 if (Context.getLangOpts().OpenCL) {
11383 // OpenCL v1.1 s6.3.f: The bitwise operator not (~) does not operate
11418 } else if (Context.getLangOpts().OpenCL &&
11420 // OpenCL v1.1 6.3.h: The logical operator not (!) does not
11427 if (Context.getLangOpts().OpenCL &&
11429 // OpenCL v1.1 6.3.h: The logical operator not (!) does not
12092 Diag(CaretLoc, diag::err_blocks_disable) << LangOpts.OpenCL;