JohnnyonFlame / gmloader-next

A compatibility layer for the Android GameMaker Runtime.
GNU General Public License v2.0
9 stars 6 forks source link

build error from gcc8 + clang13 #2

Closed dokoma closed 7 months ago

dokoma commented 7 months ago

Sorry to bother you and paste the mass here ! but I get error with native aarch64 build:

gcc --version gcc (Debian 8.3.0-6) 8.3.0

uname -a
Linux ee19b7088f10 6.6.16-linuxkit #1 SMP PREEMPT_DYNAMIC Fri Feb 16 11:55:08 UTC 2024 aarch64 GNU/Linux

make -f Makefile.gmloader LLVM_FILE=/usr/lib/llvm-13/lib/libclang-13.so.1

May I get your some help?

---- ERROR INFO BELOW ------------


./thunks/thunk_gen.h:125:41: error: 'remove_cvref_t' is not a member of 'std'
 struct Thunk : ThunkImpl<Thunk<F>, std::remove_cvref_t<decltype(F)>>
                                         ^~~~~~~~~~~~~~
./thunks/thunk_gen.h:125:41: note: suggested alternative: 'remove_cv_t'
 struct Thunk : ThunkImpl<Thunk<F>, std::remove_cvref_t<decltype(F)>>
                                         ^~~~~~~~~~~~~~
                                         remove_cv_t
./thunks/thunk_gen.h:125:67: error: template argument 2 is invalid
 struct Thunk : ThunkImpl<Thunk<F>, std::remove_cvref_t<decltype(F)>>
                                                                   ^~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alDopplerFactor; T = Thunk<alDopplerFactor>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:40:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alDopplerFactor>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alDopplerFactor>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alDopplerVelocity; T = Thunk<alDopplerVelocity>; uintptr_t = long 
unsigned int]':
thunks/openal/openal.cpp:41:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alDopplerVelocity>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alDopplerVelocity>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alSpeedOfSound; T = Thunk<alSpeedOfSound>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:42:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alSpeedOfSound>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alSpeedOfSound>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alDistanceModel; T = Thunk<alDistanceModel>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:43:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alDistanceModel>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alDistanceModel>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alEnable; T = Thunk<alEnable>; uintptr_t = long unsigned int]':   
thunks/openal/openal.cpp:44:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alEnable>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alEnable>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alDisable; T = Thunk<alDisable>; uintptr_t = long unsigned int]': 
thunks/openal/openal.cpp:45:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alDisable>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alDisable>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alGetBooleanv; T = Thunk<alGetBooleanv>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:46:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alGetBooleanv>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alGetBooleanv>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alGetIntegerv; T = Thunk<alGetIntegerv>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:47:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alGetIntegerv>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alGetIntegerv>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alGetFloatv; T = Thunk<alGetFloatv>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:48:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alGetFloatv>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alGetFloatv>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alGetDoublev; T = Thunk<alGetDoublev>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:49:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alGetDoublev>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alGetDoublev>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alListenerf; T = Thunk<alListenerf>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:50:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alListenerf>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alListenerf>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alListener3f; T = Thunk<alListener3f>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:51:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alListener3f>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alListener3f>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alListenerfv; T = Thunk<alListenerfv>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:52:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alListenerfv>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alListenerfv>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alListeneri; T = Thunk<alListeneri>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:53:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alListeneri>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alListeneri>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alListener3i; T = Thunk<alListener3i>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:54:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alListener3i>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alListener3i>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alListeneriv; T = Thunk<alListeneriv>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:55:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alListeneriv>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alListeneriv>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alGetListenerf; T = Thunk<alGetListenerf>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:56:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alGetListenerf>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alGetListenerf>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alGetListener3f; T = Thunk<alGetListener3f>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:57:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alGetListener3f>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alGetListener3f>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alGetListenerfv; T = Thunk<alGetListenerfv>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:58:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alGetListenerfv>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alGetListenerfv>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alGetListeneri; T = Thunk<alGetListeneri>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:59:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alGetListeneri>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alGetListeneri>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alGetListener3i; T = Thunk<alGetListener3i>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:60:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alGetListener3i>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alGetListener3i>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alGetListeneriv; T = Thunk<alGetListeneriv>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:61:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alGetListeneriv>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alGetListeneriv>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alGenSources; T = Thunk<alGenSources>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:62:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alGenSources>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alGenSources>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alDeleteSources; T = Thunk<alDeleteSources>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:63:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alDeleteSources>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alDeleteSources>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alSourcef; T = Thunk<alSourcef>; uintptr_t = long unsigned int]': 
thunks/openal/openal.cpp:64:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alSourcef>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alSourcef>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alSource3f; T = Thunk<alSource3f>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:65:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alSource3f>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alSource3f>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alSourcefv; T = Thunk<alSourcefv>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:66:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alSourcefv>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alSourcefv>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alSourcei; T = Thunk<alSourcei>; uintptr_t = long unsigned int]': 
thunks/openal/openal.cpp:67:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alSourcei>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alSourcei>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alSource3i; T = Thunk<alSource3i>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:68:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alSource3i>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alSource3i>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alSourceiv; T = Thunk<alSourceiv>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:69:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alSourceiv>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alSourceiv>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alGetSourcef; T = Thunk<alGetSourcef>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:70:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alGetSourcef>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alGetSourcef>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alGetSource3f; T = Thunk<alGetSource3f>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:71:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alGetSource3f>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alGetSource3f>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alGetSourcefv; T = Thunk<alGetSourcefv>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:72:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alGetSourcefv>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alGetSourcefv>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alGetSourcei; T = Thunk<alGetSourcei>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:73:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alGetSourcei>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alGetSourcei>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alGetSource3i; T = Thunk<alGetSource3i>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:74:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alGetSource3i>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alGetSource3i>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alGetSourceiv; T = Thunk<alGetSourceiv>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:75:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alGetSourceiv>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alGetSourceiv>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alSourcePlayv; T = Thunk<alSourcePlayv>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:76:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alSourcePlayv>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alSourcePlayv>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alSourceStopv; T = Thunk<alSourceStopv>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:77:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alSourceStopv>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alSourceStopv>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alSourceRewindv; T = Thunk<alSourceRewindv>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:78:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alSourceRewindv>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alSourceRewindv>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alSourcePausev; T = Thunk<alSourcePausev>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:79:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alSourcePausev>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alSourcePausev>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alSourcePlay; T = Thunk<alSourcePlay>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:80:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alSourcePlay>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alSourcePlay>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alSourceStop; T = Thunk<alSourceStop>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:81:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alSourceStop>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alSourceStop>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alSourceRewind; T = Thunk<alSourceRewind>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:82:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alSourceRewind>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alSourceRewind>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alSourcePause; T = Thunk<alSourcePause>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:83:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alSourcePause>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alSourcePause>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alSourceQueueBuffers; T = Thunk<alSourceQueueBuffers>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:84:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alSourceQueueBuffers>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alSourceQueueBuffers>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alSourceUnqueueBuffers; T = Thunk<alSourceUnqueueBuffers>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:85:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alSourceUnqueueBuffers>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alSourceUnqueueBuffers>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alGenBuffers; T = Thunk<alGenBuffers>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:86:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alGenBuffers>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alGenBuffers>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alDeleteBuffers; T = Thunk<alDeleteBuffers>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:87:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alDeleteBuffers>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alDeleteBuffers>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alBufferData; T = Thunk<alBufferData>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:88:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alBufferData>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alBufferData>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alBufferf; T = Thunk<alBufferf>; uintptr_t = long unsigned int]': 
thunks/openal/openal.cpp:89:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alBufferf>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alBufferf>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alBuffer3f; T = Thunk<alBuffer3f>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:90:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alBuffer3f>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alBuffer3f>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alBufferfv; T = Thunk<alBufferfv>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:91:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alBufferfv>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alBufferfv>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alBufferi; T = Thunk<alBufferi>; uintptr_t = long unsigned int]': 
thunks/openal/openal.cpp:92:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alBufferi>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alBufferi>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alBuffer3i; T = Thunk<alBuffer3i>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:93:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alBuffer3i>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alBuffer3i>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alBufferiv; T = Thunk<alBufferiv>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:94:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alBufferiv>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alBufferiv>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alGetBufferf; T = Thunk<alGetBufferf>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:95:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alGetBufferf>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alGetBufferf>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alGetBuffer3f; T = Thunk<alGetBuffer3f>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:96:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alGetBuffer3f>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alGetBuffer3f>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alGetBufferfv; T = Thunk<alGetBufferfv>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:97:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alGetBufferfv>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alGetBufferfv>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alGetBufferi; T = Thunk<alGetBufferi>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:98:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alGetBufferi>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alGetBufferi>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alGetBuffer3i; T = Thunk<alGetBuffer3i>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:99:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alGetBuffer3i>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alGetBuffer3i>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alGetBufferiv; T = Thunk<alGetBufferiv>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:100:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alGetBufferiv>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alGetBufferiv>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alcGetIntegerv; T = Thunk<alcGetIntegerv>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:101:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alcGetIntegerv>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alcGetIntegerv>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alcCaptureStart; T = Thunk<alcCaptureStart>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:102:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alcCaptureStart>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alcCaptureStart>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alcCaptureStop; T = Thunk<alcCaptureStop>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:103:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alcCaptureStop>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alcCaptureStop>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alcCaptureSamples; T = Thunk<alcCaptureSamples>; uintptr_t = long 
unsigned int]':
thunks/openal/openal.cpp:104:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alcCaptureSamples>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alcCaptureSamples>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alIsEnabled; T = Thunk<alIsEnabled>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:105:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alIsEnabled>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alIsEnabled>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alGetBoolean; T = Thunk<alGetBoolean>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:106:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alGetBoolean>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alGetBoolean>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alGetInteger; T = Thunk<alGetInteger>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:107:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alGetInteger>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alGetInteger>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alGetFloat; T = Thunk<alGetFloat>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:108:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alGetFloat>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alGetFloat>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alGetDouble; T = Thunk<alGetDouble>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:109:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alGetDouble>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alGetDouble>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alGetError; T = Thunk<alGetError>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:110:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alGetError>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alGetError>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alIsExtensionPresent; T = Thunk<alIsExtensionPresent>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:111:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alIsExtensionPresent>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alIsExtensionPresent>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alGetProcAddress; T = Thunk<alGetProcAddress>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:112:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alGetProcAddress>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alGetProcAddress>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alGetEnumValue; T = Thunk<alGetEnumValue>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:113:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alGetEnumValue>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alGetEnumValue>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alIsSource; T = Thunk<alIsSource>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:114:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alIsSource>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alIsSource>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alIsBuffer; T = Thunk<alIsBuffer>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:115:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alIsBuffer>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alIsBuffer>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alcOpenDevice; T = Thunk<alcOpenDevice>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:116:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alcOpenDevice>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alcOpenDevice>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alcCloseDevice; T = Thunk<alcCloseDevice>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:117:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alcCloseDevice>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alcCloseDevice>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alcGetError; T = Thunk<alcGetError>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:118:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alcGetError>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alcGetError>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alcIsExtensionPresent; T = Thunk<alcIsExtensionPresent>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:119:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alcIsExtensionPresent>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alcIsExtensionPresent>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alcGetProcAddress; T = Thunk<alcGetProcAddress>; uintptr_t = long 
unsigned int]':
thunks/openal/openal.cpp:120:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alcGetProcAddress>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alcGetProcAddress>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alcGetEnumValue; T = Thunk<alcGetEnumValue>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:121:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alcGetEnumValue>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alcGetEnumValue>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alcCaptureOpenDevice; T = Thunk<alcCaptureOpenDevice>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:122:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alcCaptureOpenDevice>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alcCaptureOpenDevice>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alcCaptureCloseDevice; T = Thunk<alcCaptureCloseDevice>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:123:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alcCaptureCloseDevice>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alcCaptureCloseDevice>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alcProcessContext; T = Thunk<alcProcessContext>; uintptr_t = long 
unsigned int]':
thunks/openal/openal.cpp:124:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alcProcessContext>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alcProcessContext>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alcSuspendContext; T = Thunk<alcSuspendContext>; uintptr_t = long 
unsigned int]':
thunks/openal/openal.cpp:125:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alcSuspendContext>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alcSuspendContext>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alcDestroyContext; T = Thunk<alcDestroyContext>; uintptr_t = long 
unsigned int]':
thunks/openal/openal.cpp:126:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alcDestroyContext>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alcDestroyContext>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alcCreateContext; T = Thunk<alcCreateContext>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:127:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alcCreateContext>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alcCreateContext>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alcMakeContextCurrent; T = Thunk<alcMakeContextCurrent>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:128:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alcMakeContextCurrent>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alcMakeContextCurrent>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alcGetCurrentContext; T = Thunk<alcGetCurrentContext>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:129:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alcGetCurrentContext>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alcGetCurrentContext>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
./thunks/thunk_gen.h: In instantiation of 'constexpr uintptr_t select_either() [with auto F = alcGetContextsDevice; T = Thunk<alcGetContextsDevice>; uintptr_t = long unsigned int]':
thunks/openal/openal.cpp:130:5:   required from here
./thunks/thunk_gen.h:152:5: error: 'needs_thunking' is not a member of 'Thunk<alcGetContextsDevice>'
     if constexpr (T::needs_thunking)
     ^~
