Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
R
riscv-gcc-1
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
riscv-gcc-1
Commits
f8e1d0a1
Commit
f8e1d0a1
authored
Mar 13, 1999
by
Craig Burley
Committed by
Craig Burley
Mar 13, 1999
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix INTEGER*8 conversion bugs
From-SVN: r25746
parent
fe3ab6bd
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
116 additions
and
1 deletions
+116
-1
gcc/f/ChangeLog
+12
-0
gcc/f/bad.def
+2
-0
gcc/f/expr.c
+64
-0
gcc/f/news.texi
+11
-0
gcc/f/target.h
+26
-0
gcc/f/version.c
+1
-1
No files found.
gcc/f/ChangeLog
View file @
f8e1d0a1
Sat Mar 13 17:51:55 1999 Craig Burley <craig@jcb-sc.com>
Fix 19990313-0.f, 19990313-1.f, 19990313-2.f, 19990313-3.f:
* bad.def (FFEBAD_NOCANDO): New error code for internal use only.
* expr.c (ffeexpr_collapse_convert): If FFEBAD_NOCANDO returned
by convertor, just return original expr.
* target.h: Return FFEBAD_NOCANDO for (usually) 64-bit
conversions that aren't yet working properly.
* news.texi: Explain.
* version.c: Bump version.
Sat Mar 13 14:26:55 1999 Craig Burley <craig@jcb-sc.com>
* RELEASE-PREP: New file, lists things to do for a release.
...
...
gcc/f/bad.def
View file @
f8e1d0a1
...
...
@@ -702,6 +702,8 @@ FFEBAD_MSGS1 (FFEBAD_SFUNC_UNUSED, WARN,
"Statement function `%A' defined at %0 is not used")
FFEBAD_MSGS1 (FFEBAD_INTRINSIC_Y2KBAD, WARN,
"Intrinsic `%A', invoked at %0, known to be non-Y2K-compliant [info -f g77 M Y2KBAD]")
FFEBAD_MSGS1 (FFEBAD_NOCANDO, DISASTER,
"Internal compiler error -- cannot perform operation")
#undef INFORM
#undef TRIVIAL
...
...
gcc/f/expr.c
View file @
f8e1d0a1
...
...
@@ -633,6 +633,10 @@ ffeexpr_collapse_convert (ffebld expr, ffelexToken t)
break
;
}
/* If conversion operation is not implemented, return original expr. */
if
(
error
==
FFEBAD_NOCANDO
)
return
expr
;
expr
=
ffebld_new_conter_with_orig
(
ffebld_constant_new_integer1_val
(
ffebld_cu_val_integer1
(
u
)),
expr
);
...
...
@@ -822,6 +826,10 @@ ffeexpr_collapse_convert (ffebld expr, ffelexToken t)
break
;
}
/* If conversion operation is not implemented, return original expr. */
if
(
error
==
FFEBAD_NOCANDO
)
return
expr
;
expr
=
ffebld_new_conter_with_orig
(
ffebld_constant_new_integer2_val
(
ffebld_cu_val_integer2
(
u
)),
expr
);
...
...
@@ -1011,6 +1019,10 @@ ffeexpr_collapse_convert (ffebld expr, ffelexToken t)
break
;
}
/* If conversion operation is not implemented, return original expr. */
if
(
error
==
FFEBAD_NOCANDO
)
return
expr
;
expr
=
ffebld_new_conter_with_orig
(
ffebld_constant_new_integer3_val
(
ffebld_cu_val_integer3
(
u
)),
expr
);
...
...
@@ -1200,6 +1212,10 @@ ffeexpr_collapse_convert (ffebld expr, ffelexToken t)
break
;
}
/* If conversion operation is not implemented, return original expr. */
if
(
error
==
FFEBAD_NOCANDO
)
return
expr
;
expr
=
ffebld_new_conter_with_orig
(
ffebld_constant_new_integer4_val
(
ffebld_cu_val_integer4
(
u
)),
expr
);
...
...
@@ -1317,6 +1333,10 @@ ffeexpr_collapse_convert (ffebld expr, ffelexToken t)
break
;
}
/* If conversion operation is not implemented, return original expr. */
if
(
error
==
FFEBAD_NOCANDO
)
return
expr
;
expr
=
ffebld_new_conter_with_orig
(
ffebld_constant_new_logical1_val
(
ffebld_cu_val_logical1
(
u
)),
expr
);
...
...
@@ -1424,6 +1444,10 @@ ffeexpr_collapse_convert (ffebld expr, ffelexToken t)
break
;
}
/* If conversion operation is not implemented, return original expr. */
if
(
error
==
FFEBAD_NOCANDO
)
return
expr
;
expr
=
ffebld_new_conter_with_orig
(
ffebld_constant_new_logical2_val
(
ffebld_cu_val_logical2
(
u
)),
expr
);
...
...
@@ -1531,6 +1555,10 @@ ffeexpr_collapse_convert (ffebld expr, ffelexToken t)
break
;
}
/* If conversion operation is not implemented, return original expr. */
if
(
error
==
FFEBAD_NOCANDO
)
return
expr
;
expr
=
ffebld_new_conter_with_orig
(
ffebld_constant_new_logical3_val
(
ffebld_cu_val_logical3
(
u
)),
expr
);
...
...
@@ -1638,6 +1666,10 @@ ffeexpr_collapse_convert (ffebld expr, ffelexToken t)
break
;
}
/* If conversion operation is not implemented, return original expr. */
if
(
error
==
FFEBAD_NOCANDO
)
return
expr
;
expr
=
ffebld_new_conter_with_orig
(
ffebld_constant_new_logical4_val
(
ffebld_cu_val_logical4
(
u
)),
expr
);
...
...
@@ -1796,6 +1828,10 @@ ffeexpr_collapse_convert (ffebld expr, ffelexToken t)
break
;
}
/* If conversion operation is not implemented, return original expr. */
if
(
error
==
FFEBAD_NOCANDO
)
return
expr
;
expr
=
ffebld_new_conter_with_orig
(
ffebld_constant_new_real1_val
(
ffebld_cu_val_real1
(
u
)),
expr
);
...
...
@@ -1944,6 +1980,10 @@ ffeexpr_collapse_convert (ffebld expr, ffelexToken t)
break
;
}
/* If conversion operation is not implemented, return original expr. */
if
(
error
==
FFEBAD_NOCANDO
)
return
expr
;
expr
=
ffebld_new_conter_with_orig
(
ffebld_constant_new_real2_val
(
ffebld_cu_val_real2
(
u
)),
expr
);
...
...
@@ -2092,6 +2132,10 @@ ffeexpr_collapse_convert (ffebld expr, ffelexToken t)
break
;
}
/* If conversion operation is not implemented, return original expr. */
if
(
error
==
FFEBAD_NOCANDO
)
return
expr
;
expr
=
ffebld_new_conter_with_orig
(
ffebld_constant_new_real3_val
(
ffebld_cu_val_real3
(
u
)),
expr
);
...
...
@@ -2240,6 +2284,10 @@ ffeexpr_collapse_convert (ffebld expr, ffelexToken t)
break
;
}
/* If conversion operation is not implemented, return original expr. */
if
(
error
==
FFEBAD_NOCANDO
)
return
expr
;
expr
=
ffebld_new_conter_with_orig
(
ffebld_constant_new_real4_val
(
ffebld_cu_val_real4
(
u
)),
expr
);
...
...
@@ -2398,6 +2446,10 @@ ffeexpr_collapse_convert (ffebld expr, ffelexToken t)
break
;
}
/* If conversion operation is not implemented, return original expr. */
if
(
error
==
FFEBAD_NOCANDO
)
return
expr
;
expr
=
ffebld_new_conter_with_orig
(
ffebld_constant_new_complex1_val
(
ffebld_cu_val_complex1
(
u
)),
expr
);
...
...
@@ -2546,6 +2598,10 @@ ffeexpr_collapse_convert (ffebld expr, ffelexToken t)
break
;
}
/* If conversion operation is not implemented, return original expr. */
if
(
error
==
FFEBAD_NOCANDO
)
return
expr
;
expr
=
ffebld_new_conter_with_orig
(
ffebld_constant_new_complex2_val
(
ffebld_cu_val_complex2
(
u
)),
expr
);
...
...
@@ -2694,6 +2750,10 @@ ffeexpr_collapse_convert (ffebld expr, ffelexToken t)
break
;
}
/* If conversion operation is not implemented, return original expr. */
if
(
error
==
FFEBAD_NOCANDO
)
return
expr
;
expr
=
ffebld_new_conter_with_orig
(
ffebld_constant_new_complex3_val
(
ffebld_cu_val_complex3
(
u
)),
expr
);
...
...
@@ -2842,6 +2902,10 @@ ffeexpr_collapse_convert (ffebld expr, ffelexToken t)
break
;
}
/* If conversion operation is not implemented, return original expr. */
if
(
error
==
FFEBAD_NOCANDO
)
return
expr
;
expr
=
ffebld_new_conter_with_orig
(
ffebld_constant_new_complex4_val
(
ffebld_cu_val_complex4
(
u
)),
expr
);
...
...
gcc/f/news.texi
View file @
f8e1d0a1
...
...
@@ -155,6 +155,17 @@ The following information was last updated on @value{last-update-news}:
@itemize
@bullet
@ifclear
USERVISONLY
@item
@code
{
g77
}
no
longer
generates
bad
code
for
assignments
,
or
other
conversions
,
of
@code
{
REAL
}
or
@code
{
COMPLEX
}
constant
expressions
to
type
@code
{
INTEGER
(
KIND
=
2
)}
(
often
referred
to
as
@code
{
INTEGER
*
8
}).
For
example
,
@samp
{
INTEGER
*
8
J
;
J
=
4E10
}
now
works
as
documented
.
@end
ifclear
@ifclear
USERVISONLY
@item
Fix
@code
{
g77
}
so
it
no
longer
crashes
when
compiling
I
/
O
statements
using
keywords
that
define
@code
{
INTEGER
}
values
,
such
as
@samp
{
IOSTAT
=
@var
{
j
}},
...
...
gcc/f/target.h
View file @
f8e1d0a1
...
...
@@ -989,7 +989,11 @@ void *ffetarget_memcpy_ (void *dst, void *src, size_t len);
#define ffetarget_convert_complex1_integer1 ffetarget_convert_complex1_integer
#define ffetarget_convert_complex1_integer2 ffetarget_convert_complex1_integer
#define ffetarget_convert_complex1_integer3 ffetarget_convert_complex1_integer
#ifdef REAL_ARITHMETIC
#define ffetarget_convert_complex1_integer4(res,l) FFEBAD_NOCANDO
#else
#define ffetarget_convert_complex1_integer4 ffetarget_convert_complex1_integer
#endif
#ifdef REAL_ARITHMETIC
#define ffetarget_convert_complex1_real1(res,l) \
((res)->real = (l), \
...
...
@@ -1041,7 +1045,11 @@ void *ffetarget_memcpy_ (void *dst, void *src, size_t len);
#define ffetarget_convert_complex2_integer1 ffetarget_convert_complex2_integer
#define ffetarget_convert_complex2_integer2 ffetarget_convert_complex2_integer
#define ffetarget_convert_complex2_integer3 ffetarget_convert_complex2_integer
#ifdef REAL_ARITHMETIC
#define ffetarget_convert_complex2_integer4(res,l) FFEBAD_NOCANDO
#else
#define ffetarget_convert_complex2_integer4 ffetarget_convert_complex2_integer
#endif
#ifdef REAL_ARITHMETIC
#define ffetarget_convert_complex2_real1(res,l) \
({ REAL_VALUE_TYPE lr; \
...
...
@@ -1111,10 +1119,15 @@ void *ffetarget_memcpy_ (void *dst, void *src, size_t len);
ffetarget_convert_integer1_typeless(res,l)
#define ffetarget_convert_integer4_character1(res,l) \
ffetarget_convert_integer1_character1(res,l)
#ifdef REAL_ARITHMETIC
#define ffetarget_convert_integer4_complex1(res,l) FFEBAD_NOCANDO
#define ffetarget_convert_integer4_complex2(res,l) FFEBAD_NOCANDO
#else
#define ffetarget_convert_integer4_complex1(res,l) \
ffetarget_convert_integer1_complex1(res,l)
#define ffetarget_convert_integer4_complex2(res,l) \
ffetarget_convert_integer1_complex2(res,l)
#endif
#define ffetarget_convert_integer4_hollerith(res,l) \
ffetarget_convert_integer1_hollerith(res,l)
#define ffetarget_convert_integer4_integer1(res,l) (*(res) = (l), FFEBAD)
...
...
@@ -1128,10 +1141,15 @@ void *ffetarget_memcpy_ (void *dst, void *src, size_t len);
ffetarget_convert_integer1_logical1(res,l)
#define ffetarget_convert_integer4_logical4(res,l) \
ffetarget_convert_integer1_logical1(res,l)
#ifdef REAL_ARITHMETIC
#define ffetarget_convert_integer4_real1(res,l) FFEBAD_NOCANDO
#define ffetarget_convert_integer4_real2(res,l) FFEBAD_NOCANDO
#else
#define ffetarget_convert_integer4_real1(res,l) \
ffetarget_convert_integer1_real1(res,l)
#define ffetarget_convert_integer4_real2(res,l) \
ffetarget_convert_integer1_real2(res,l)
#endif
#define ffetarget_convert_integer4_typeless(res,l) \
ffetarget_convert_integer1_typeless(res,l)
#define ffetarget_convert_logical1_character1(res,l) \
...
...
@@ -1238,8 +1256,12 @@ void *ffetarget_memcpy_ (void *dst, void *src, size_t len);
ffetarget_convert_real1_integer1(res,l)
#define ffetarget_convert_real1_integer3(res,l) \
ffetarget_convert_real1_integer1(res,l)
#ifdef REAL_ARITHMETIC
#define ffetarget_convert_real1_integer4(res,l) FFEBAD_NOCANDO
#else
#define ffetarget_convert_real1_integer4(res,l) \
ffetarget_convert_real1_integer1(res,l)
#endif
#define ffetarget_convert_real1_typeless(res,l) \
ffetarget_convert_any_typeless_ ((char *) (res), sizeof(*(res)), l)
#define ffetarget_convert_real1_complex1(res,l) (*(res) = (l).real, FFEBAD)
...
...
@@ -1272,8 +1294,12 @@ void *ffetarget_memcpy_ (void *dst, void *src, size_t len);
ffetarget_convert_real2_integer1(res,l)
#define ffetarget_convert_real2_integer3(res,l) \
ffetarget_convert_real2_integer1(res,l)
#ifdef REAL_ARITHMETIC
#define ffetarget_convert_real2_integer4(res,l) FFEBAD_NOCANDO
#else
#define ffetarget_convert_real2_integer4(res,l) \
ffetarget_convert_real2_integer1(res,l)
#endif
#define ffetarget_convert_real2_typeless(res,l) \
ffetarget_convert_any_typeless_ ((char *) (res), sizeof(*(res)), l)
#define ffetarget_convert_real2_complex1(res,l) \
...
...
gcc/f/version.c
View file @
f8e1d0a1
char
*
ffe_version_string
=
"0.5.24-199903
06
"
;
char
*
ffe_version_string
=
"0.5.24-199903
13
"
;
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment