summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorYamaArashi <shadow962@live.com>2016-04-29 04:42:34 -0700
committerYamaArashi <shadow962@live.com>2016-04-29 04:42:34 -0700
commit9ff16a3711a965add995e8d79e86f087cd3e5f6b (patch)
treee40a00ea977357ec51d78c74d288706bf090bc37 /gcc
parentf4e597e460d2627b55836c508a436bed4b60d755 (diff)
make HOST_WIDE_INT not assume 32 bits in rtl.c
Diffstat (limited to 'gcc')
-rwxr-xr-xgcc/machmode.h5
-rwxr-xr-xgcc/rtl.c4
2 files changed, 7 insertions, 2 deletions
diff --git a/gcc/machmode.h b/gcc/machmode.h
index 2c41355..514f16c 100755
--- a/gcc/machmode.h
+++ b/gcc/machmode.h
@@ -31,8 +31,7 @@ Boston, MA 02111-1307, USA. */
#define HOST_WIDE_INT int32_t
#define HOST_WIDE_UINT uint32_t
-/* Provide defaults for the way to print a HOST_WIDE_INT
- in various manners. */
+/* Provide HOST_WIDE_INT format specs. */
#define HOST_WIDE_INT_PRINT_DEC "%" PRId32
@@ -42,6 +41,8 @@ Boston, MA 02111-1307, USA. */
#define HOST_WIDE_INT_PRINT_DOUBLE_HEX "0x%" PRIx32 "%08" PRIx32
+#define HOST_WIDE_INT_SCAN_DEC "%" SCNd32
+
/* Make an enum class that gives all the machine modes. */
#define DEF_MACHMODE(SYM, NAME, TYPE, SIZE, UNIT, WIDER) SYM,
diff --git a/gcc/rtl.c b/gcc/rtl.c
index 64f4428..3a4067c 100755
--- a/gcc/rtl.c
+++ b/gcc/rtl.c
@@ -781,6 +781,10 @@ FILE *infile;
break;
case 'w':
+ read_name(tmp_char, infile);
+ sscanf(tmp_char, HOST_WIDE_INT_SCAN_DEC, &tmp_wide);
+ XWINT(return_rtx, i) = tmp_wide;
+ break;
case 'i':
case 'n':
read_name(tmp_char, infile);