summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/ControlReference/ControlReference.cpp
diff options
context:
space:
mode:
authorPhil Christensen <philc@microsoft.com>2017-02-15 20:37:04 -0800
committerPhil Christensen <philc@microsoft.com>2017-02-15 20:37:04 -0800
commit2ed61b0ee1d18547d1dc662bf538c7eaab4886f7 (patch)
tree3a45255d4052264fd39d704c19ba3254194e549a /Source/Core/InputCommon/ControlReference/ControlReference.cpp
parentf80f7b6f9ceba62d26d6d3c9c7e0afa5ac53959a (diff)
C++ conformance fixes (MSVC /permissive-)
We (the Microsoft C++ team) use the dolphin project as part of our "Real world code" tests. I noticed a few issues in windows specific code when building dolphin with the MSVC compiler in its conformance mode (/permissive-). For more information on /permissive- see our blog https://blogs.msdn.microsoft.com/vcblog/2016/11/16/permissive-switch/. These changes are to address 3 different types of issues: 1) Use of qualified names in member declarations struct A {      void A::f() { } // error C4596: illegal qualified name in member declaration                      // remove redundant 'A::' to fix }; 2) Binding a non-const reference to a temporary struct S{};    // If arg is in 'in' parameter, then it should be made const. void func(S& arg){}    int main() {    //error C2664: 'void func(S &)': cannot convert argument 1 from 'S' to 'S &'    //note: A non-const reference may only be bound to an lvalue    func( S() );       //Work around this by creating a local, and using it to call the function    S s;    func( s ); } 3) Add missing #include <intrin.h> Because of the workaround you are using in the code you will need to include this. This is because of changes in the libraries and not /permissive-
Diffstat (limited to 'Source/Core/InputCommon/ControlReference/ControlReference.cpp')
0 files changed, 0 insertions, 0 deletions