Merge commit '722771973bd' into patches/lyslyskom22891031
* commit '722771973bd': (6177 commits)
Verify that callablep responses are aligned with reality.
Merge commit '2470270f500c728d10b8895314d8d8b07016e37b' into grubba/typechecker-automap
* commit '2470270f500c728d10b8895314d8d8b07016e37b': (18681 commits)
Removed the old typechecker.
Merge remote-tracking branch 'origin/master' into new_utf8
Merge remote-tracking branch 'origin/8.1' into gobject-introspection
Build: Support compilation with compilers other than gcc again.
Replaced all uses of __attribute__((unused)) with PIKE_ATTRIBUTE_UNUSED.
build: more fixes for windows.
Save all of 64 bytes.
Build: Reduce complaint about unused functions.
We don't care if inline functions defined in the header files aren't
used in all files that include them...
Reduces the number of build warnings to reasonable levels.
allocator: add some function attributes
sprintf: do not pre-allocate space for temporary buffer allocation
sprintf: do not use alloca
This commit replaces alloca in sprintf by a simple heap allocator. This
fixes a stack corruption bug which occurs when using certain compilers
(e.g. msvc). The problem occurs when alloca and longjmp are used from
within the same frame.
Merge branch '8.0' into gobject-introspection
Do not use alloca in sprintf
this is an attempt to fix a stack corruption bug which occurs in pike
versions compiled with msvc. the bug appears to be triggered by using
both setjmp and alloca in the same frame. even though sprintf does not
directly jump, its calling va_error, which does. in this patch alloca is
replaced by a simple temporary allocator.