back
user profile

uecker

2,147karma·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
Here some more bechmarking: https://codeberg.org/uecker/nested-functions-benchmarking …
7mo ago·view thread
comment
If the problem is getting the build tools to work in your old chroot, then the problem is still "people distributing programs that request the newest version", i.e. the build tool developers…
7mo ago·view thread
comment
Interesting! Can you tell me about your experience? How does it compare to the versions in N3654? (where this idea comes from) https://www.open-std.org/jtc1/sc22/wg14/ww…
7mo ago·view thread
comment
Ah no, sorry, my mistake. And it is still a storage classifier, but now (in C23) it is mentioned that it will become a type specifier.
7mo ago·view thread
comment
Indeed. C implementation could just use fat pointers, but it is unrealistic that they now break their ABI. Also the cost of fat pointers is higher when not needed. So the plan is to give them a new …
7mo ago·view thread
comment
C17 is indeed a bug fix release. C23 finally removed some features that were deprecated a long time ago already in the first standardized version (auto as storage classifier, K&R function definiti…
7mo ago·view thread
comment
See my other comment in this thread with my preliminary benchmarking results. I have a patched GCC with two new builtins __builtin_static_chain and __builtin_nested_code (needs a better name), that gi…
7mo ago·view thread
comment
I used to write expression template libraries, so I know what C++ can do. I just figured out I am a lot more productive in C than in C++ and that in the time I waste on C++ I can do a lot more in C. …
7mo ago·view thread
comment
So here are my preliminary benchmarks with my own implementation on an AMD EPYC 9334 32-Core processo. I need to double checks things - so take this with a grain of salt for now. Time is in seconds fo…
7mo ago·view thread
comment
Since it mentions my paper again: "It also brings into question whether a “lean” approach that grabs the “environment pointer” or the “stack frame” pointer directly, as in n3654 is a good idea to…
7mo ago·view thread
comment
Only answering the "side effect" part as the rest was answered already. What a side effect is, is explained in "5.1.2.3". Calling function is only a side effect when the function …
7mo ago·view thread
comment
Is it painful? Why? You need a build environment that has the old libraries. It does not have to be ancient, just exactly what you need.
7mo ago·view thread
comment
Hm right, sorry. Somehow this does not happen to me (maybe because of ublock)
7mo ago·view thread
comment
You should read "7.1.4 1 Use of library functions". Also "calling a function" is not a side effect.
7mo ago·view thread
comment
There is no ABI problem. The problem is a lack of standardization for important APIs and infrastructure. There once was a serious effort to solve this: the Linux Standard Base: https://en.…
7mo ago·view thread
comment
It should not be necessary to freeze it. glibc is already extremely backwards compatible. The problem is people distributing programs that request the newest version even though they do not really r…
7mo ago·view thread
comment
This is scary, the issue in safe-critical code is not leaks (which Rust also does not necessarily prevent), but accidental resource exhaustion. This is also why JPL forbids recursion.
7mo ago·view thread
comment
Since it has UB it is easy for the compiler to guarantee that the resulting code is semantics-preserving: Anything the code does is OK.
7mo ago·view thread
comment
I agree that compilers were too aggressive in exploiting UB, but this is not the topic of this thread which has nothing to do with UB. But also the situation with UB is in practice not too bad. Whil…
7mo ago·view thread
comment
A modern compiler may also completely remove malloc / free pairs and move the computation to the stack. And I do not see what this has to do with C, it should be the same for most languages. C …
7mo ago·view thread
comment
Because it is a dead store. Removing dead stores does not sound ridiculous to me and neither is it to anybody using an optimizing compiler in the last decades.
7mo ago·view thread
comment
Your problem is not the C committee but your lack of understanding how optimizing compilers work. WG14 could, of course, specify that a compiler has do exactly what you tell it to do. And in fact, ev…
7mo ago·view thread
comment
I don't see why? The C committee gave you memset_explicit. But note that there is still no guarantee that information can not leak. This is generally a very hard problem as information can leak …
7mo ago·view thread
comment
The charter is not set by ISO. It also has security on it since C11 and was rewritten for C2Y with security also mentioned explicitly. Compiler vendors are active as part of ISO, but the reality is si…
7mo ago·view thread
comment
As I said before, insulting volunteers and also misrepresenting what is in the power of an ISO group of experts is bad style IMHO, but I also think you are misguided in thinking that moving away from …
7mo ago·view thread
comment
These do not seem to be the safety improvements for C that you requested.
7mo ago·view thread
comment
I am looking forward to your contributions.
7mo ago·view thread
comment
Yes, it is a bit of mess. We started to make this more precise in the C standard when those expression have to be evaluated, but there are still issues. And when this is involved extensions there are…
7mo ago·view thread
comment
Maybe I fill find the time to clean it up and make it public. But did not find VM-types difficult to implement, the type just depends on some run-time value, so at the point in time where the size ex…
7mo ago·view thread
comment
I know, and there are chibicc, kefir, etc. .. and I have my own experimental C compiler.
7mo ago·view thread