./thunks/thunk_gen.h:153:16: error: 'bridge' is not a member of 'Thunk<alcGetContextsDevice>'
         return (uintptr_t)T::bridge;
                ^~~~~~~~~~~~
make: *** [Makefile.gmloader:68: build/aarch64-linux-gnu/thunks/openal/openal.cpp.o] Error 1```
JohnnyonFlame commented 7 months ago

The thunk generator is rather complicated and requires GCC 9+ (Lowest supported OS is Ubuntu 19.10). I have no plans to support GCC 8, but I'll accept PRs with fixes for this.

Maybe you can work around with the following:

// from: https://en.cppreference.com/w/cpp/types/remove_cvref
template<class T>
struct remove_cvref
{
    using type = std::remove_cv_t<std::remove_reference_t<T>>;
};

template< class T >
using remove_cvref_t = remove_cvref<T>::type;

Good Luck!

JohnnyonFlame commented 7 months ago

You're trying to get this to run on the TrimUI correct? You might want to compile with a newer GCC and then use the -static-libstdc++, or just update gcc/glibc/libstdc++ on your toolchain.

Keep in mind gmloader-next is in alpha stages, and while it seems to work fine, it is missing a lot of features and optimizations, your mileage may vary!

dokoma commented 7 months ago

Thank you very much! I will try,and you catched that I am trying to run it on TrimUI , lol.