GCC 4.9 Release Series – Changes, New Features, and Fixes
41–43 of 43 posts
Re: GCC 4.9 Release Series – Changes, New Features, and Fixes
#42Earlier quoted context omitted.
For the uninitiated: LTO stands for Link-time optimization and happens when the compiler merges/links all separately-compiled object files into one (executable or library). Although it seems obvious that this might be a good idea, why would it 1) use exorbitant amounts of memory; and 2) be "pretty awesome" instead of, say, mildly useful? edit: And both questions satisfactorily answered in the time it took me to perus…
Link-time optimization is not a very descriptive term. It's usually called whole-program or interprocedural optimization. Link-time optimization is just how it has been implemented. It uses a lot of memory because it requires keeping a representation of more or less the entire program in memory at one time, in a format which is amenable to analysis. It is not out of the ordinary for an optimizer's internal representa…
Re: GCC 4.9 Release Series – Changes, New Features, and Fixes
#43> A new C extension __auto_type provides a subset of the functionality of C++11 auto in GNU C. I wonder if anyone is working to standardize something like this? It would be way more useful than all those _s() functions they added to C11.
Yes, bounds checking are unnecessary, you don't need those _s() functions - NSA director
I also disagree with some of the interface choices, for example when strlcpy() fails it tells you how many characters you needed, not simply "error" as in strcpy_s. Also the use case for memcpy_s() is extremely limited. It just seems like the _s() functions were rushed and stuck in there without regard for what makes sense.