Lines Matching refs:ty
97 if (t1b.ty == Tclass && tob.ty == Tclass)
128 if (t.ty != Terror && e.type.ty != Terror)
136 //printf("type %p ty %d deco %p\n", type, type.ty, type.deco);
194 Type tx = (tb.ty == Tsarray)
285 if (t.ty == Tpointer)
287 else if (t.ty == Tarray)
289 else if (t.ty == Tsarray)
308 if (typeb.ty != Tpointer || tb.ty != Tpointer)
313 if (t1b.ty == Tpointer && t2b.isintegral() && t1b.equivalent(tb))
320 if (t2b.ty == Tpointer && t1b.isintegral() && t2b.equivalent(tb))
366 TY ty = e.type.toBasetype().ty;
367 TY toty = t.toBasetype().ty;
368 TY oldty = ty;
370 if (m == MATCH.nomatch && t.ty == Tenum)
376 if (tb.ty == Tvoid)
378 toty = tb.ty;
381 switch (ty)
390 ty = Tint32;
394 ty = Tuns32;
424 if (ty == Tuns64 && value & ~0x7FU)
441 if (ty == Tuns64 && value & ~0x7FFFU)
457 if (ty == Tuns32)
460 else if (ty == Tuns64 && value & ~0x7FFFFFFFU)
467 if (ty == Tint32)
497 if (ty == Tpointer && e.type.toBasetype().nextOf().ty == t.toBasetype().nextOf().ty)
552 if (e.type.ty == t.ty && e.type.isTypeStruct() && e.type.isTypeStruct().sym == t.isTypeStruct().sym)
575 if (!e.committed && t.ty == Tpointer && t.nextOf().ty == Tvoid)
578 if (!(e.type.ty == Tsarray || e.type.ty == Tarray || e.type.ty == Tpointer))
581 TY tyn = e.type.nextOf().ty;
586 switch (t.ty)
589 if (e.type.ty == Tsarray)
591 TY tynto = t.nextOf().ty;
619 else if (e.type.ty == Tarray)
621 TY tynto = t.nextOf().ty;
659 switch (tn.ty)
705 if ((tb.ty == Tarray || tb.ty == Tsarray) &&
706 (typeb.ty == Tarray || typeb.ty == Tsarray))
720 if (typen.ty != Tvoid)
749 else if (tb.ty == Tvector && (typeb.ty == Tarray || typeb.ty == Tsarray))
790 if (!(taa && typeb.ty == Taarray))
962 (tb.ty == Tpointer || tb.ty == Tdelegate) && tb.nextOf().ty == Tfunction)
987 typeb.ty == Tpointer && typeb.nextOf().ty == Tfunction &&
988 tb.ty == Tpointer && tb.nextOf().ty == Tfunction)
1016 if (typeb.ty == Tpointer && typeb.nextOf().ty == Tfunction &&
1017 (tb.ty == Tpointer || tb.ty == Tdelegate) && tb.nextOf().ty == Tfunction)
1024 if ((tb.ty == Tdelegate && (f.needThis() || f.isNested())) ||
1025 (tb.ty == Tpointer && !(f.needThis() || f.isNested())))
1050 if (typeb.ty == Tdelegate && tb.ty == Tdelegate)
1204 if (fd.errors || fd.type.ty != Tfunction)
1279 if (ntb.ty == Tarray)
1372 if (tb.ty == Tsarray && typeb.ty == Tarray)
1391 if (tb.ty == Tarray && typeb.equivalent(tb))
1400 if (t1b.ty == Tarray)
1402 if (t1b.ty == Tpointer)
1409 if (t1b.ty == Tsarray && !e.e1.isLvalue())
1421 if (tb.ty == Tpointer && e.e1.op == EXP.string_)
1499 if (tb.ty
1501 if (tb.isintegral() && typeb.ty == Tpointer) // C11 6.3.2.3-6
1503 if (tb.ty == Tpointer && typeb.ty == Tpointer) // C11 6.3.2.3-7
1528 if (t1b.ty == Tsarray)
1584 const(bool) tob_isFV = (tob.ty == Tstruct || tob.ty == Tsarray || tob.ty == Tvector);
1585 const(bool) t1b_isFV = (t1b.ty == Tstruct || t1b.ty == Tsarray || t1b.ty == Tvector);
1588 const(bool) tob_isFR = (tob.ty == Tarray || tob.ty == Tdelegate);
1589 const(bool) t1b_isFR = (t1b.ty == Tarray || t1b.ty == Tdelegate);
1592 const(bool) tob_isR = (tob_isFR || tob.ty == Tpointer || tob.ty == Taarray || tob.ty == Tclass);
1593 const(bool) t1b_isR = (t1b_isFR || t1b.ty == Tpointer || t1b.ty == Taarray || t1b.ty == Tclass);
1596 const(bool) tob_isA = ((tob.isintegral() || tob.isfloating()) && tob.ty != Tvector);
1597 const(bool) t1b_isA = ((t1b.isintegral() || t1b.isfloating()) && t1b.ty != Tvector);
1621 if (t1b.ty == Tclass && tob.ty == Tclass)
1632 else if (tob.ty == Tvector && t1b.ty != Tvector)
1641 else if (tob.ty != Tvector && t1b.ty == Tvector)
1644 if (tob.ty == Tsarray)
1660 if (tob_isA && (t1b_isA || t1b.ty == Tpointer) || t1b_isA && (tob_isA || tob.ty == Tpointer))
1691 if (tob_isFV && (t1b.ty == Tnull || t1b_isR) || t1b_isFV && (tob.ty == Tnull || tob_isR))
1693 if (tob.ty == Tpointer && t1b.ty == Tsarray)
1699 if (tob.ty == Tarray && t1b.ty == Tsarray)
1732 /* For references, any reinterpret casts are allowed to same 'ty' type.
1740 if (tob.ty == t1b.ty && tob_isR && t1b_isR)
1744 if (tob.ty == Tnull && t1b.ty != Tnull)
1747 if (t1b.ty == Tnull && tob.ty != Tnull)
1754 if (tob.ty == Tpointer && t1b.ty == Tarray)
1760 if (tob.ty == Tpointer && t1b.ty == Tdelegate)
1771 if (t1b.ty == Tvoid && tob.ty != Tvoid)
1849 if (!e.committed && t.ty == Tpointer && t.nextOf().ty == Tvoid &&
1881 if (tb.ty == Tdelegate && typeb.ty != Tdelegate)
1903 if (e.committed && tb.ty == Tsarray && typeb.ty == Tarray)
1928 if (tb.ty != Tsarray && tb.ty != Tarray && tb.ty != Tpointer)
1937 if (typeb.ty != Tsarray && typeb.ty != Tarray && typeb.ty != Tpointer)
1959 if (tb.ty == Tsarray)
1976 int tfty = typeb.nextOf().toBasetype().ty;
1977 int ttty = tb.nextOf().toBasetype().ty;
2131 (tb.ty == Tpointer || tb.ty == Tdelegate) && tb.nextOf().ty == Tfunction)
2164 typeb.ty == Tpointer && typeb.nextOf().ty == Tfunction &&
2165 tb.ty == Tpointer && tb.nextOf().ty == Tfunction)
2244 if (tb.ty == Tarray && global.params.useDIP1000 == FeatureState.enabled)
2258 if ((tb.ty == Tarray || tb.ty == Tsarray) &&
2259 (typeb.ty == Tarray || typeb.ty == Tsarray))
2261 if (tb.nextOf().toBasetype().ty == Tvoid && typeb.nextOf().toBasetype().ty != Tvoid)
2265 else if (typeb.ty == Tsarray && typeb.nextOf().toBasetype().ty == Tvoid)
2293 else if (tb.ty == Tpointer && typeb.ty == Tsarray)
2302 else if (tb.ty == Tvector && (typeb.ty == Tarray || typeb.ty == Tsarray))
2307 assert(tbase.ty == Tsarray);
2350 if (tb.ty == Taarray && typeb.ty == Taarray &&
2351 tb.nextOf().toBasetype().ty != Tvoid)
2397 typeb.ty == Tpointer && typeb.nextOf().ty == Tfunction &&
2398 (tb.ty == Tpointer || tb.ty == Tdelegate) && tb.nextOf().ty == Tfunction)
2405 if (tb.ty == Tdelegate)
2472 if (typeb.ty == Tdelegate && tb.ty == Tdelegate)
2550 if (e.type.equals(t) || typeb.ty != Tarray ||
2551 (tb.ty != Tarray && tb.ty != Tsarray))
2556 if (tb.ty == Tarray)
2594 if (t1b.ty == Tsarray)
2596 else if (t1b.ty == Tarray)
2598 else if (t1b.ty == Tpointer)
2666 if (tb.ty == Tarray || tb.ty == Tsarray)
2713 if (t.ty == Tdelegate || t.ty == Tpointer && t.nextOf().ty == Tfunction)
2748 if (t1b.ty == Tpointer && t2b.isintegral())
2762 else if (t2b.ty == Tpointer && t1b.isintegral())
2809 while (e.op == EXP.arrayLiteral && e.type.ty == Tarray && (e.isArrayLiteralExp().elements.dim == 1))
2813 if (other.ty == Tsarray || other.ty == Tarray)
2818 if (other.ty != Tsarray && other.ty != Tarray)
2821 return (e.op == EXP.arrayLiteral && t.ty == Tarray && t.nextOf().ty == Tvoid && e.isArrayLiteralExp().elements.dim == 0);
2891 if ((t1b.ty == Tpointer) != (t2b.ty == Tpointer))
2904 if (op != EXP.question || t1b.ty != t2b.ty && (t1b.isTypeBasic() && t2b.isTypeBasic()))
2906 if (op == EXP.question && t1b.ty.isSomeChar() && t2b.ty.isSomeChar())
2933 t1.ty == Tenum && t2.ty == Tenum &&
2945 const ty = implicitConvCommonTy(t1b.ty, t2b.ty);
2946 if (ty != Terror)
2948 const ty1 = implicitConvTy1(t1b.ty, t2b.ty);
2949 const ty2 = implicitConvTy1(t2b.ty, t1b.ty);
2951 if (t1b.ty == ty1) // if no promotions
2967 return Lret(Type.basic[ty]);
2973 if (t1.ty == Ttuple || t2.ty == Ttuple)
2979 if (t.ty == Tenum)
2984 if ((t1.ty == Tpointer && t2.ty == Tpointer) || (t1.ty == Tdelegate && t2.ty == Tdelegate))
2993 if (t1n.ty == Tvoid) // pointers to void are always compatible
2996 if (t2n.ty == Tvoid)
3005 if (t1n.ty == Tfunction && t2n.ty == Tfunction)
3028 Type tx = (t1.ty == Tdelegate) ? new TypeDelegate(d) : d.pointerTo();
3047 if (t1n.ty == Tclass && t2n.ty == Tclass)
3078 if ((t1.ty == Tsarray || t1.ty == Tarray) && (e2.op == EXP.null_ && t2.ty == Tpointer && t2.nextOf().ty == Tvoid || e2.op == EXP.arrayLiteral && t2.ty == Tsarray && t2.nextOf().ty == Tvoid && t2.isTypeSArray().dim.toInteger() == 0 || isVoidArrayLiteral(e2, t1)))
3090 if ((t2.ty == Tsarray || t2.ty == Tarray) && (e1.op == EXP.null_ && t1.ty == Tpointer && t1.nextOf().ty == Tvoid || e1.op == EXP.arrayLiteral && t1.ty == Tsarray && t1.nextOf().ty == Tvoid && t1.isTypeSArray().dim.toInteger() == 0 || isVoidArrayLiteral(e1, t2)))
3102 if ((t1.ty == Tsarray || t1.ty == Tarray) && (m = t1.implicitConvTo(t2)) != MATCH.nomatch)
3108 if (t1.ty == Tsarray && e2.op == EXP.arrayLiteral && op != EXP.concatenate)
3118 if ((t2.ty == Tsarray || t2.ty == Tarray) && t2.implicitConvTo(t1))
3122 if (t2.ty == Tsarray && e1.op == EXP.arrayLiteral && op != EXP.concatenate)
3127 if ((t1.ty == Tsarray || t1.ty == Tarray || t1.ty == Tpointer) && (t2.ty == Tsarray || t2.ty == Tarray || t2.ty == Tpointer) && t1.nextOf().mod != t2.nextOf().mod)
3144 if (t1.ty == Tpointer)
3149 if (t2.ty == Tpointer)
3157 if (t1.ty == Tclass && t2.ty == Tclass)
3178 if (t1.ty == Tclass || t2.ty == Tclass)
3197 if (t1.ty == Tpointer)
3199 else if (t2.ty == Tpointer)
3223 if (t1.ty == Tclass && t2.ty == Tclass)
3244 else if (t1.ty == Tstruct && t1.isTypeStruct().sym.aliasthis)
3253 else if (t2.ty == Tstruct && t2.isTypeStruct().sym.aliasthis)
3267 if (t1.ty == Tstruct && t2.ty == Tstruct)
3331 if (t1.ty == Tstruct && t1.isTypeStruct().sym.aliasthis)
3342 if (t2.ty == Tstruct && t2.isTypeStruct().sym.aliasthis)
3357 if (t1.ty == Tsarray && t2.ty == Tsarray && e2.implicitConvTo(t1.nextOf().arrayOf()))
3359 if (t1.ty == Tsarray && t2.ty == Tsarray && e1.implicitConvTo(t2.nextOf().arrayOf()))
3362 if (t1.ty == Tvector && t2.ty == Tvector)
3375 if (t1.ty == Tvector && t2.ty != Tvector && e2.implicitConvTo(t1))
3383 if (t2.ty == Tvector && t1.ty != Tvector && e1.implicitConvTo(t2))
3393 if (t1.ty != t2.ty)
3395 if (t1.ty == Tvector || t2.ty == Tvector)
3403 assert(t1.ty == t2.ty);
3417 if (t1.ty == Tnull && t2.ty == Tnull)
3423 if (t2.ty == Tnull && (t1.ty == Tpointer || t1.ty == Taarray || t1.ty == Tarray))
3425 if (t1.ty == Tnull && (t2.ty == Tpointer || t2.ty == Taarray || t2.ty == Tarray))
3432 if (e1.type.ty != Tarray && e1.type.ty != Tsarray && e2.type.ty != Tarray && e2.type.ty != Tsarray)
3491 if (t1.ty == Tarray && isBinArrayOp(op) && isArrayOpOperand(e1))
3506 if (t2.ty == Tarray && isArrayOpOperand(e2))
3535 else if (t2.ty == Tarray && isBinArrayOp(op) && isArrayOpOperand(e2))
3595 if (t1.ty == Tstruct && t2.ty == Tstruct)
3597 else if (t1.ty == Tclass && t2.ty == Tclass)
3599 else if (t1.ty == Taarray && t2.ty == Taarray)
3626 switch (e.type.toBasetype().ty)
3668 switch (ue.e1.type.toBasetype.ty)
3699 if ((t1.ty == Tarray || t1.ty == Tsarray || t1.ty == Tpointer) && t2.ty == t1.ty)