Lines Matching defs:ln

544  * ln	left operand
548 build(op_t op, tnode_t *ln, tnode_t *rn)
557 if (ln == NULL || (mp->m_binary && rn == NULL))
565 ln = cconv(ln);
581 chkcomp(op, ln, rn);
587 ln = promote(op, 0, ln);
602 if (mp->m_tlansiu && ln->tn_op == CON && ln->tn_val->v_ansiu) {
605 ln->tn_val->v_ansiu = 0;
615 balance(op, &ln, &rn);
621 if (!typeok(op, 0, ln, rn))
628 ntn = bldstr(op, ln, rn);
634 ntn = bldincdec(op, ln);
637 ntn = bldamper(ln, 0);
640 ntn = mktnode(STAR, ln->tn_type->t_subt, ln, NULL);
644 ntn = bldplmi(op, ln, rn);
648 ntn = bldshft(op, ln, rn);
651 ntn = bldcol(ln, rn);
665 ntn = bldasgn(op, ln, rn);
669 ntn = mktnode(op, rn->tn_type, ln, rn);
672 rtp = mp->m_logop ? gettyp(INT) : ln->tn_type;
675 ntn = mktnode(op, rtp, ln, rn);
692 if (ln->tn_op == CON ||
702 if (ln->tn_op == CON && (!mp->m_binary || rn->tn_op == CON)) {
710 } else if (op == QUEST && ln->tn_op == CON) {
711 ntn = ln->tn_val->v_quad ? rn->tn_left : rn->tn_right;
770 typeok(op_t op, int arg, tnode_t *ln, tnode_t *rn)
780 if ((ltp = ln->tn_type) == NULL)
817 for (tn=ln; tn->tn_op==CVT && !tn->tn_cast; tn=tn->tn_left)
832 ((lt != STRUCT && lt != UNION) && !ln->tn_lvalue)) {
855 if (!ln->tn_lvalue) {
856 if (ln->tn_op == CVT && ln->tn_cast &&
857 ln->tn_left->tn_op == LOAD) {
873 } else if (!ln->tn_lvalue) {
874 if (ln->tn_op == CVT && ln->tn_cast &&
875 ln->tn_left->tn_op == LOAD) {
893 if (ln->tn_op == NAME && ln->tn_sym->s_reg) {
895 error(113, ln->tn_sym->s_name);
938 if (ln->tn_op != CON) {
941 } else if (ln->tn_val->v_quad < 0) {
950 (ln->tn_op != CON || ln->tn_val->v_quad < 0)) {
961 (ln->tn_op != CON || ln->tn_val->v_quad < 0)) {
1011 if (ln->tn_op == CON && ln->tn_val->v_quad == 0)
1028 ptrcmpok(op, ln, rn);
1058 if (ln->tn_op == CON && ln->tn_val->v_quad == 0)
1099 if (!asgntypok(op, arg, ln, rn))
1127 if (!ln->tn_lvalue) {
1128 if (ln->tn_op == CVT && ln->tn_cast &&
1129 ln->tn_left->tn_op == LOAD) {
1144 if (!modtab[ln->tn_op].m_sideeff)
1145 nulleff(ln);
1178 chkbeop(op, ln, rn);
1180 chkeop2(op, arg, ln, rn);
1182 chkeop1(op, arg, ln, rn);
1189 ptrcmpok(op_t op, tnode_t *ln, tnode_t *rn)
1195 lt = (ltp = ln->tn_type)->t_subt->t_tspec;
1227 asgntypok(op_t op, int arg, tnode_t *ln, tnode_t *rn)
1234 if ((lt = (ltp = ln->tn_type)->t_tspec) == PTR)
1365 chkbeop(op_t op, tnode_t *ln, tnode_t *rn)
1374 if (!(ln->tn_type->t_isenum ||
1384 ((ln->tn_type->t_isenum && rn->tn_type->t_tspec == PTR) ||
1385 (rn->tn_type->t_isenum && ln->tn_type->t_tspec == PTR))) {
1398 chkeop2(op_t op, int arg, tnode_t *ln, tnode_t *rn)
1404 if (ln->tn_type->t_enum != rn->tn_type->t_enum) {
1437 chkeop1(op_t op, int arg, tnode_t *ln, tnode_t *rn)
1456 warning(277, tyname(lbuf, sizeof(lbuf), ln->tn_type),
1461 warning(278, tyname(lbuf, sizeof(lbuf), ln->tn_type),
1466 warning(279, tyname(lbuf, sizeof(lbuf), ln->tn_type),
1471 warning(242, tyname(lbuf, sizeof(lbuf), ln->tn_type),
1482 mktnode(op_t op, type_t *type, tnode_t *ln, tnode_t *rn)
1491 ntn->tn_left = ln;
1495 if (ln->tn_type->t_tspec == PTR) {
1496 t = ln->tn_type->t_subt->t_tspec;
2339 bldstr(op_t op, tnode_t *ln, tnode_t *rn)
2355 nolval = op == POINT && !ln->tn_lvalue;
2358 ln = bldamper(ln, 1);
2359 } else if (ln->tn_type->t_tspec != PTR) {
2360 if (!tflag || !isityp(ln->tn_type->t_tspec))
2362 ln = convert(NOOP, 0, tincref(gettyp(VOID), PTR), ln);
2371 ntn = mktnode(PLUS, tincref(rn->tn_type, PTR), ln, ctn);
2372 if (ln->tn_op == CON)
2391 bldincdec(op_t op, tnode_t *ln)
2395 if (ln == NULL)
2398 if (ln->tn_type->t_tspec == PTR) {
2399 cn = plength(ln->tn_type);
2403 ntn = mktnode(op, ln->tn_type, ln, cn);
2440 bldplmi(op_t op, tnode_t *ln, tnode_t *rn)
2446 if (rn->tn_type->t_tspec == PTR && isityp(ln->tn_type->t_tspec)) {
2447 ntn = ln;
2448 ln = rn;
2452 if (ln->tn_type->t_tspec == PTR && rn->tn_type->t_tspec != PTR) {
2457 ctn = plength(ln->tn_type);
2463 ntn = mktnode(op, ln->tn_type, ln, rn);
2467 if (ln->tn_type->t_tspec != PTR || op != MINUS)
2474 ntn = mktnode(op, tp, ln, rn);
2475 if (ln->tn_op == CON && rn->tn_op == CON)
2477 ctn = plength(ln->tn_type);
2483 ntn = mktnode(op, ln->tn_type, ln, rn);
2493 bldshft(op_t op, tnode_t *ln, tnode_t *rn)
2500 ntn = mktnode(op, ln->tn_type, ln, rn);
2508 bldcol(tnode_t *ln, tnode_t *rn)
2514 lt = ln->tn_type->t_tspec;
2527 rtp = ln->tn_type;
2534 if (ln->tn_type->t_str != rn->tn_type->t_str)
2536 if (incompl(ln->tn_type)) {
2541 rtp = ln->tn_type;
2547 rtp = ln->tn_type;
2550 ln = convert(NOOP, 0, gettyp(pdt), ln);
2554 } else if (lt == PTR && ln->tn_type->t_subt->t_tspec == VOID) {
2557 rtp = ln->tn_type;
2558 mrgqual(&rtp, ln->tn_type, rn->tn_type);
2563 mrgqual(&rtp, ln->tn_type, rn->tn_type);
2573 rtp = ln->tn_type;
2574 mrgqual(&rtp, ln->tn_type, rn->tn_type);
2577 ntn = mktnode(COLON, rtp, ln, rn);
2586 bldasgn(op_t op, tnode_t *ln, tnode_t *rn)
2591 if (ln == NULL || rn == NULL)
2594 lt = ln->tn_type->t_tspec;
2600 ctn = plength(ln->tn_type);
2609 if (rt != lt || ln->tn_type->t_str != rn->tn_type->t_str)
2611 if (incompl(ln->tn_type)) {
2632 (ln->tn_type->t_isfield && rn->tn_op == CON)) {
2633 rn = convert(op, 0, ln->tn_type, rn);
2639 ntn = mktnode(op, ln->tn_type, ln, rn);
3282 tnode_t *ln;
3285 if ((ln = calloc(1, sizeof (tnode_t))) == NULL)
3287 ln->tn_type = tduptyp(tp);
3288 ln->tn_type->t_const = 0;
3289 ln->tn_lvalue = 1;
3290 if (typeok(FARG, n, ln, tn)) {
3294 free(ln);
3509 tnode_t *ln, *rn;
3519 ln = tn->tn_left;
3525 if (ln->tn_op == NAME && (reached || rchflg)) {
3527 setsflg(ln->tn_sym);
3528 setuflg(ln->tn_sym, fcall, szof);
3530 if (ln->tn_op == STAR && ln->tn_left->tn_op == PLUS)
3532 chkaidx(ln->tn_left, 1);
3535 if (ln->tn_op == STAR && ln->tn_left->tn_op == PLUS)
3537 chkaidx(ln->tn_left, 0);
3554 if (ln->tn_op == NAME && (reached || rchflg)) {
3555 sc = ln->tn_sym->s_scl;
3566 !ln->tn_sym->s_set && !szof && di == NULL) {
3568 warning(158, ln->tn_sym->s_name);
3569 setsflg(ln->tn_sym);
3571 setuflg(ln->tn_sym, 0, 0);
3575 if (ln->tn_op == NAME && !szof && (reached || rchflg)) {
3576 setsflg(ln->tn_sym);
3577 if (ln->tn_sym->s_scl == EXTERN)
3578 outusg(ln->tn_sym);
3580 if (ln->tn_op == STAR && ln->tn_left->tn_op == PLUS)
3582 chkaidx(ln->tn_left, 0);
3585 if (ln->tn_op != AMPER || ln->tn_left->tn_op != NAME)
3651 chkmisc(ln, cvctx, ctctx, mp->m_eqwarn, op == CALL, nrvdisc, szof);
3686 tnode_t *ln, *rn;
3690 ln = tn->tn_left;
3698 if (ln->tn_op != AMPER)
3700 if (ln->tn_left->tn_op != STRING && ln->tn_left->tn_op != NAME)
3702 if (ln->tn_left->tn_type->t_tspec != ARRAY)
3709 if (incompl(ln->tn_left->tn_type) && rn->tn_val->v_quad >= 0)
3713 if ((elsz = length(ln->tn_type->t_subt, NULL)) == 0)
3724 dim = ln->tn_left->tn_type->t_dim + (amper ? 1 : 0);
3739 chkcomp(op_t op, tnode_t *ln, tnode_t *rn)
3745 lt = ln->tn_type->t_tspec;
3749 if (ln->tn_op != CON && rn->tn_op != CON)
3762 if ((hflag || pflag) && rt == CHAR && ln->tn_op == CON &&
3763 (ln->tn_val->v_quad < 0 ||
3764 ln->tn_val->v_quad > ~(~0 << (CHAR_BIT - 1)))) {
3773 warning(162, tyname(buf, sizeof(buf), ln->tn_type),
3777 warning(162, tyname(buf, sizeof(buf), ln->tn_type),
3783 ln->tn_op == CON && ln->tn_val->v_quad <= 0) {
3784 if (ln->tn_val->v_quad < 0) {
3916 tnode_t *ln, *rn;
3928 for (ln = tn->tn_left; ln->tn_op == CVT; ln = ln->tn_left)
3929 lparn |= ln->tn_parn;
3930 lparn |= ln->tn_parn;
3931 lop = ln->tn_op;