On Tue, Aug 13, 2024 at 8:17 AM Ilija Tovilo <tovilo.il...@gmail.com> wrote: > > Hi Levi > > On Mon, Aug 12, 2024 at 5:56 PM Levi Morrison > <levi.morri...@datadoghq.com> wrote: > > > > Given the timetable, I wouldn't change the C std requirements for 8.4. > > Just to state it officially: You object to switching to C11 in 8.4? In > that case, we'll have to postpone.
I don't object. I think it's smarter to wait, and do more than just redeclare a few typedefs. But I won't block it. > > I would stop relying on the typedef and forward declare only the > > struct, and that. Note that although Windows supports C11, it does not > > support all features including atomics. Someone chimed in to say that > > they are available, but this doesn't match the information I got from > > a coworker who did a similar test. Given conflicting information and > > the short timetable, I think we should lean towards being cautious. I > > hope for 8.5/9.0 we can move to C11/C17 which can improve the typedef > > situation, simplify our atomics handling, and more. > > I'm a bit confused about the relevance of C11 atomics. As I'm sure > you're aware, they remain optional in C17/C23. So, we'll need to > support a fallback, my suggestion was not to remove the fallback. > > Essentially, code-wise, nothing would change if we adopt C11, except > being allowed to redeclare typedefs. Apart from that, only the > documentation would change. If only documentation changes, then I think the risk is lower. We definitely should not be doing configure checks in 8.4 with how little time there is, except maybe _one_ that attempts to redeclare a typedef to see if it compiles, and give a nicer error message.