about summary refs log tree commit diff homepage
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2018-08-21 15:38:38 -0400
committerJune McEnroe <june@causal.agency>2018-08-21 15:38:38 -0400
commita8f4b6f1804e2bc446ef35960a7b0c5e3235e6f9 (patch)
tree6d4f43295b69178aac23b6ac4980140059b130da
parentShrink the torus and rearrange struct Tile (diff)
downloadtorus-a8f4b6f1804e2bc446ef35960a7b0c5e3235e6f9.tar.gz
torus-a8f4b6f1804e2bc446ef35960a7b0c5e3235e6f9.zip
Use alignas rather than attributes
-rw-r--r--torus.h12
1 files changed, 5 insertions, 7 deletions
diff --git a/torus.h b/torus.h
index 4109b89..9e8697c 100644
--- a/torus.h
+++ b/torus.h
@@ -15,15 +15,13 @@
  */
 
 #include <assert.h>
+#include <stdalign.h>
 #include <stdbool.h>
 #include <stddef.h>
 #include <stdint.h>
 #include <stdlib.h>
 #include <time.h>
 
-#define PACKED __attribute__((packed))
-#define ALIGNED(x) __attribute__((aligned(x)))
-
 #define ARRAY_LEN(a) (sizeof(a) / sizeof((a)[0]))
 
 #undef COLOR_BLACK
@@ -64,8 +62,8 @@ struct Meta {
 	uint32_t accessCount;
 };
 
-struct ALIGNED(4096) Tile {
-	char cells[CELL_ROWS][CELL_COLS];
+struct Tile {
+	alignas(4096) char cells[CELL_ROWS][CELL_COLS];
 	uint8_t colors[CELL_ROWS][CELL_COLS];
 	struct Meta meta;
 };
@@ -90,7 +88,7 @@ struct Map {
 };
 
 struct ServerMessage {
-	enum PACKED {
+	enum {
 		SERVER_TILE,
 		SERVER_MOVE,
 		SERVER_PUT,
@@ -120,7 +118,7 @@ struct ServerMessage {
 static const uint8_t CURSOR_NONE = UINT8_MAX;
 
 struct ClientMessage {
-	enum PACKED {
+	enum {
 		CLIENT_MOVE,
 		CLIENT_PUT,
 		CLIENT_MAP,