com.c (type_for_mode): Add explicit braces to avoid ambiguous `else'.

* com.c (type_for_mode): Add explicit braces to avoid ambiguous `else'.
        * expr.c (ffeexpr_type_combine): Likewise.
        (ffeexpr_reduce_): Likewise.
        (ffeexpr_declare_parenthesized_): Likewise.
        * src.c (ffesrc_strcmp_1ns2i): Likewise.
        (ffesrc_strcmp_2c): Likewise.
        (ffesrc_strncmp_2c): Likewise.
        * stb.c (ffestb_halt1_): Likewise.
        (ffestb_R90910_): Likewise.
        (ffestb_R9109_): Likewise.
        * stc.c (ffestc_R544_equiv_): Likewise.
        * std.c (ffestd_subr_copy_easy_): Likewise.
        (ffestd_R1001dump_): Likewise.
        (ffestd_R1001dump_1005_1_): Likewise.
        (ffestd_R1001dump_1005_2_): Likewise.
        (ffestd_R1001dump_1005_3_): Likewise.
        (ffestd_R1001dump_1005_4_): Likewise.
        (ffestd_R1001dump_1005_5_): Likewise.
        (ffestd_R1001dump_1010_2_): Likewise.
        * ste.c (ffeste_R840): Likewise.
        * sts.c (ffests_puttext): Likewise.
        * symbol.c (ffesymbol_check_token_): Likewise.
        * target.c (ffetarget_real1): Likewise.
        (ffetarget_real2): Likewise.

From-SVN: r17884
This commit is contained in:
Kaveh R. Ghazi 1998-02-12 23:18:26 +00:00 committed by Jeff Law
parent c4e8876e9b
commit 567f3d3603
11 changed files with 262 additions and 168 deletions

View File

