summary refs log tree commit diff
diff options
context:
space:
mode:
authorMichael Forney <mforney@mforney.org>2019-04-25 11:30:05 -0700
committerQuentin Carbonneaux <quentin@c9x.me>2019-04-26 14:12:08 +0200
commit905575d9e6779d795e3f014e99c76c3189b38283 (patch)
treef233cdbc98d41490baf1d32015be13c0ed4ed64f
parent82f5ba58cf76bc431afe0c738cdcfe1f5998ae95 (diff)
downloadroux-905575d9e6779d795e3f014e99c76c3189b38283.tar.gz
Allow stack allocations larger than SHRT_MAX * 4 bytes
Slots are stored as `int` in Fn, so use the same type in Tmp.

Rearrange the fields in Tmp slightly so that sizeof(Tmp) stays the same
(at least on 64-bit systems).
-rw-r--r--all.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/all.h b/all.h
index 6053a1a..e53e290 100644
--- a/all.h
+++ b/all.h
@@ -279,11 +279,11 @@ struct Alias {
 
 struct Tmp {
 	char name[NString];
-	uint bid; /* id of a defining block */
 	Use *use;
 	uint ndef, nuse;
+	uint bid; /* id of a defining block */
 	uint cost;
-	short slot; /* -1 for unset */
+	int slot; /* -1 for unset */
 	short cls;
 	struct {
 		int r;  /* register or -1 */