Fix src/libraries to build on clang 10 (#33734)
Clang 10 enable new warnings, some of which is affecting the
src/libraries code.
Clang 10 has added `-Walloca` to warn about uses of `alloca`. This
commit replaces the only non-compliant use of that with a single fixed
stack-allocated buffer.
Clang 10 has also added `-Wimplicit-int-float-conversion`. This commit
uses explicit casts to double to avoid the warnings.
Fixes #33681
Also contains a small fix for slist.h that was somehow missed in #33096.
After this commit, I can build all of runtime with Clang 10.