aboutsummaryrefslogtreecommitdiff
path: root/i386-asm.c
diff options
context:
space:
mode:
authorEdmund Grimley Evans <Edmund.Grimley.Evans@gmail.com>2015-11-21 11:23:53 +0000
committerEdmund Grimley Evans <Edmund.Grimley.Evans@gmail.com>2015-11-26 12:40:50 +0000
commit1c2dfa1f4bb162678c293788678f6790514cb7ba (patch)
tree19839532c07194f05bb5dcba8d5846256dd3eb62 /i386-asm.c
parent4886d2c64002cfa616bf68875a1fc66e27854e9a (diff)
downloadtinycc-1c2dfa1f4bb162678c293788678f6790514cb7ba.tar.gz
tinycc-1c2dfa1f4bb162678c293788678f6790514cb7ba.tar.bz2
Change the way struct CStrings are handled.
A CString used to be copied into a token string, which is an int array. On a 64-bit architecture the pointers were misaligned, so ASan gave lots of warnings. On a 64-bit architecture that required memory accesses to be correctly aligned it would not work at all. The CString is now included in CValue instead.
Diffstat (limited to 'i386-asm.c')
-rw-r--r--i386-asm.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/i386-asm.c b/i386-asm.c
index bd0825b..68a7861 100644
--- a/i386-asm.c
+++ b/i386-asm.c
@@ -330,7 +330,7 @@ static void parse_operand(TCCState *s1, Operand *op)
next();
if (tok != TOK_PPNUM)
goto reg_error;
- p = tokc.cstr->data;
+ p = tokc.str.data;
reg = p[0] - '0';
if ((unsigned)reg >= 8 || p[1] != '\0')
goto reg_error;