+ if (!OP_SYMBOL (op)->udChked)
+ {
+ sym_link *type = operandType (op);
+ sym_link *etype = getSpec (type);
+
+ OP_SYMBOL (op)->udChked = 1;
+ /* good place to check if unintialised */
+ if ((IS_TRUE_SYMOP (op) || OP_SYMBOL (op)->isreqv) &&
+ OP_SYMBOL (op)->islocal &&
+ !IS_AGGREGATE (type) &&
+ !IS_FUNC (type) &&
+ ic->op != ADDRESS_OF &&
+ !IS_STATIC (etype))
+ {
+
+ if (bitVectIsZero (op->usesDefs))
+ {
+ OP_SYMBOL (op)->isspilt = 1;
+
+ if (OP_SYMBOL (op)->isreqv &&
+ !OP_SYMBOL (op)->_isparm && SPIL_LOC (op))
+ {
+
+ werror (W_LOCAL_NOINIT,
+ SPIL_LOC (op)->name,
+ ic->filename, ic->lineno);
+ }
+ else
+ {
+
+ werror (W_LOCAL_NOINIT,
+ OP_SYMBOL (op)->name,
+ ic->filename, ic->lineno);
+ }
+ }
+ else
+ {
+ if (ebp->depth && op->usesDefs &&
+ !OP_SYMBOL (op)->_isparm)
+ {
+ /* check non-inits inside loops */
+ useDefLoopCheck (op, ic);
+ }
+ }
+ }