News for hackers. Stuff that matters.
Re:Towards fearless SIMD, 7 years later by immibis on Sunday March 30, 2025 @08:13AM (#43523506)
And then it was a decision on the part of compiler vendors to define it to do insane things like time travel. Not the standards committee. Compiler vendors could have just as well defined it to wrap.
Re:Towards fearless SIMD, 7 years later by jenadine on Sunday March 30, 2025 @11:27AM (#43524919)
Some compiler decided to define overflow as wrapping. Such as GCC/clang when passing the -fwrapv flag.

Most projects don't use that flag though, why not?

Nite that if you assume -fwrapv, you're not writing in C anymore, you're using a vendor specific dialect.

Re:Towards fearless SIMD, 7 years later by immibis on Sunday March 30, 2025 @01:06PM (#43525689)
Everyone writes in vendor-specific dialects of C. Both POSIX and Win32 define behaviour that isn't defined in C (such as rules for unaligned pointers), while also undefining behaviour that is defined in C (such as what happens if you call fopen when one of the functions in your program is called "open"). Even on embedded platforms, there's no "main" function in freestanding C - your entry point is a vendor-specific extension.
Re:Towards fearless SIMD, 7 years later by eru on Sunday March 30, 2025 @11:46PM (#43530721)
> Everyone writes in vendor-specific dialects of C.

That's not true. Some people try to write fully spec compliant C programs that would behave the same on every compliant C compiler.

Re:Towards fearless SIMD, 7 years later by immibis on Wednesday April 02, 2025 @04:35AM (#43554711)
Do they define functions called "open"?
Re:Towards fearless SIMD, 7 years later by eru on Sunday March 30, 2025 @11:44PM (#43530708)
Time travel is a consequence of UB anywhere in an execution making the whole execution UB.

The committee could have said that UB only makes the rest of the execution UB, not what happened before.