Standards.PKCS.CSR: Added CRI and sign_cri().
sprintf: typo in compile time type of %b
bitvector.h: dead code removal, some optimizations
allocator: add some function attributes
whitespace: removed extra escape
compiler: do not generate F_LOOKUP_LFUN for fake lfuns
Added some more type checking functions to the Pike module.

The efuns __soft_cast(), __low_check_call(), __get_return_type(),
__get_first_arg_type() and __get_type_attributes() are now all
available in the Pike module (without their '__' prefixes), and
documented as belonging there.
Graphics.Graph: Fixed some infinite loops.

The step when assigning the axis lables could be smaller than the
mantissa allows, which caused infinite cpu and memory consumption.

This state is now detected and the loops terminated.

Fixes [LysLysKOM 20708162].
Nano-optimization: Do not call strlen twice

This optimizes string += int and string += float minimally.
It is probably not even detectable.
Do not depend on the old pcre_info function

Interrestingly enough this file already used the fullinfo method.

It returns the same information as pcre_info, although there is a
single switch statement in it which might make it microscopically
slower.
Silenced some compiler warnings.

One minor actual but very unimportant fix:

The backend wakeup callback could fail to read the data
from the wkeup pipe if it received a very well (for values
of well) timed signal.

However, the only effect would be that the backend is
immediately woken up again the next time it is started,
and clear the pipe buffer then instead.
Silence gcc warnings by needlessly initializing a rgb_group
Fixed warnings by not using deprecated functions.

This makes g_type_char consistent on x86 and ppc as an example.
Fixed function signature for random_func_wrapper.

This actually changes the calling conventions, and on stack
based machines it could make a significant difference if
size_t and unsigned int does not have the same bytesize.
Moved things that are never used outside cpp.c from cpp.h
The query_X_callback functions are never added as functions in the low level file
Removed private static tagged prototypes

They are not very useful outside of the .c file where they are
defined.
Moved the UNLIKELY/LIKELY macros to global.h, and use a real configure test
Added some more warnings by default, and test for some more builtins.

The __builtin_expect is now tested for together with the other
builtins, which makes it available when compiling with clang.

This helps the index_shared_string function be significantly faster
when indexing narrow shared strings (which is assumed to be most
common).

Of course, if you generally speaking index more wide strings than
shared strings it's slower.

Then again, it you have "medium" wide strings (2 bytes per character)
the performance is identical (both gcc and clang had the tests in
2,1,0 order).
Added a simple way to indicate that an argument is not used to the precompiler

This is rather ugly, just name the variable UNUSED. It should probably
be changed to be identical to the C-level UNUSED macro.

This can be used to skip the initialization and checking of said
argument in the generated code (the current "syntax" has one feature:

It will still work in old precompilers, it will just define a variable
named UNUSED)