Commit a4626a7b by Jerry DeLisle

re PR libfortran/91593 (Implicit enum conversions in libgfortran/io/transfer.c)

2019-10-01  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/91593
	* io/read.c (read_decimal): Cast constant to size_t to turn off
	a bogus warning.
	* io/write.c (btoa_big): Use memset in lieu of setting the null
	byte in a string buffer to turn off a bogus warning.

From-SVN: r276439
parent 8dc7a6f2
2019-10-01 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/91593
* io/read.c (read_decimal): Cast constant to size_t to turn off
a bogus warning.
* io/write.c (btoa_big): Use memset in lieu of setting the null
byte in a string buffer to turn off a bogus warning.
2019-09-28 Jerry DeLisle <jvdelisle@gcc.gnu.org> 2019-09-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/91593 PR libfortran/91593
......
...@@ -638,7 +638,7 @@ read_decimal (st_parameter_dt *dtp, const fnode *f, char *dest, int length) ...@@ -638,7 +638,7 @@ read_decimal (st_parameter_dt *dtp, const fnode *f, char *dest, int length)
/* This is a legacy extension, and the frontend will only allow such cases /* This is a legacy extension, and the frontend will only allow such cases
* through when -fdec-format-defaults is passed. * through when -fdec-format-defaults is passed.
*/ */
if (w == DEFAULT_WIDTH) if (w == (size_t) DEFAULT_WIDTH)
w = default_width_for_integer (length); w = default_width_for_integer (length);
p = read_block_form (dtp, &w); p = read_block_form (dtp, &w);
......
...@@ -1048,8 +1048,6 @@ btoa_big (const char *s, char *buffer, int len, GFC_UINTEGER_LARGEST *n) ...@@ -1048,8 +1048,6 @@ btoa_big (const char *s, char *buffer, int len, GFC_UINTEGER_LARGEST *n)
} }
} }
*q = '\0';
if (*n == 0) if (*n == 0)
return "0"; return "0";
...@@ -1207,6 +1205,9 @@ write_b (st_parameter_dt *dtp, const fnode *f, const char *source, int len) ...@@ -1207,6 +1205,9 @@ write_b (st_parameter_dt *dtp, const fnode *f, const char *source, int len)
char itoa_buf[GFC_BTOA_BUF_SIZE]; char itoa_buf[GFC_BTOA_BUF_SIZE];
GFC_UINTEGER_LARGEST n = 0; GFC_UINTEGER_LARGEST n = 0;
/* Ensure we end up with a null terminated string. */
memset(itoa_buf, '\0', GFC_BTOA_BUF_SIZE);
if (len > (int) sizeof (GFC_UINTEGER_LARGEST)) if (len > (int) sizeof (GFC_UINTEGER_LARGEST))
{ {
p = btoa_big (source, itoa_buf, len, &n); p = btoa_big (source, itoa_buf, len, &n);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment