aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Make the polymorphism macros less hacky in C++Chris Robinson2018-11-013-345/+327
| | | | | | In particular, it relies on derived structs using C++-style inheritence. Any implementation's source that's converted to C++ will consequently need to make that change.
* Workaround some issue with DEFINE_GUID in C++Chris Robinson2018-11-011-2/+4
|
* Use more C++ types where possibleChris Robinson2018-11-011-343/+290
|
* Use an anonymous namespace instead of static for some thingsChris Robinson2018-11-011-3/+7
|
* Preliminary conversion of the WASAPI backend to C++Chris Robinson2018-11-012-233/+223
| | | | A very sparse conversion. Will clean up more later after seeing what MSVC does.
* Remove unused CXX_FLAGS variableChris Robinson2018-11-011-4/+3
| | | | | The Visual Studio generators apparently don't like the $<COMPILE_LANGUAGE:...> expression. Since it's not actually used for anything at the moment, remove it.
* Fix a macro checkChris Robinson2018-11-011-2/+2
|
* Use a wrapper function to simplify a checkChris Robinson2018-11-011-8/+10
|
* Use perfect forwarding to initialize DevMap entriesChris Robinson2018-11-011-3/+4
|
* Simplify a couple loopsChris Robinson2018-11-011-40/+36
|
* Use the appropriate enums for standard atomicsChris Robinson2018-11-011-3/+3
|
* Avoid uniform initialization with referencesChris Robinson2018-11-011-2/+2
| | | | Also doesn't work with GCC 4.x
* Remove unused headerChris Robinson2018-11-011-1/+0
|
* Include a missing header for atomicChris Robinson2018-11-011-0/+1
|
* Fix another use of auto uniform initializationChris Robinson2018-11-011-1/+1
|
* Avoid all uniform initialization with autoChris Robinson2018-11-011-66/+64
| | | | | | Because of early C++11 (GCC 4.x) deficiencies, it's not interpreted correctly. Either declare the type name explicitly with uniform initization, or use auto with = initialization. It'll be fine when updating to GCC 5 or Clang 3.6.
* Avoid uniform initialization on auto for integer typesChris Robinson2018-10-311-17/+17
| | | | To work around a deficiency with early C++11 compilers (GCC 4.x).
* Convert the PulseAudio backend to C++Chris Robinson2018-10-312-598/+582
|
* Make a const array constexprChris Robinson2018-10-311-1/+1
|
* Move some extern inline declarations to CChris Robinson2018-10-312-5/+8
|
* Avoid assigning in an if statementChris Robinson2018-10-311-20/+20
|
* Add a missing <array> includeChris Robinson2018-10-311-0/+1
|
* Fix some backup atomic macrosChris Robinson2018-10-311-4/+4
|
* Convert alBuffer.c to C++Chris Robinson2018-10-312-381/+293
| | | | A test to ensure everything works.
* Add specializations for lock_guard and unique_lock to take almtx_tChris Robinson2018-10-311-1/+60
|
* Add a C++ ContextRef helper to manage a ALCcontext referenceChris Robinson2018-10-311-1/+35
|
* Clean up the DriverIface in its destructorChris Robinson2018-10-302-10/+13
|
* Add a missing include for arrayChris Robinson2018-10-301-0/+1
|
* Remove an unnecessary includeChris Robinson2018-10-301-1/+0
|
* Build the router with AppVeyorChris Robinson2018-10-301-1/+1
|
* Clean up the router's PtrIntMapChris Robinson2018-10-303-137/+96
|
* Use std::array instead of raw arraysChris Robinson2018-10-301-25/+19
|
* Use std::wstring in place of some fixed WCHAR arraysChris Robinson2018-10-302-114/+114
|
* Add a cmake option to static-link winpthreadChris Robinson2018-10-301-10/+37
|
* Use std::vector instead of custom dynamic arraysChris Robinson2018-10-303-149/+123
|
* Use C++ atomics and mutexes in the routerChris Robinson2018-10-304-99/+86
|
* Convert the router to C++Chris Robinson2018-10-304-94/+101
|
* Add extern "C" for router.hChris Robinson2018-10-301-0/+8
|
* Add a cmake option to static-link libstdc++Chris Robinson2018-10-291-1/+21
|
* Workaround C++ compatiility issues for atomic.hChris Robinson2018-10-291-5/+49
| | | | | | | | | | This isn't wholly correct since neither C11 or C++11 guarantee compatibility between atomic implementations. It's desired behavior and mostly works, see: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0943r1.html Alignment issues can be fixed with manual alignas() specifications, should the need arise.
* Fix some more headers for C++Chris Robinson2018-10-293-3/+3
|
* Fix some uses of RESTRICTChris Robinson2018-10-292-2/+2
|
* Update version for AppVeyorChris Robinson2018-10-291-1/+1
|
* Replace restrict with RESTRICTChris Robinson2018-10-2939-193/+193
|
* Simplify a couple more checksChris Robinson2018-10-291-19/+19
|
* Remove unnecessary uses of IN_IDE_PARSERChris Robinson2018-10-292-5/+2
|
* Add a couple casts for compiling with C++Chris Robinson2018-10-291-3/+3
| | | | Also avoid using __builtin_types_compatible_p, which seems broken with C++?
* Add another missing extern "C"Chris Robinson2018-10-291-0/+8
|
* Add a more C++-friendly VECTOR_RESIZEChris Robinson2018-10-291-0/+32
|
* Add a RESTRICT macro to help with C++ compatibilityChris Robinson2018-10-296-28/+31
|