Attempt to fix VS build by defining noexcept#227
Conversation
|
@BillyONeal any chance you can try this to see if it works for VS? I have no access to a VS machine. |
* Move ComputeStats call out of the reporters * Cleanup adjusted time calculations in reporters * Move ComputeBigO call out of reporters * Remove ReportComplexity interface using ReportRuns instead * Factor out reporting of basic context information * Attempt to fix GCC 4.6 build errors * Move ComputeStats to complexity.cc
|
I don't have super easy access to a VS2013 machine, and VS2015 supports conditional noexcept (so it works unmodified with the code in question), so it'll take a while for me to try. The build is already broken so if you don't want to wait for me to setup a VS2013 machine you may as well just merge it :) |
include/benchmark/macros.h
Outdated
| # define BENCHMARK_UNUSED | ||
| # define BENCHMARK_ALWAYS_INLINE __forceinline | ||
| # define BENCHMARK_NOEXCEPT | ||
| # define BENCHMARK_NOEXCEPT(x) |
There was a problem hiding this comment.
This should test _MSC_VER so that it uses conditional noexcept in 2015 or noexcept(false) cases will go to terminate() there.
|
@BillyONeal ok. i know i fixed something, at least. but i think there's more to do with the noexcept macro and cmake. |
|
@dominichamon You may need separate macros; I know in the STL we have _NOEXCEPT for unconditional noexcept and _NOEXCEPT_OP(x) for conditional noexcept |
|
slowest. edit compile loop. ever. |
|
Yeah; it's a real shame that AppVeyor is so much slower here than travis-ci :( |
|
i wish i could clean up the commit history here... @EricWF whenever you can, please persuade cla-bot that i'm not stealing your work :) |
|
OK, I got a VS2013 machine to test with. How much do you guys really care about 2013? :) |
|
If you want I can make a separate PR with changes to fix VS2013 |
|
yeah, i was seeing that on appveyor too. haven't managed to come up with a good solution yet that's clean. if you have the time, go for it. otherwise i'll keep hacking on this. |
|
@dominichamon How about something like https://github.com/BillyONeal/benchmark/commit/9e0c515c93fada906c3bfe6eb190f20932a393d6 ? |
|
@BillyONeal right, that's something close to what i had. the const_cast bothered me, and the version check (instead of BENCHMARK_OS_WINDOWS or COMPILER_MSVC) but it may be that this is what we need to do. you can land that independently of this PR, right? |
|
Yeah; I have to figure out how to fix the author on those commits first -- I had forgotten to setup my name correctly on the throwaway VS2013 VM where I made these changes :/ |
|
Sorry I just saw your comments today. I'm OK with all of this. |
|
@EricWF no problem. can you convince cla-bot? |
|
@googlebot I'm Okay with these commits. How do I convince you? |
|
@googlebot I signed it. |
|
@dominichamon Do you want me to turn that commit into a PR or are you still pursuing an alternate solution? |
|
@BillyONeal please do. i could do it but you wrote the commit already :) |
No description provided.