back
user profile
uecker
2,141karma·1,822submissions·April 14, 2020
about
Computational Magnetic Resonance Imaging, Real-time Magnetic Resonance Imaging, GCC Contributor, BART Toolbox, Member of ISO C WG14
recent activity (1,822 total)
comment
The spec says there are no restriction on the behavior. But now going on saying that when there are no restriction on behavior the term "behavior" now includes impossible things like time tr…
comment
Every technical text needs to be read using some common sense. Once you give this away, you can justify everything.
comment
I agree with this logic. But note there is one caveat: Observable behavior that has already happened when the condition for UB is encountered can then not be affected.
The C++ committee later clarifie…
comment
I fully agree with this. For example that assigning a freed pointer in C is UB is not because of optimization, but because there were real world architectures with memory segmentation were loading su…
comment
The ANSI C committee certainly did not break this. UB always meant that ANSI C simply did not define what happens in this specific case. This could mean "whatever the CPU does" or "what…
comment
I agree that this does not follow from the wording in the standard and I am relatively sure that this was originally not implied. But this view point is repeated quite often nowadays. I think this is…
comment
We have bounds-checkable arrays already since C99: int ( p)[n] = malloc(sizeof p);
(*p)[i] = 1; // run-time bounds check https://godbolt.org/z/vb8dqx1od But yes, havin…
comment
If you add warnings, it will also tell you that the ARR_LEN macro is wrong...
comment
You need to use UBSan, then you get the bounds checking in GCC. I added this in 2015. https://godbolt.org/z/8ncEK3K5b …
comment
I am relatively sure we will end up adding a fat pointer next round. So long, you can look at my experiments using a struct type here:
https://github.com/uecker/noplate/ The…
comment
GCC has stack probing.
comment
I was tangentially involved in this and I think this was misguided.
comment
As someone tangentially involved in this, I think this was misguided. But Linus also was not happy about code generation with VLAs.
comment
I think VLAs were a very good idea and they were not made optional because somebody thought they were a bad idea, but simply to make C11 easier to implement. VLA can be dangerous when the size depend…
comment
I find them very useful and they often make the code cleaner. A dynamic run-time bound for a buffer can also make the code safer. VLAs are only dangerous when implemented naively (allocated on the s…
comment
Note that we are already looking into this. I had some proposals for C23 on how to improve arrays in C, but I could not finish this in time. But help is welcome.
comment
The question here is why this did not already exist as an extension in some compilers. Getting something standardized that exists already in compilers and is used is far easier.
comment
We took N3007 which does not have inference on return etc.
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3007.htm …
comment
Can you explain what aspect of C from PDP-11 was problematic for Cell?
comment
We are still fixing bugs in restrict...
comment
Counter argument: In contrast to Wayland, X is well engineered with a beautiful core protocol and an extension scheme that let it evolve in a modular way for 40 years. I hate that Linux regresses si…
comment
Xorg network code is considered well audited and very few problems have been found over the years. Please stop making stuff up.
comment
X has trusted on non-trusted clients. The problem is that non-trusted clients were not allowed to use some important extensions such as Xrender. This could be changed though and largely solve this pro…
comment
Why eight?
comment
C is an excellent language for scientific computing. A lot of low-level and high-level libraries for scientific computing are written in C. Toolchain support is excellent. It is maybe less good a pu…
comment
Do you have a pointer? I know they rewrote Firefox components, but I am not aware of a real study with a 1:1 comparison.
comment
(Ok, I should read the text before sending.)
comment
I think the big question is, whether two teams writing software on a fixed budget using Rust or C using modern tools and best practices would end up with a safer product. I think this is not clear at …
comment
You can already get some bounds checking, although more work is needed: https://godbolt.org/z/abx7KE44z …
comment
Yes, it is really heart breaking how the Linux desktop is regressing. Instead of polishing the experience and focusing replacing Xlib with XCB which would make it possible to have excellent native pe…