Bug 270963
Summary: | [GTK] [2.42.5] SharedContextMutex.cpp: error: inlining failed in call to ‘always_inline’ | ||
---|---|---|---|
Product: | WebKit | Reporter: | Alberto Garcia <berto> |
Component: | WebKitGTK | Assignee: | Nobody <webkit-unassigned> |
Status: | RESOLVED INVALID | ||
Severity: | Normal | CC: | bugs-noreply |
Priority: | P2 | ||
Version: | Other | ||
Hardware: | Unspecified | ||
OS: | Unspecified |
Alberto Garcia
Both WebKitGTK and WPE WebKit 2.42.5 have recently stopped building in Debian unstable:
----------------------------------------
/<<PKGBUILDDIR>>/Source/ThirdParty/ANGLE/src/libANGLE/SharedContextMutex.cpp:219:41: error: inlining failed in call to ‘always_inline’ ‘egl::SharedContextMutex<Mutex>* egl::SharedContextMutex<Mutex>::doTryLock() [with Mutex = std::mutex]’: recursive inlining
219 | ANGLE_INLINE SharedContextMutex<Mutex> *SharedContextMutex<Mutex>::doTryLock()
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/<<PKGBUILDDIR>>/Source/ThirdParty/ANGLE/src/libANGLE/SharedContextMutex.cpp:241:41: error: inlining failed in call to ‘always_inline’ ‘egl::SharedContextMutex<Mutex>* egl::SharedContextMutex<Mutex>::doLock() [with Mutex = std::mutex]’: recursive inlining
241 | ANGLE_INLINE SharedContextMutex<Mutex> *SharedContextMutex<Mutex>::doLock()
| ^~~~~~~~~~~~~~~~~~~~~~~~~
----------------------------------------
This is due to the ANGLE_INLINE macro in Source/ThirdParty/ANGLE/src/common/angleutils.h:
#if defined(NDEBUG) && ANGLE_HAS_ATTRIBUTE_ALWAYS_INLINE
# define ANGLE_INLINE inline __attribute__((always_inline))
#elif defined(NDEBUG) && ANGLE_HAS___FORCEINLINE
# define ANGLE_INLINE __forceinline
#else
# define ANGLE_INLINE inline
#endif
I'm building WebKit with NDEBUG so ANGLE_INLINE is 'inline __attribute__((always_inline))'
If I stop using NDEBUG or otherwise force ANGLE_INLINE to simply be 'inline' then this builds fine.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Alberto Garcia
Never mind, this was caused because I was accidentally using -Werror=implicit-function-declaration for C++ files.
Closing as invalid.