/*-----------------------------------------------------------------*/
void
buildLabelRefTable (iCode * ic)
/*-----------------------------------------------------------------*/
void
buildLabelRefTable (iCode * ic)
if (loop->op == GOTO && /* if this is a goto */
loop->next && /* and we have a next one */
loop->next->op == LABEL && /* next one is a label */
if (loop->op == GOTO && /* if this is a goto */
loop->next && /* and we have a next one */
loop->next->op == LABEL && /* next one is a label */
- werror (W_CONTROL_FLOW, loop->filename, loop->lineno);
+ if (!options.lessPedantic) {
+ werror (W_CONTROL_FLOW, loop->filename, loop->lineno);
+ }
loop->prev->next = loop->next;
loop->next->prev = loop->prev;
hTabDeleteItem (&labelRef,
loop->prev->next = loop->next;
loop->next->prev = loop->prev;
hTabDeleteItem (&labelRef,
- werror (W_CONTROL_FLOW, loop->filename, loop->lineno);
+ if (!options.lessPedantic) {
+ werror (W_CONTROL_FLOW, loop->filename, loop->lineno);
+ }
loop->prev->next = loop->next;
loop->next->prev = loop->prev;
hTabDeleteItem (&labelRef,
loop->prev->next = loop->next;
loop->next->prev = loop->prev;
hTabDeleteItem (&labelRef,
((IC_TRUE (loop) && IC_TRUE (loop)->key == IC_LABEL (loop->next)->key) ||
(IC_FALSE (loop) && IC_FALSE (loop)->key == IC_LABEL (loop->next)->key)))
{
((IC_TRUE (loop) && IC_TRUE (loop)->key == IC_LABEL (loop->next)->key) ||
(IC_FALSE (loop) && IC_FALSE (loop)->key == IC_LABEL (loop->next)->key)))
{
-
- werror (W_CONTROL_FLOW, loop->filename, loop->lineno);
+ if (!options.lessPedantic) {
+ werror (W_CONTROL_FLOW, loop->filename, loop->lineno);
+ }
loop->prev->next = loop->next;
loop->next->prev = loop->prev;
hTabDeleteItem (&labelRef,
loop->prev->next = loop->next;
loop->next->prev = loop->prev;
hTabDeleteItem (&labelRef,
case GOTO: /* for a goto statement */
hTabDeleteItem (&labelRef, (IC_LABEL (loop))->key, loop, DELETE_ITEM, NULL);
case GOTO: /* for a goto statement */
hTabDeleteItem (&labelRef, (IC_LABEL (loop))->key, loop, DELETE_ITEM, NULL);