From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Kaveh R. Ghazi" To: egcs@cygnus.com Subject: egcs-980214, possible bug in loop.c, revealed by -W -Wall Date: Tue, 17 Feb 1998 14:10:00 -0000 Message-id: <199802172038.PAA04370@caip.rutgers.edu> X-SW-Source: 1998-02/msg00830.html I got one of those ambiguous `else' warnings from loop.c: > loop.c: In function `rtx_equal_for_loop_p': > loop.c:1485: warning: suggest explicit braces to avoid ambiguous `else' The code in question looks like this: > /* If we have a register and a constant, they may sometimes be > equal. */ > if (GET_CODE (x) == REG && n_times_set[REGNO (x)] == -2 > && CONSTANT_P (y)) > for (m = movables; m; m = m->next) > if (m->move_insn && m->regno == REGNO (x) > && rtx_equal_p (m->set_src, y)) > return 1; > > else if (GET_CODE (y) == REG && n_times_set[REGNO (y)] == -2 > && CONSTANT_P (x)) > for (m = movables; m; m = m->next) > if (m->move_insn && m->regno == REGNO (y) > && rtx_equal_p (m->set_src, x)) > return 1; It looks to me like either the indentation of the else-if is wrong, or the code is in serious need of disambiguating braces. Would someone who knows the code please verify? Thanks, --Kaveh -- Kaveh R. Ghazi Project Manager / Custom Development ghazi@caip.rutgers.edu ICon CMT Corp.