------- Comment #5 from svfuerst at gmail dot com 2010-05-10 14:53 ------- The problem is that the list of these workarounds tends to increase with each release of gcc. (i.e. noclone was added in gcc 4.5) It would be nice if there was a single attribute to use that would work with all future versions of the compiler, no matter how smart it gets. For example, putting the function to benchmark into a separate compilation unit isn't guaranteed to work indefinitely. If ever lto is enabled by default in the future, it will then cause problems.
Think of it as the difference between "-O2", and the long list of command line optimization flags that -O2 represents. Eventually the complexity of adding that new flag is less than the complexity of the list of things it represents. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44053