@ -1,3 +1,39 @@
Fri Feb 13 00:14:56 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* com.c (type_for_mode): Add explicit braces to avoid ambiguous `else'.
* expr.c (ffeexpr_type_combine): Likewise.
(ffeexpr_reduce_): Likewise.
(ffeexpr_declare_parenthesized_): Likewise.
* src.c (ffesrc_strcmp_1ns2i): Likewise.
(ffesrc_strcmp_2c): Likewise.
(ffesrc_strncmp_2c): Likewise.
* stb.c (ffestb_halt1_): Likewise.
(ffestb_R90910_): Likewise.
(ffestb_R9109_): Likewise.
* stc.c (ffestc_R544_equiv_): Likewise.
* std.c (ffestd_subr_copy_easy_): Likewise.
(ffestd_R1001dump_): Likewise.
(ffestd_R1001dump_1005_1_): Likewise.
(ffestd_R1001dump_1005_2_): Likewise.
(ffestd_R1001dump_1005_3_): Likewise.
(ffestd_R1001dump_1005_4_): Likewise.
(ffestd_R1001dump_1005_5_): Likewise.
(ffestd_R1001dump_1010_2_): Likewise.
* ste.c (ffeste_R840): Likewise.
* sts.c (ffests_puttext): Likewise.
* symbol.c (ffesymbol_check_token_): Likewise.
* target.c (ffetarget_real1): Likewise.
(ffetarget_real2): Likewise.
Wed Feb 11 01:44:48 1998 Richard Henderson (rth@cygnus.com)
* com.c (ffecom_ptr_to_expr) [FFEBLD_opARRAYREF]: Do upper - lower

View File

@ -15477,10 +15477,12 @@ type_for_mode (mode, unsignedp)
{
if (((t = ffecom_tree_type[i][j]) != NULL_TREE)
&& (mode == TYPE_MODE (t)))
if ((i == FFEINFO_basictypeINTEGER) && unsignedp)
return ffecom_tree_type[FFEINFO_basictypeHOLLERITH][j];
else
return t;
{
if ((i == FFEINFO_basictypeINTEGER) && unsignedp)
return ffecom_tree_type[FFEINFO_basictypeHOLLERITH][j];
else
return t;
}
}
return 0;

View File

@ -8761,10 +8761,12 @@ ffeexpr_type_combine (ffeinfoBasictype *xnbt, ffeinfoKindtype *xnkt,
else
{ /* The normal stuff. */
if (nbt == lbt)
if (nbt == rbt)
nkt = ffeinfo_kindtype_max (nbt, lkt, rkt);
else
nkt = lkt;
{
if (nbt == rbt)
nkt = ffeinfo_kindtype_max (nbt, lkt, rkt);
else
nkt = lkt;
}
else if (nbt == rbt)
nkt = rkt;
else
@ -10022,26 +10024,30 @@ ffeexpr_reduce_ ()
&& (left_operand->previous->type != FFEEXPR_exprtypeOPERAND_)
&& (left_operand->previous->u.operator.op
== FFEEXPR_operatorSUBTRACT_))
if (left_operand->previous->type == FFEEXPR_exprtypeUNARY_)
ffetarget_integer_bad_magical_precedence (left_operand->token,
left_operand->previous->token,
operator->token);
else
ffetarget_integer_bad_magical_precedence_binary
(left_operand->token,
left_operand->previous->token,
operator->token);
{
if (left_operand->previous->type == FFEEXPR_exprtypeUNARY_)
ffetarget_integer_bad_magical_precedence (left_operand->token,
left_operand->previous->token,
operator->token);
else
ffetarget_integer_bad_magical_precedence_binary
(left_operand->token,
left_operand->previous->token,
operator->token);
}
else
ffetarget_integer_bad_magical (left_operand->token);
}
if ((ffebld_op (expr) == FFEBLD_opCONTER)
&& (ffebld_conter_orig (expr) == NULL)
&& ffebld_constant_is_magical (constnode = ffebld_conter (expr)))
if (submag)
ffetarget_integer_bad_magical_binary (operand->token,
operator->token);
else
ffetarget_integer_bad_magical (operand->token);
{
if (submag)
ffetarget_integer_bad_magical_binary (operand->token,
operator->token);
else
ffetarget_integer_bad_magical (operand->token);
}
ffeexpr_stack_->exprstack = left_operand->previous; /* Pops binary-op
operands off stack. */
ffeexpr_expr_kill_ (left_operand);
@ -17901,13 +17907,15 @@ ffeexpr_declare_parenthesized_ (ffelexToken t, bool maybe_intrin,
case FFEINFO_kindENTITY:
if (ffesymbol_rank (s) == 0)
if (ffesymbol_basictype (s) == FFEINFO_basictypeCHARACTER)
*paren_type = FFEEXPR_parentypeSUBSTRING_;
else
{
bad = TRUE;
*paren_type = FFEEXPR_parentypeANY_;
}
{
if (ffesymbol_basictype (s) == FFEINFO_basictypeCHARACTER)
*paren_type = FFEEXPR_parentypeSUBSTRING_;
else
{
bad = TRUE;
*paren_type = FFEEXPR_parentypeANY_;
}
}
else
*paren_type = FFEEXPR_parentypeARRAY_;
break;
@ -18028,15 +18036,17 @@ ffeexpr_declare_parenthesized_ (ffelexToken t, bool maybe_intrin,
case FFEINFO_kindENTITY:
if (ffesymbol_rank (s) == 0)
if (ffeexpr_stack_->context == FFEEXPR_contextEQUIVALENCE)
*paren_type = FFEEXPR_parentypeEQUIVALENCE_;
else if (ffesymbol_basictype (s) == FFEINFO_basictypeCHARACTER)
*paren_type = FFEEXPR_parentypeSUBSTRING_;
else
{
bad = TRUE;
*paren_type = FFEEXPR_parentypeANY_;
}
{
if (ffeexpr_stack_->context == FFEEXPR_contextEQUIVALENCE)
*paren_type = FFEEXPR_parentypeEQUIVALENCE_;
else if (ffesymbol_basictype (s) == FFEINFO_basictypeCHARACTER)
*paren_type = FFEEXPR_parentypeSUBSTRING_;
else
{
bad = TRUE;
*paren_type = FFEEXPR_parentypeANY_;
}
}
else
*paren_type = FFEEXPR_parentypeARRAY_;
break;

View File

@ -234,10 +234,12 @@ ffesrc_strcmp_1ns2i (ffeCase mcase, const char *var, int len,
c = ffesrc_toupper (c); /* Upcase source. */
d = ffesrc_toupper (*str_ic); /* Upcase InitialCaps char. */
if (c != d)
if ((d != '\0') && (c < d))
return -1;
else
return 1;
{
if ((d != '\0') && (c < d))
return -1;
else
return 1;
}
}
break;
@ -247,10 +249,12 @@ ffesrc_strcmp_1ns2i (ffeCase mcase, const char *var, int len,
c = ffesrc_char_source (*var); /* Transform source. */
d = ffesrc_toupper (*str_ic); /* Transform InitialCaps char. */
if (c != d)
if ((d != '\0') && (c < d))
return -1;
else
return 1;
{
if ((d != '\0') && (c < d))
return -1;
else
return 1;
}
}
break;
@ -260,10 +264,12 @@ ffesrc_strcmp_1ns2i (ffeCase mcase, const char *var, int len,
c = ffesrc_char_source (*var); /* Transform source. */
d = ffesrc_tolower (*str_ic); /* Transform InitialCaps char. */
if (c != d)
if ((d != '\0') && (c < d))
return -1;
else
return 1;
{
if ((d != '\0') && (c < d))
return -1;
else
return 1;
}
}
break;
@ -320,10 +326,12 @@ ffesrc_strcmp_2c (ffeCase mcase, const char *var, const char *str_uc,
{
c = ffesrc_toupper (*var); /* Upcase source. */
if (c != *str_uc)
if ((*str_uc != '\0') && (c < *str_uc))
return -1;
else
return 1;
{
if ((*str_uc != '\0') && (c < *str_uc))
return -1;
else
return 1;
}
}
if (*str_uc == '\0')
return 0;
@ -388,10 +396,12 @@ ffesrc_strncmp_2c (ffeCase mcase, const char *var, const char *str_uc,
{
c = ffesrc_toupper (*var); /* Upcase source. */
if (c != *str_uc)
if (c < *str_uc)
return -1;
else
return 1;
{
if (c < *str_uc)
return -1;
else
return 1;
}
}
return 0;

View File

@ -3773,10 +3773,12 @@ ffestb_halt1_ (ffelexToken ft, ffebld expr, ffelexToken t)
case FFELEX_typeSEMICOLON:
ffesta_confirmed ();
if (!ffesta_is_inhibited ())
if (ffesta_first_kw == FFESTR_firstSTOP)
ffestc_R842 (expr, ft);
else
ffestc_R843 (expr, ft);
{
if (ffesta_first_kw == FFESTR_firstSTOP)
ffestc_R842 (expr, ft);
else
ffestc_R843 (expr, ft);
}
return (ffelexHandler) ffesta_zero (t);
default:
@ -15553,11 +15555,13 @@ ffestb_R90910_ (ffelexToken ft, ffebld expr, ffelexToken t)
case FFELEX_typeCOMMA:
case FFELEX_typeCLOSE_PAREN:
if (expr == NULL)
if (ffestb_local_.read.context == FFEEXPR_contextFILEFORMAT)
ffestp_file.read.read_spec[ffestb_local_.read.ix]
.value_is_label = TRUE;
else
break;
{
if (ffestb_local_.read.context == FFEEXPR_contextFILEFORMAT)
ffestp_file.read.read_spec[ffestb_local_.read.ix]
.value_is_label = TRUE;
else
break;
}
ffestp_file.read.read_spec[ffestb_local_.read.ix].value_present
= TRUE;
ffestp_file.read.read_spec[ffestb_local_.read.ix].value
@ -16169,11 +16173,13 @@ ffestb_R9109_ (ffelexToken ft, ffebld expr, ffelexToken t)
case FFELEX_typeCOMMA:
case FFELEX_typeCLOSE_PAREN:
if (expr == NULL)
if (ffestb_local_.write.context == FFEEXPR_contextFILEFORMAT)
ffestp_file.write.write_spec[ffestb_local_.write.ix]
.value_is_label = TRUE;
else
break;
{
if (ffestb_local_.write.context == FFEEXPR_contextFILEFORMAT)
ffestp_file.write.write_spec[ffestb_local_.write.ix]
.value_is_label = TRUE;
else
break;
}
ffestp_file.write.write_spec[ffestb_local_.write.ix].value_present
= TRUE;
ffestp_file.write.write_spec[ffestb_local_.write.ix].value

View File

@ -8238,16 +8238,18 @@ ffestc_R544_equiv_ (ffebld expr, ffelexToken t)
/* See if symbol has an equivalence object already. */
if (ffesymbol_equiv (s) != NULL)
if (ffestc_local_.equiv.eq == NULL)
ffestc_local_.equiv.eq = ffesymbol_equiv (s); /* New equiv obj. */
else if (ffestc_local_.equiv.eq != ffesymbol_equiv (s))
{
ffestc_local_.equiv.eq = ffeequiv_merge (ffesymbol_equiv (s),
ffestc_local_.equiv.eq,
t);
if (ffestc_local_.equiv.eq == NULL)
ffestc_local_.equiv.ok = FALSE; /* Couldn't merge. */
}
{
if (ffestc_local_.equiv.eq == NULL)
ffestc_local_.equiv.eq = ffesymbol_equiv (s); /* New equiv obj. */
else if (ffestc_local_.equiv.eq != ffesymbol_equiv (s))
{
ffestc_local_.equiv.eq = ffeequiv_merge (ffesymbol_equiv (s),
ffestc_local_.equiv.eq,
t);
if (ffestc_local_.equiv.eq == NULL)
ffestc_local_.equiv.ok = FALSE; /* Couldn't merge. */
}
}
if (ffesymbol_is_save (s))
ffestc_local_.equiv.save = TRUE;

View File

@ -1105,13 +1105,15 @@ ffestd_subr_copy_easy_ (ffestpInquireIx max)
= ffestp_file.inquire.inquire_spec[ix].kw_or_val_present)
&& (stmt->inquire_spec[ix].value_present
= ffestp_file.inquire.inquire_spec[ix].value_present))
if ((stmt->inquire_spec[ix].value_is_label
= ffestp_file.inquire.inquire_spec[ix].value_is_label))
stmt->inquire_spec[ix].u.label
= ffestp_file.inquire.inquire_spec[ix].u.label;
else
stmt->inquire_spec[ix].u.expr
= ffestp_file.inquire.inquire_spec[ix].u.expr;
{
if ((stmt->inquire_spec[ix].value_is_label
= ffestp_file.inquire.inquire_spec[ix].value_is_label))
stmt->inquire_spec[ix].u.label
= ffestp_file.inquire.inquire_spec[ix].u.label;
else
stmt->inquire_spec[ix].u.expr
= ffestp_file.inquire.inquire_spec[ix].u.expr;
}
}
return stmt;
@ -4356,11 +4358,13 @@ ffestd_R1001dump_ (ffests s, ffesttFormatList list)
case FFESTP_formattypeFORMAT:
if (next->u.R1003D.R1004.present)
if (next->u.R1003D.R1004.rtexpr)
ffestd_R1001error_ (next);
else
ffests_printf_1U (s, "%lu",
next->u.R1003D.R1004.u.unsigned_val);
{
if (next->u.R1003D.R1004.rtexpr)
ffestd_R1001error_ (next);
else
ffests_printf_1U (s, "%lu",
next->u.R1003D.R1004.u.unsigned_val);
}
ffests_putc (s, '(');
ffestd_R1001dump_ (s, next->u.R1003D.format);
@ -4387,18 +4391,22 @@ ffestd_R1001dump_1005_1_ (ffests s, ffesttFormatList f, char *string)
assert (!f->u.R1005.R1009.present);
if (f->u.R1005.R1004.present)
if (f->u.R1005.R1004.rtexpr)
ffestd_R1001error_ (f);
else
ffests_printf_1U (s, "%lu", f->u.R1005.R1004.u.unsigned_val);
{
if (f->u.R1005.R1004.rtexpr)
ffestd_R1001error_ (f);
else
ffests_printf_1U (s, "%lu", f->u.R1005.R1004.u.unsigned_val);
}
ffests_puts (s, string);
if (f->u.R1005.R1006.present)
if (f->u.R1005.R1006.rtexpr)
ffestd_R1001error_ (f);
else
ffests_printf_1U (s, "%lu", f->u.R1005.R1006.u.unsigned_val);
{
if (f->u.R1005.R1006.rtexpr)
ffestd_R1001error_ (f);
else
ffests_printf_1U (s, "%lu", f->u.R1005.R1006.u.unsigned_val);
}
}
/* ffestd_R1001dump_1005_2_ -- Dump a particular format
@ -4416,10 +4424,12 @@ ffestd_R1001dump_1005_2_ (ffests s, ffesttFormatList f, char *string)
assert (f->u.R1005.R1006.present);
if (f->u.R1005.R1004.present)
if (f->u.R1005.R1004.rtexpr)
ffestd_R1001error_ (f);
else
ffests_printf_1U (s, "%lu", f->u.R1005.R1004.u.unsigned_val);
{
if (f->u.R1005.R1004.rtexpr)
ffestd_R1001error_ (f);
else
ffests_printf_1U (s, "%lu", f->u.R1005.R1004.u.unsigned_val);
}
ffests_puts (s, string);
@ -4443,10 +4453,12 @@ ffestd_R1001dump_1005_3_ (ffests s, ffesttFormatList f, char *string)
assert (f->u.R1005.R1006.present);
if (f->u.R1005.R1004.present)
if (f->u.R1005.R1004.rtexpr)
ffestd_R1001error_ (f);
else
ffests_printf_1U (s, "%lu", f->u.R1005.R1004.u.unsigned_val);
{
if (f->u.R1005.R1004.rtexpr)
ffestd_R1001error_ (f);
else
ffests_printf_1U (s, "%lu", f->u.R1005.R1004.u.unsigned_val);
}
ffests_puts (s, string);
@ -4481,10 +4493,12 @@ ffestd_R1001dump_1005_4_ (ffests s, ffesttFormatList f, char *string)
assert (f->u.R1005.R1006.present);
if (f->u.R1005.R1004.present)
if (f->u.R1005.R1004.rtexpr)
ffestd_R1001error_ (f);
else
ffests_printf_1U (s, "%lu", f->u.R1005.R1004.u.unsigned_val);
{
if (f->u.R1005.R1004.rtexpr)
ffestd_R1001error_ (f);
else
ffests_printf_1U (s, "%lu", f->u.R1005.R1004.u.unsigned_val);
}
ffests_puts (s, string);
@ -4514,10 +4528,12 @@ ffestd_R1001dump_1005_5_ (ffests s, ffesttFormatList f, char *string)
assert (f->u.R1005.R1006.present);
if (f->u.R1005.R1004.present)
if (f->u.R1005.R1004.rtexpr)
ffestd_R1001error_ (f);
else
ffests_printf_1U (s, "%lu", f->u.R1005.R1004.u.unsigned_val);
{
if (f->u.R1005.R1004.rtexpr)
ffestd_R1001error_ (f);
else
ffests_printf_1U (s, "%lu", f->u.R1005.R1004.u.unsigned_val);
}
ffests_puts (s, string);
@ -4568,10 +4584,12 @@ static void
ffestd_R1001dump_1010_2_ (ffests s, ffesttFormatList f, char *string)
{
if (f->u.R1010.val.present)
if (f->u.R1010.val.rtexpr)
ffestd_R1001error_ (f);
else
ffests_printf_1U (s, "%lu", f->u.R1010.val.u.unsigned_val);
{
if (f->u.R1010.val.rtexpr)
ffestd_R1001error_ (f);
else
ffests_printf_1U (s, "%lu", f->u.R1010.val.u.unsigned_val);
}
ffests_puts (s, string);
}

View File

@ -2905,22 +2905,24 @@ ffeste_R840 (ffebld expr, ffelab neg, ffelab zero, ffelab pos)
ffecom_push_calltemps ();
if (neg == zero)
if (neg == pos)
expand_goto (gzero);
else
{ /* IF (expr.LE.0) THEN GOTO neg/zero ELSE
GOTO pos. */
texpr = ffecom_expr (expr);
texpr = ffecom_2 (LE_EXPR, integer_type_node,
texpr,
convert (TREE_TYPE (texpr),
integer_zero_node));
expand_start_cond (ffecom_truth_value (texpr), 0);
{
if (neg == pos)
expand_goto (gzero);
expand_start_else ();
expand_goto (gpos);
expand_end_cond ();
}
else
{ /* IF (expr.LE.0) THEN GOTO neg/zero ELSE
GOTO pos. */
texpr = ffecom_expr (expr);
texpr = ffecom_2 (LE_EXPR, integer_type_node,
texpr,
convert (TREE_TYPE (texpr),
integer_zero_node));
expand_start_cond (ffecom_truth_value (texpr), 0);
expand_goto (gzero);
expand_start_else ();
expand_goto (gpos);
expand_end_cond ();
}
}
else if (neg == pos)
{ /* IF (expr.NE.0) THEN GOTO neg/pos ELSE GOTO
zero. */

View File

@ -252,19 +252,21 @@ ffests_puttext (ffests s, char *text, ffestsLength length)
newlen = s->len_ + length;
if (newlen > s->max_)
if (s->text_ == NULL)
{
s->max_ = 40;
s->text_ = malloc_new_ksr (s->pool_, "ffests", s->max_);
}
else
{
newmax = s->max_ << 1;
while (newmax < newlen)
newmax <<= 1;
s->text_ = malloc_resize_ksr (s->pool_, s->text_, newmax, s->max_);
s->max_ = newmax;
}
{
if (s->text_ == NULL)
{
s->max_ = 40;
s->text_ = malloc_new_ksr (s->pool_, "ffests", s->max_);
}
else
{
newmax = s->max_ << 1;
while (newmax < newlen)
newmax <<= 1;
s->text_ = malloc_resize_ksr (s->pool_, s->text_, newmax, s->max_);
s->max_ = newmax;
}
}
memcpy (s->text_ + s->len_, text, length);
s->len_ = newlen;

View File

@ -170,10 +170,12 @@ ffesymbol_check_token_ (ffelexToken t, char *c)
}
if (bad != FFEBAD)
if (i >= len)
*c = *(ffelex_token_text (t));
else
*c = *p;
{
if (i >= len)
*c = *(ffelex_token_text (t));
else
*c = *p;
}
return bad;
}

View File

@ -2191,13 +2191,15 @@ ffetarget_real1 (ffetargetReal1 *value, ffelexToken integer,
dotoktxt (exponent);
if (exponent_sign != NULL)
if (ffelex_token_type (exponent_sign) == FFELEX_typePLUS)
*p++ = '+';
else
{
assert (ffelex_token_type (exponent_sign) == FFELEX_typeMINUS);
*p++ = '-';
}
{
if (ffelex_token_type (exponent_sign) == FFELEX_typePLUS)
*p++ = '+';
else
{
assert (ffelex_token_type (exponent_sign) == FFELEX_typeMINUS);
*p++ = '-';
}
}
dotoktxt (exponent_digits);
@ -2275,13 +2277,15 @@ ffetarget_real2 (ffetargetReal2 *value, ffelexToken integer,
dotoktxtexp (exponent);
if (exponent_sign != NULL)
if (ffelex_token_type (exponent_sign) == FFELEX_typePLUS)
*p++ = '+';
else
{
assert (ffelex_token_type (exponent_sign) == FFELEX_typeMINUS);
*p++ = '-';
}
{
if (ffelex_token_type (exponent_sign) == FFELEX_typePLUS)
*p++ = '+';
else
{
assert (ffelex_token_type (exponent_sign) == FFELEX_typeMINUS);
*p++ = '-';
}
}
dotoktxt (exponent_digits);