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,11 +15477,13 @@ 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;
}
}
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;
}
else if (nbt == rbt)
nkt = rkt;
else
@ -10022,6 +10024,7 @@ 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,
@ -10031,17 +10034,20 @@ ffeexpr_reduce_ ()
(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);
}
ffeexpr_stack_->exprstack = left_operand->previous; /* Pops binary-op
operands off stack. */
ffeexpr_expr_kill_ (left_operand);
@ -17901,6 +17907,7 @@ 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
@ -17908,6 +17915,7 @@ ffeexpr_declare_parenthesized_ (ffelexToken t, bool maybe_intrin,
bad = TRUE;
*paren_type = FFEEXPR_parentypeANY_;
}
}
else
*paren_type = FFEEXPR_parentypeARRAY_;
break;
@ -18028,6 +18036,7 @@ 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)
@ -18037,6 +18046,7 @@ ffeexpr_declare_parenthesized_ (ffelexToken t, bool maybe_intrin,
bad = TRUE;
*paren_type = FFEEXPR_parentypeANY_;
}
}
else
*paren_type = FFEEXPR_parentypeARRAY_;
break;

View File

@ -234,11 +234,13 @@ 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;
}
}
break;
case FFE_caseUPPER:
@ -247,11 +249,13 @@ 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;
}
}
break;
case FFE_caseLOWER:
@ -260,11 +264,13 @@ 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;
}
}
break;
case FFE_caseINITCAP:
@ -320,11 +326,13 @@ 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')
return 0;
return -1;
@ -388,11 +396,13 @@ 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;
}
}
return 0;
case FFE_caseUPPER:

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);
}
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;
}
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;
}
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,6 +8238,7 @@ 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))
@ -8248,6 +8249,7 @@ ffestc_R544_equiv_ (ffebld expr, ffelexToken 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,6 +1105,7 @@ 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
@ -1113,6 +1114,7 @@ ffestd_subr_copy_easy_ (ffestpInquireIx max)
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);
}
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);
}
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);
}
}
/* 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);
}
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);
}
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);
}
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);
}
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);
}
ffests_puts (s, string);
}

View File

@ -2905,6 +2905,7 @@ ffeste_R840 (ffebld expr, ffelab neg, ffelab zero, ffelab pos)
ffecom_push_calltemps ();
if (neg == zero)
{
if (neg == pos)
expand_goto (gzero);
else
@ -2921,6 +2922,7 @@ ffeste_R840 (ffebld expr, ffelab neg, ffelab zero, ffelab pos)
expand_goto (gpos);
expand_end_cond ();
}
}
else if (neg == pos)
{ /* IF (expr.NE.0) THEN GOTO neg/pos ELSE GOTO
zero. */

View File

@ -252,6 +252,7 @@ ffests_puttext (ffests s, char *text, ffestsLength length)
newlen = s->len_ + length;
if (newlen > s->max_)
{
if (s->text_ == NULL)
{
s->max_ = 40;
@ -265,6 +266,7 @@ ffests_puttext (ffests s, char *text, ffestsLength length)
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;
}
return bad;
}

View File

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