!(- use C99-like macros for printf)
- use [u]int*_t types (autoconf can verify they exist)
!(- abstract Num and Objid out)
!(- default to 64 bit integers)
!(- un-pointerify floating-point numbers (makes no sense on modern hardware))
(configure file is removed due to autoconf working again --wrog)
- - from Rob Leslie <rob@mars.org>
Fix underquoted definition of MOO_ADD_CFLAGS
To stop aclocal from complaining, add m4 quoting to the definition of
MOO_ADD_CFLAGS in configure.in.
- - from Kenny Root <kenny@the-b.org>:
Fix complaints clang has about test code
configure.in was using a test program that implicitly defined exit()
and also used "char *argv" instead of "char **argv"
Change-Id: I4731989bd5199a3bb187fd607cf6a685e0c699d5
- - from wrog <crew@cs.stanford.edu>
Added checks/typedefs for 128-bit integer types
((u)int128_t, HAVE_INT128_T)
- - from wrog <crew@cs.stanford.edu>
fix HAVE_INT32/64_T logic
Prior code would have failed in the case where one needed 'long long'
to get 64-bit ints (i.e., need to define (u)int64_t there as well).
Also, if we're going to declare the (u)int32_t type and all of the
PRI/SCN things ourselves, we should have HAVE_INT32_T #defined
to indicate that's all there now. Likewise for HAVE_INT64_T.
This be useful later.
Also do *not* make !HAVE_INT64_T be an error since we eventually
want to have a viable 32-bit mode.
really need to be sure .h files are not getting multiply included
(I had thought this was already best-practice from the K&R days).
new rules for forming the symbol from the filename:
(1) capitalize each word of the filename,
(2) final 'H' is capitalized
... *unless* the rest of the filename is an initialism (AST, DB)
which would make the resulting symbol all-caps (AST_H, DB_H)
which we do not want (since it might collide with something real)
so use a small 'h' in those cases (AST_h, DB_h)
(3) make sure this preprocessor symbol is used *NOWHERE* else.
--wrog
find_line_number() in decompile.c could sometimes test the
.cached_lineno_vec member of Program objects when the member was
uninitialized and consequently return potentially erroneous results.
So we initialize the member now in new_program() at the same time
.cached_lineno_pc is initialized.