File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -111,6 +111,22 @@ post_install do |installer|
111111 config . build_settings [ 'GCC_PREPROCESSOR_DEFINITIONS' ] |= [ '$(inherited)' , "DEBUG=1" ]
112112 end
113113 end
114+
115+ # Workaround for Folly F14 bug exposed by Xcode 26:
116+ # Folly's F14SetFallback.h uses reinterpret_cast to access the private
117+ # internals of std::unordered_set — an unsafe hack that relies on a
118+ # specific memory layout. Xcode 26's libc++ might have changed that layout,
119+ # causing the debug-only assertion (FOLLY_SAFE_DCHECK at line 234)
120+ # to fail with SIGABRT.
121+ # Since F14SetFallback.h is a header-only template compiled by any
122+ # target that includes it, we define NDEBUG for ALL targets to set
123+ # folly::kIsDebug=false, disabling the assertion. This matches the
124+ # behavior of Release/Production builds which already define NDEBUG.
125+ if config . name == 'Debug'
126+ config . build_settings [ 'GCC_PREPROCESSOR_DEFINITIONS' ] ||= [ ]
127+ config . build_settings [ 'GCC_PREPROCESSOR_DEFINITIONS' ] |= [ '$(inherited)' , 'NDEBUG=1' ]
128+ end
129+
114130 end
115131 end
116132end
You can’t perform that action at this time.
0 commit comments