Mark H Weaver wrote: > Ah, that's good! So perhaps we should just import the relevant gnulib > module and convert all existing uses of SCM_NORETURN to use _Noreturn > instead. What do you think?
I think it'll work; at least, _Noreturn has worked for Gnulib fairly well since we introduced it in summer 2011. > Bruce's proposed workaround would effectively put _Noreturn after the > formal parameter list as well. I guess it would work if _Noreturn > happens to be defined as __attribute__ ((__noreturn__)), but not in the > general case. Yes, that sounds right. If user code employs SCM_NORETURN in that position and you therefore you can't change SCM_NORETURNto mean _Noreturn, it might be simpler to keep SCM_NORETURN the way it is for backwards compatibility. But you can change all its uses in Guile to be _Noreturn at the start of the declaration, where _Noreturn is defined the Gnulib way.