aboutsummaryrefslogtreecommitdiff
path: root/tcc.h
diff options
context:
space:
mode:
authorMichael Matz <matz@suse.de>2016-11-06 05:02:11 +0100
committerMichael Matz <matz@suse.de>2016-12-15 17:49:56 +0100
commit22f5fccc2c06b8f7584b41d981742d2afe153a71 (patch)
tree7086db0ecd652a73158474831bce129dd8f69994 /tcc.h
parent3e77bfb6e9b286bbb53377fb5d7343e58ba34127 (diff)
downloadtinycc-22f5fccc2c06b8f7584b41d981742d2afe153a71.tar.gz
tinycc-22f5fccc2c06b8f7584b41d981742d2afe153a71.tar.bz2
Fix 64bit enums and switch cases
See testcases. We now support 64bit case constants. At the same time also 64bit enum constants on L64 platforms (otherwise the Sym struct isn't large enough for now). The testcase also checks for various cases where sign/zero extension was confused.
Diffstat (limited to 'tcc.h')
-rw-r--r--tcc.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/tcc.h b/tcc.h
index 91eeeeb..7630f4c 100644
--- a/tcc.h
+++ b/tcc.h
@@ -1103,11 +1103,11 @@ ST_FUNC void cstr_reset(CString *cstr);
ST_INLN void sym_free(Sym *sym);
ST_FUNC Sym *sym_push2(Sym **ps, int v, int t, long c);
ST_FUNC Sym *sym_find2(Sym *s, int v);
-ST_FUNC Sym *sym_push(int v, CType *type, int r, int c);
+ST_FUNC Sym *sym_push(int v, CType *type, int r, long c);
ST_FUNC void sym_pop(Sym **ptop, Sym *b, int keep);
ST_INLN Sym *struct_find(int v);
ST_INLN Sym *sym_find(int v);
-ST_FUNC Sym *global_identifier_push(int v, int t, int c);
+ST_FUNC Sym *global_identifier_push(int v, int t, long c);
ST_FUNC void tcc_open_bf(TCCState *s1, const char *filename, int initlen);
ST_FUNC int tcc_open(TCCState *s1, const char *filename);
@@ -1271,7 +1271,7 @@ ST_FUNC void test_lvalue(void);
ST_FUNC void swap(int *p, int *q);
ST_FUNC void vpushi(int v);
ST_FUNC Sym *external_global_sym(int v, CType *type, int r);
-ST_FUNC void vset(CType *type, int r, int v);
+ST_FUNC void vset(CType *type, int r, long v);
ST_FUNC void vswap(void);
ST_FUNC void vpush_global_sym(CType *type, int v);
ST_FUNC void vrote(SValue *e, int n);