diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2014-07-22 07:28:09 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2014-07-22 07:28:09 -0700 |
commit | bf36536c9fa398161b24668ad1c29f12f86556e8 (patch) | |
tree | 04b6d6632d97c12728ee052c99d8a2a8eb34a14c /lib.c | |
parent | f2d83d19a09f68864209cc1568a59be70a7bfdbc (diff) | |
download | txr-bf36536c9fa398161b24668ad1c29f12f86556e8.tar.gz txr-bf36536c9fa398161b24668ad1c29f12f86556e8.tar.bz2 txr-bf36536c9fa398161b24668ad1c29f12f86556e8.zip |
* configure: Add a check, in the case that we cannot make an
executable, whether this is due to being required to use C99.
For instance, the Solaris environment requires compilation
using the C99 dialect if _XOPEN_SOURCE is set to 600 or higher.
* debug.c: When compiling as C99, we have to obey the special
C99 conventions for instantiating inline functions.
* hash.c: Likewise.
* lib.c: Likewise.
* parser.y: Likewise.
* unwind.c: Likewise.
Diffstat (limited to 'lib.c')
-rw-r--r-- | lib.c | 22 |
1 files changed, 22 insertions, 0 deletions
@@ -105,6 +105,28 @@ static val env_list; mem_t *(*oom_realloc)(mem_t *, size_t); +/* C99 inline instantiations. */ +#if __STDC_VERSION__ >= 199901L +loc mkloc_fun(val *ptr, val obj); +cnum tag(val obj); +int is_ptr(val obj); +int is_num(val obj); +int is_chr(val obj); +int is_lit(val obj); +type_t type(val obj); +val auto_str(const wchli_t *str); +val static_str(const wchli_t *str); +wchar_t *litptr(val obj); +val num_fast(cnum n); +mp_int *mp(val bign); +val chr(wchar_t ch); +val eq(val a, val b); +val null(val v); +int null_or_missing_p(val v); +val default_arg(val arg, val dfl); +val default_bool_arg(val arg); +#endif + val identity(val obj) { return obj; |