News for hackers. Stuff that matters.
Re:C23 is finished: Here is what is on the menu by afiori on Friday August 05, 2022 @08:10AM (#32354950)
The OS could do this for old binaries but no for old source. A lot of FOSS code has baked in assumptions about the max size of intmax_t and the compiler and the OS cannot do much about broken logic.
Re:C23 is finished: Here is what is on the menu by teddyh on Friday August 05, 2022 @08:30AM (#32355142)
> A lot of FOSS code has baked in assumptions about the max size of intmax_t

Well, that code is not, and was not ever, standards compliant.

Re:C23 is finished: Here is what is on the menu by shadowgovt on Friday August 05, 2022 @09:36AM (#32355940)
And it turns out that doesn't matter much in terms of adoption and popularity.

After all, if predictable behavior in the future across all possible configurations were a high priority requirement for the tools people use to make computers do things, neither C nor C++ would have gotten off the ground. Instead, people don't memorize the entire standard. They write code that works on their machine, publish it, fix the bugs when people say it doesn't work on their machine, and maybe converge towards something that is standards compliant but, more likely, they converge towards something that works on the standard implementation on 90% of the operating systems available.

Re:C23 is finished: Here is what is on the menu by kazinator on Friday August 05, 2022 @10:21AM (#32356474)
> A lot of FOSS code has baked in assumptions about the max size of intmax_t

Would you be able to name three examples?

Re:C23 is finished: Here is what is on the menu by afiori on Friday August 05, 2022 @05:24PM (#32362139)
I realize I used FOSS improperly, I had no reason to single it out; my comment reads like a critique of open source which was not my intention.

My intention was to make a good case for old code being compiled today by third parties.

But to my understanding intmax_t was introduced in C99, before widespread dominance of 64 bits platforms. So it would not be surprising that there exists code with lower assumptions about its size.

But actually I made also another mistake, the major problem had little to do with faulty logic and more to do with dynamic linking [0]

I will see myself out today.

[0] https://thephd.dev/intmax_t-hell-c++-c