aboutsummaryrefslogtreecommitdiff
path: root/tccpp.c
diff options
context:
space:
mode:
authorgrischka <grischka>2017-04-25 21:01:54 +0200
committergrischka <grischka>2017-04-25 21:01:54 +0200
commit7acf9aa86275a24b468786d6ea9f308ae33f011c (patch)
tree5bc1c65e4a894185de1d45456d662e7b1297fa25 /tccpp.c
parentfb4f57666cf23aa94d6ef421383013e6a0dc12cc (diff)
downloadtinycc-7acf9aa86275a24b468786d6ea9f308ae33f011c.tar.gz
tinycc-7acf9aa86275a24b468786d6ea9f308ae33f011c.tar.bz2
final adjustments for release
- configure/Makefiles: minor adjustments - build-tcc.bat: add -static to gcc options (avoids libgcc_s*.dll dependency with some mingw versions) - tccpe.c/tcctools.c: eliminate MAX_PATH (not available for cross compilers) - tccasm.c: use uint64_t/strtoull in unary() (unsigned long sometimes is only uint32_t, as always on windows) - tccgen.c: Revert (f077d16c) "tccgen: gen_cast: cast FLOAT to DOUBLE" Was a rather experimental, tentative commit, not really necessary and somewhat ugly too. - cleanup recent osx support: - Makefile/libtcc.c: cleanup copy&paste code - tccpp.c: restore deleted function
Diffstat (limited to 'tccpp.c')
-rw-r--r--tccpp.c32
1 files changed, 31 insertions, 1 deletions
diff --git a/tccpp.c b/tccpp.c
index a27ca42..720115d 100644
--- a/tccpp.c
+++ b/tccpp.c
@@ -1021,8 +1021,38 @@ ST_FUNC void restore_parse_state(ParseState *s)
tokc = s->tokc;
}
-/* token string handling */
+#if 0
+/* return the number of additional 'ints' necessary to store the
+ token */
+static inline int tok_size(const int *p)
+{
+ switch(*p) {
+ /* 4 bytes */
+ case TOK_CINT:
+ case TOK_CUINT:
+ case TOK_CCHAR:
+ case TOK_LCHAR:
+ case TOK_CFLOAT:
+ case TOK_LINENUM:
+ return 1 + 1;
+ case TOK_STR:
+ case TOK_LSTR:
+ case TOK_PPNUM:
+ case TOK_PPSTR:
+ return 1 + ((sizeof(CString) + ((CString *)(p+1))->size + 3) >> 2);
+ case TOK_CDOUBLE:
+ case TOK_CLLONG:
+ case TOK_CULLONG:
+ return 1 + 2;
+ case TOK_CLDOUBLE:
+ return 1 + LDOUBLE_SIZE / 4;
+ default:
+ return 1 + 0;
+ }
+}
+#endif
+/* token string handling */
ST_INLN void tok_str_new(TokenString *s)
{
s->str = NULL;