summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--assembler/gen4asm.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/assembler/gen4asm.h b/assembler/gen4asm.h
index aeb2b9cc..388cc756 100644
--- a/assembler/gen4asm.h
+++ b/assembler/gen4asm.h
@@ -55,6 +55,15 @@ extern long int gen_level;
void yyerror (char *msg);
+#define STRUCT_SIZE_ASSERT(TYPE, SIZE) \
+typedef struct { \
+ char compile_time_assert_ ## TYPE ## _size[ \
+ (sizeof (struct TYPE) == (SIZE)) ? 1 : -1]; \
+ } _ ## TYPE ## SizeCheck
+
+/* ensure nobody changes the size of struct brw_instruction */
+STRUCT_SIZE_ASSERT(brw_instruction, 16);
+
/**
* This structure is the internal representation of directly-addressed
* registers in the parser.