Compiling ScummVM/C++11 Readiness
Jump to navigation
Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
How to test
Run ./configure --enable-c++11 --enable-test-c++11
.
Results
Platform | Class Enum | Final Class | Final Function | Variadic | Type Aliases | Init Lists1 | Init Lists 2 | Ranged loops | Lambdas | Space in nested templates | Alt functions syntax | Static Init | Explicit Conversion | Move Semantics | Deleted Functions |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
AmigaOS gcc 8.3.0 [1] | Yes | Yes | Yes | Yes | Yes | - | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
iOS3 clang 3.7.1 | Yes | Yes | Yes | Yes | Yes | Yes[2] | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
macOS gcc 4.0.1 (PPC) | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No |
macOS clang 6.0 (i386) | Yes | Yes | Yes | Yes | Yes | Yes[2] | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
macOS clang 9.0 (x86_64) | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
macOS clang 11.0 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Mingw-w64 gcc 10.1.0 (x86_64) | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Mingw-w64 clang 10.0.0 (x86_64) | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
PSP gcc 4.9.3 (mips) [3] | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? |
Switch gcc 10.1.0 (arm_64) [4][5] | Yes | Yes | Yes | Yes | Yes | - | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Vita (psp2) gcc 9.1.0 (arm_32) [6] | Yes | Yes | Yes | Yes | Yes | - | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Visual Studio 2019 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
Notes
- ↑ --enable-c++11 breaks compilation in base/commandLine.cpp
- ↑ 2.0 2.1 It only works with the std::initializer_list replacement.
- ↑ --enable-c++11 breaks compilation in backends/platform/psp/default_display_client.cpp with error 'bzero' was not declared in this scope. C++11 support is not enabled by default. Compiler fails in default_display_client.cpp before reaching the c++11 test file.
- ↑ 10.1.0 was tested locally using latest toolchain. Buildbot still uses 8.6.0-based toolchain, which was not tested.
- ↑ --enable-c++11 breaks compilation in backends/midi/timidity.cpp with multiple errors: 'u_char' was not declared in this scope, 'seqbuf' was not declared in this scope, 'usleep' was not declared in this scope. C++11 support is enabled by default, though, so the flag is not needed.
- ↑ --enable-c++11 breaks compilation in backends/fs/posix/posix-iostream.cpp with error 'fileno' was not declared in this scope. C++11 support is enabled by default, though, so the flag is not needed.