On 31 Aug 2016, at 11:46, Andy Wingo <wi...@pobox.com> wrote: > On Wed 31 Aug 2016 11:28, Andy Wingo <wi...@pobox.com> writes: > >> On Thu 14 Jul 2016 20:20, Andy Wingo <wi...@pobox.com> writes: >> >>> I think the concerns are: >>> >>> (1) Do inlined definitions get inlined? >>> (2) Are external definitions reified as well? >>> (3) Do we avoid reifying definitions in each compilation unit? >>> (4) Can you dlsym() an inline function? >>> >>> All these answers should be yes. No benchmarking needed, just >>> inspection of the build artifacts under different configurations. >> >> I want to be able to use C11 atomics in Guile, internally. I think >> externally as far as the interface goes we can probably upgrade to C99 >> given that even Emacs uses it these days. I will try to answer these >> four questions with GCC with C89 and C99, and if the answers are good I >> will upgrade to C99 first, for the build. > > Hah! Turns out we have been compiling in GCC's default mode the whole > time, which is gnu11. I suspect many users have been doing that too. > We might as well go ahead and require C99 internally plus the C11 > features we want. Again for the external interface (stdint.h et al) we > can also probably require C99 for Guile 2.2, so that we can use uint32_t > and not scm_t_uint32. > > Andy
Hi, I've sent a patch to use C99 inline in a separate email. It's kind of obvious, but let me know if it makes sense (or not) and I'll write a proper commit message. Regards Daniel