Re:Being Sneaky in C
by TheLoneWolfling on Friday June 12, 2015 @10:02PM
(#9709581)
I never said you couldn't get a particular compiler to. Or indeed, all current compilers.
I am saying that it's impossible to do so and remain in the realm of portable C / C++.
There is a distinction.
Re:Being Sneaky in C
by TheLoneWolfling on Friday June 12, 2015 @10:13PM
(#9709599)
Also: isn't that a bug? Is there something in a C / C++ standard that states that a function named "memcpy" (for example) is necessarily the normal function?
Compilers have been doing this for a long time. The optimizations that this enables are essential for performance. They shouldn't stop; if the spec prohibits it, the spec should change (and if it doesn't, the compilers should ignore the spec).
Re:Being Sneaky in C
by TheLoneWolfling on Saturday June 13, 2015 @01:44AM
(#9710044)
Good to know about the first and last part.
And as for the second part... Meh. I don't see any optimizations that hard-coding calling something named "memcpy" (or whatever) does that cannot be enabled by looking at the actual code that gets linked. Albeit with more difficulty.
(That said, I think TheLoneWolfling is being too strong with his/her claims. You can get modern compilers to avoid dangerous optimizations; it's just not for the faint of heart.)